У меня есть следующий запрос MySQL:
$query = sprintf(
"SELECT a.A,
a.B,
...,
a.C,
FROM a
WHERE a.A = %s
ORDER by a.A;",
implode(" OR a.A = ", $_SESSION['values']));
для некоторых записей, В имеет значение, а для других, В нулевой
Я извлекаю запрос с помощью следующего PHP:
for ($i = 0; $i < $nrows; $i++){
$row = mysqli_fetch_assoc($result);//fetches data stored within each row
extract($row);
echo "<tr>";
foreach($row as $column => $field){
if($field == $...){
...
}
elseif($field == $C){
echo"<td>
<input type='text' name='C+[]' value='$C'>
</td>";
}
echo "</tr>"}
В результирующей HTML-таблице записи, содержащие ненулевой В поля представлены точно, а записи с ноль В поля подвергаются дублированию поля С. Это смещение происходит в начале записи, толкая последнее поле в записи за пределами таблицы.
Я думаю, что я сузил проблему до функции extract (), поскольку показания r_print каждой другой переменной в скрипте возвращают точные имена и значения полей. Но выполнение print_r в $ row после extract () обеспечивает идентичную распечатку с другими переменными в сценарии.
Какими возможными способами я могу остановить дублирование поля? С от происходящего?
Рады предоставить больше информации по запросу.
Задача ещё не решена.
Других решений пока нет …