#php #mysql #post #get #where
#php #mysql #Публикация #получить #where-предложение
Вопрос:
Я пытаюсь создать документ отчета о продажах с использованием php и подключить его из базы данных mysql.
Как я могу использовать where group by order (запрос mysql) с помощью метода PHP get?
Я мог бы просто использовать SELECT и WHERE, но как добавить GROUP BY и УПОРЯДОЧИТЬ ПО запросу?
$date=$_GET['date'];
$query=mysql_query("select * from product_sold where date=" . $date);
while($lihat=mysql_fetch_array($query)){
$pdf->Cell(1, 0.8, $no , 1, 0, 'C');
$pdf->Cell(3, 0.8, $lihat['date'],1, 0, 'C');
$pdf->Cell(6, 0.8, $lihat['product'],1, 0, 'C');
$pdf->Cell(3, 0.8, $lihat['quantity'], 1, 0,'C');
$pdf->Cell(4, 0.8, "Rp. ".number_format($lihat['price'])." ,-", 1, 0,'C');
Комментарии:
1. dev.mysql.com/doc/refman/8.0/en/select.html
2. Это базовый SQL и на самом деле не имеет ничего общего с PHP
3. w3schools.com/sql/sql_groupby.asp
4. … НО ваше взаимодействие с PHP оставляет желать лучшего. Не используйте
mysql_
функции, не вводите пользовательский ввод в SQL и не заключайте строки в кавычки.5. В чем именно проблема? Есть ли что-нибудь, что не работает с данным кодом?
Ответ №1:
Вы используете GROUP BY и ORDER BY в конце ваших операторов sql, подобных этому…
"SELECT * FROM table WHERE date = $date ORDER BY desiredCategory "
Кроме того, вам ДЕЙСТВИТЕЛЬНО нужно использовать подготовленные операторы. Вы ШИРОКО ОТКРЫТЫ для атак sql-инъекций, как вы это делаете.
Подробнее о GROUP BY
Подробнее о ORDER BY
Подробнее о подготовленных операторах
Ответ №2:
Вы можете добавить GROUP BY после фильтров WHERE, затем вы можете добавить ORDER BY .
SELECT *
FROM product_sold
WHERE date = '$date'
GROUP BY id
ORDER BY product ASC
И будьте в курсе sql-инъекций, как сказал @jtylerm.