mysql concat и de-concat

Я не знаю, как объяснить мою проблему …

Это мой sql запрос:

SELECT DISTINCT CONCAT (nompropre, ' ', Auteur, ' de ', localite) AS auteur FROM Actes ORDER BY nompropre

Его результаты передаются на выбор в форме, показывая такие вещи:

<option value=" seigneur de Witon"> seigneur de Witon</option>
<option value=" sénéchal de Hainaut"> sénéchal de Hainaut</option>
<option value=" voir-jurés de Tournai"> voir-jurés de Tournai</option>
<option value="Adalbéron évêque de Verdun">Adalbéron évêque de Verdun</option>
<option value="Adam évêque de Morinie">Adam évêque de Morinie</option>

Проблема заключается в том, что при отправке этой формы должен получиться следующий SQL-запрос, в котором будет выбрана последняя строка из указанных выше параметров:

SELECT * FROM Actes, Bibliographie WHERE id = idBiblio AND nompropre = 'Adam' and Auteur = 'évêque' AND localite = 'Morinie';

Мне нужно деконкатировать параметры выбора, зная, что и nompropre, и / или localite могут быть пустыми строками …

Любые подсказки …?

1

Решение

Взрыв должен сделать задачу:

$str = ' seigneur de Witon';
$parts = explode (' ', $str);

echo '<pre>';
print_r($parts);

/*
returns:
Array
(
[0] =>
[1] => seigneur
[2] => de
[3] => Witon
)

OR if the name is given:

Array
(
[0] => Peter
[1] => seigneur
[2] => de
[3] => Witon
)
*/

SQL-запрос будет:

$sql = "SELECT * FROM Actes, Bibliographie WHERE id = idBiblio " . (!empty($parts[0]) ? "AND nompropre = '" . $parts[0] . "'" : '') . " and Auteur = '" . $parts[1] . "' AND localite = '" . $parts[3] . "'";

PS: не забудьте санировать данные, используйте mysqli_real_escape_string функция для строк.

0

Другие решения

Других решений пока нет …