Как получить запись многих идентификаторов по одному запросу - PullRequest
0 голосов
/ 11 января 2019

Это мой стол. При нажатии кнопки «Готово» он выбирает идентификаторы отмеченных флажков и отображается в текстовом поле. При нажатии кнопки PDF она отправляет текстовое поле на другую страницу:

enter image description here

Так что я хочу получить подробную информацию обо всех идентификаторах, но мой код показывает только результат первого идентификатора

if (isset($_POST['allids'])) {
 $query = "SELECT * FROM tbl_order
 WHERE order_id = '".$_POST['allids']."'";
 $result = mysqli_query($conn, $query);

 while($row = mysqli_fetch_array($result))
 {
  echo $row['order_no']."</br>";
  echo $row['ordercustomer_name']."</br>";
 }

}

Это моя форма

<form method="POST" action="fetch3.php" target="_blank">
 <div class="container" id="order_data">

</div>

<div>
  <h4><strong>GENERATE REPORT</strong></h4>      
  <input type="text" name="allids" id="allids">
  <button type="button" class="btn btn-primary btn-lg btn_done" name="btn_done" id="btn_done"><i class='fa'></i> DONE</button>     
  <button type="submit" class="btn btn-warning btn-lg btn_pdf" name="btn_pdf" id="btn_pdf"><i class='fa fa-file-pdf-o'></i> PDF</button>     
</div>
</form>

Ответы [ 3 ]

0 голосов
/ 11 января 2019

Вы можете получить его с помощью:

if (isset($_POST['allids'])) {
 $query = "SELECT * FROM tbl_order
 WHERE order_id in('".$_POST['allids']."')";
 $result = mysqli_query($conn, $query);

 while($row = mysqli_fetch_array($result))
 {
  echo $row['order_no']."</br>";
  echo $row['ordercustomer_name']."</br>";
 }

}
0 голосов
/ 11 января 2019

теперь его работа в порядке, спасибо всем вам

$id = $_POST['allids'];

$query = "SELECT * FROM tbl_order
WHERE order_id IN($id)";
$result = mysqli_query($conn, $query);

while($row = mysqli_fetch_array($result))
{
 echo $row['order_id']."</br>";
 echo $row['order_no']."</br>";
 echo $row['ordercustomer_name']."</br>";
}
0 голосов
/ 11 января 2019

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

WHERE order_id IN (695,392)

ПРЕДУПРЕЖДЕНИЕ: Маленький Бобби говорит ваш сценарий подвержен риску атак SQL-инъекций. . Даже экранирование не безопасно!

Узнайте о подготовленных инструкциях для MySQLi . Специально для IN используйте эти инструкции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...