Существует DB, где я хранил информацию о продуктах. (id, name, price, category, unit)Поиск массива в базе данных mysql с помощью PHP
Во-первых, я перечислял продукты для выбора в файле php с именем 'input.php'. Отлично работает.
// SQL query
$query = "SELECT *
FROM products
ORDER BY p_name
ASC";
$result = mysql_query($query);
if($result === FALSE) {die(mysql_error());}?>
<table width="100%">
<tr>
<td></td>
<td width="800px"><h1>Product name</h1></td>
<td width="400px"><h1>Product price</h1></td>
<td>Category</td>
</tr>
</table>
<?
while ($row = mysql_fetch_assoc($result)) {?>
<table>
<tr>
<td><input type="checkbox" name="pro_name[]" value="<?=$row['p_name']?>"></td>
<td width="800px" align="left"><b><?=$row['p_name']?></b></td>
<td width="400px" align="left"><?=$row['p_price']?></td>
<td align="center"><?=$row['p_cat']?></td>
</tr>
</table>
<?}
Я отправляю данные в index.php и обрабатываю переменные там.
if($_SERVER['REQUEST_METHOD']== "POST"){
// Variables
$c_name = $_POST['c_name']; // ['company name']
$c_consumption = $_POST['c_consumption']; // ['company consumptions']
$f_price = $_POST['f_price']; // ['fuel price']
$o_sales = $_POST['o_sales']; // ['sales']
$pro_name = $_POST['pro_name']; // ['products names']
$pro_id = $_POST['pro_id']; // ['product id']
$pro_price = $_POST['pro_price']; // ['product price']
Третий шаг, на котором я застрял ... Мне нужно перечислить выбранные детали продуктов.
Моя идея - выбрать детали из db с поиском названий продуктов, которые я выбрал ранее.
Я попробовал его с IN, LIKE, implode .... и т. Д., Но это не сработало. :(
// SQL query
$query = "SELECT *
FROM products
WHERE p_name IN (".implode(',', $pro_name).")
ORDER BY p_name
ASC";
$result = mysql_query($query);
if($result === FALSE) {die(mysql_error());}
while ($row = mysql_fetch_array($result)) {?>
<table>
<tr>
<td width="800px" align="left"><b><?=$row['p_name']?></b></td>
<td width="400px" align="left"><?=$row['p_price']?></td>
<td align="center"><?=$row['p_cat']?></td>
</tr>
</table>
<?}
}
EDIT:
var_dump($pro_name); result
array(3) { [0]=> string(14) "12 V szivattyú" [1]=> string(17) "120 l/p szivattyú" [2]=> string(28) "24 hónapra bővített garancia" }
Какие сообщения об ошибках или выходные данные вы получаете? – ply
, если '' в' p_name' также VARCHAR Тогда оператор Должен иметь ' '' 'IN (' p_name_1 '' p_name_2«) ' –
У вас ошибка в вашем SQL синтаксиса; проверьте руководство, которое соответствует версии сервера MySQL для корректного синтаксиса использовать вблизи V насоса 120 л/мин Насос продлен срок 24 месяцев) «в строке 3 –