2013-03-26 4 views
0

В настоящее время у меня есть массив в php, который хранит имена продуктов, обычно 5-10. Я хотел бы создать что-то, где результаты SQL-запроса сопоставляются с массивом, чтобы убедиться, что они все правильно, и если не показывать ошибку.Поиск PHP-массива из результатов SQL

До сих пор я помещал результаты в массив, а затем выполнял запрос, чтобы получить результаты. Я считаю, что мне нужно поставить какой-то цикл while с результатами запроса и проверить массив в этом цикле while?

+2

Пожалуйста, дайте нам код, где вы пытались сделать это. – peeol

+0

с любым кодом или подсказкой довольно сложно ответить вам правильно. Что вы хотите проверить и почему? цикл foreach с функцией in_array() может быть достаточным для ваших нужд, но кто знает. – kawashita86

ответ

1

У вас есть массив с именем продукта ($ products) и результатами запроса ($ row). то время как вы цикл корыта результаты, которые вы можете проверить, если элемент присутствует, в противном случае эхо ошибки и разорвать цикл:

While(...) {  
    if(!in_array($row['retrivedprod'],$products)) { 
     echo 'error'; 
     break; 
    } 
} 
+0

Я на iPhone, я не могу отформатировать фрагмент кода, извините – Razorphyn

+0

Это прекрасно, большое вам спасибо, спасатель! – Alex

1

Вы можете совершать циклические операции при получении результатов из db с циклом while и проверять результаты с помощью функции in_array http://php.net/manual/en/function.in-array.php $ availability = 0;

$cart_products = array("book", "album"); 
$available_products = array(); 

while($row = mysql_fetch_array($result)) { 
    $available_products[] = $row['product']; 
} 

foreach($cart_products as $key => $value){ 
    if (in_array($value, $available_products)){ 
     $availability = 1; 
    } 
} 
+0

Если единственным вкладом является ссылка, это должно быть сделано в форме комментария. ^^ В противном случае, пожалуйста, укажите пример кода, объясняющий причину/способ. – Jon

Смежные вопросы