Как сделать ORDER BY с информацией, которая может изменяться?
Я взяв список статей, базы данных, и я хочу иметь одну страницу инструмент, который позволит мне перечислить их в порядке даты, которые были написаны или в алфавитном порядке.
Здесь у меня есть моя функция чтения банка:
$sel = DBRead('artigos', null ,'*', 'ORDER BY data ASC');
Если я оставляю data
листинг производится начиная за сообщение старый, если я изменю nome
список производится в алфавитном порядке.
Я создал форму в HTML с помощью "select"
и два "options" внутри и с помощью метода POST, я могу получить значение одного из этих
"option's" и поместить в переменную $mudanca
.
, Но если я помещаю переменную в функцию чтения дает ошибку:
$sel = DBRead('artigos', null ,'*', 'ORDER BY $mudanca ASC');
какие-Либо предложения другой?
я Добавляю что-то, что может быть полезно кому-то, что создаете то же самое:
<?php
$mudanca="data";
if ($_SERVER["REQUEST_METHOD"] == "POST"){
$mudanca = $_POST['mudar'];
}
?>
например, пусть переменная по умолчанию setada, потому что до того, как метод post вестись $совершает была бы пустой, вызывающих ошибку в ORDER BY $совершает.
1 answers
Поместите так:
$sel = DBRead('artigos', null ,'*', "ORDER BY $mudanca ASC");
То есть двойные кавычки!
Заключено в одинарные кавычки в PHP не интерпретирует ничего, он ставит то, что в ней находится, как только текст, в то время как в двойные кавычки, если у вас есть переменные PHP, например, он будет интерпретировать и покажу вам результат.
$texto = 'imprime texto';
echo '$texto'; // saída -> $texto
echo "$texto"; // saída -> imprime texto
Пример Онлайн: Ideone
Или
Сцепление
$sel = DBRead('artigos', null ,'*', 'ORDER BY '.$mudanca.' ASC');
Приятного чтения.