См. Код ниже. Полист из поля textarea. Он зацикляет массив. Эта строка производит ожидаемую эхо-строку $. "
", Номер PO эхом, но вывод из запроса на v_devices перечисляет только элементы из последнего номера PO в списке из текстового поля.
Любые идеи почему? Любая помощь была бы очень признательна!
if(isset($_POST['polist'])){
$polist=$_POST['polist'];
$text = trim($polist);
$textAr = explode("\n", $text);
$textAr = array_filter($textAr, 'trim');
foreach($textAr as $line) {
$result10 = $db->select(
"SELECT * FROM 'v_devices' WHERE 'ponumber' = :po",
array ("po" => $line)
);
echo $line . "<br>";
foreach($result10 as $row10) {
$poline = $line . "," . $row10['organization'] . "," . $row10['serialn'] . "," . $row10['model'];
echo $poline . "<br>";
}
}
}
Проблема в том, что в foreach($textAr as $line)
вы переписываете переменную $result10
которая содержит $result10
результатов запроса, и вы распечатываете результаты после цикла.
Либо переместите часть печати в этот цикл, либо вам нужно добавить результат запроса к переменной $result10
.
<textarea name="polist" wrap="off" id="polist" style="width:250px;height:200px;"><?php echo($polist); ?></textarea>