Я получаю сообщение об ошибке «Предупреждение: смещение недопустимой строки» при попытке выполнить итерацию по массиву.
Мой результат после использования var_dump ---> array (19) {["id"] => int (1) ["handle"] => string (4) "test" ["blockname"] => string (0) "" ["project"] => string (0) "" ["document_description"] = > string (4) "test" ["project_id"] => string (0) "" ["revision"] => string (0) "" ["scale"] => string (0) "" ["document_num "] => string (9)" test-1557 "[" drawn_by "] => string (0)" "["mitted_by"] => string (0) "" ["checked_by"] => строка (0) "" [".Did_by "] => string (0)" "[" drawn_date "] => string (0)" "["mitted_date"] => string (0) "" ["checked_date"] => строка ( 0) "" ["отпускная_дата"] => строка (0) "" ["цель"] => строка (0) "" ["заметки"] => строка (0) ""}
Итак, я предполагаю, что это на самом деле массив?
И затем я также проверяю, является ли он массивом перед запуском l oop. Ошибка повторяется столько раз, сколько я ожидаю, что l oop запустится, так что, похоже, он «повторяется». Я просто не получаю ожидаемого результата.
Мой код
$titles = $titleBlockLib->search($_POST['document_description']);
?>
<h1>LFFN Data</h1>
<input type="button" value="Add Row" onclick="titleBlock.addEdit()"/>
<form onsubmit="titleBlock.search()">
<label for="search">Search:</label>
<input id = "search" type="text">
<input id = "submit" type="submit" value="Search">
</form>
<?php
var_dump($titles);
if (is_array($titles)) {
echo "<table class='zebra'>
<tr><td>Handle</td><td>Description</td><td>Document Number</td><tr>";
foreach ($titles as $t) {
printf("<tr><td>%s</td><td>%s<td>%s</td><td class='right'>"
. "<input type='button' value='Delete' onclick='titleBlock.del(%u)'>"
. "<input type='button' value='Edit' onclick='titleBlock.addEdit(%u)'>"
. "</td></tr>",
$t['handle'], $t['document_description'], $t['document_num'],
$t['id'], $t['id']
);
}
echo "</table>";
} else {
echo "<div>No data found.</div>";
}
break;
На всякий случай - функция, которая вызывает мой оператор SQL, выглядит следующим образом ->
function search($document_description){
$sql = "SELECT * FROM `lffntitleblock` WHERE document_description LIKE '%".$document_description."%'";
$this->stmt = $this->pdo->prepare($sql);
$this->stmt->execute();
$entry = $this->stmt->fetchAll();
return count($entry)==0 ? false : $entry[0] ;
}