Задача - добавление в начале строк картинок, соответствующих названию игры, если подходящей картинки нет, то должна вставляться картинка заглушка.
Таблица формируется, картинки добавляются, но картинка заглушка "/gimage/empty.jpg" не вставляется.
И при формировании таблицы, строки к которым добавлены картинки, сдвигаются соответственно вправо, схематично таблица получается такой (0 - заголовки столбцов, 1-7 -столбцы, х-картинка):
0000000
1234567
х1234567
1234567
х1234567
Понимаю, что проблема в конструкции if в выводе картинок, но не могу понять в чем именно.
```
<?
// Запрос на получение записей для таблицы
$sql = "SELECT id, game, position, price, org, payment, user, user_url, other FROM utest ORDER by game";
// Подготовка запроса
$statement = $db->prepare($sql);
// Выполняем запрос
$statement->execute();
// Получаем массив строк
$result_array = $statement->fetchAll();
echo "<form action='del.php' method='POST' align='center'><table align='center'>";
//Создаем таблицу вывода и форму для удаления записей
echo "<tr><th>Игра</th><th>П</th><th>Цена</th><th>Орг</th><th>Оплата</th><th>Владелец</th><th>Примечание</th></tr>";
foreach ($result_array as $result_row) {
$resgame = $result_row['game'];
echo "<tr>";
//запрос картинок
$sql2 = "SELECT game_pic, pic_img FROM pics WHERE game_pic LIKE '%$resgame%'";
// Подготовка запроса
$statement2 = $db->prepare($sql2);
// Выполняем запрос
$statement2->execute();
// Получаем массив строк
$result_array2 = $statement2->fetchAll();
foreach ($result_array2 as $result_row2) {
//echo "<td>" . $result_row["id"] . "</td>";
if($result_row2['game_pic'] == ""){
//если нет совпадений, выводим заглушку
echo "<td>" . "<img src='/gimage/empty.jpg' height='100' alt='no_pic'>" . "</td>";
}
//выводим картинку
else { echo "<td>" . "<img src='{$result_row2['pic_img']}' height='100'>" . "</td>";
}
}
echo "<td>" . $result_row["game"] . "</td>";
echo "<td>" . $result_row["position"] . "</td>";
echo "<td>" . $result_row["price"] . "</td>";
echo "<td>" . $result_row["org"] . "</td>";
echo "<td>" . $result_row["payment"] . "</td>";
if($result_row['user_url'] !== "0"){
echo "<td>" . "<a href='{$result_row['user_url']}'>{$result_row['user']}</a>" . "</td>";
</a>" . "</td>";
}
else { echo "<td>" . $result_row["user"] . "</td>";
}
echo "<td>" . $result_row["other"] . "</td>";
echo "<td>" . "<a href='/edit.php?id={$result_row['id']}'>Редактировать</a>" . "</td>";
echo "<td>" . "<input type='radio' name='delete_row[]' value='" . $result_row["id"] . "'><input echo type='submit' value='Удалить'></td>";
echo "</tr>";
}
}
catch(PDOException $e) {
echo "Ошибка: " . $e->getMessage();
}
// Закрываем соединение
$db = null;
?>
```
Валерий. У тебя проблема в том, что ты внутри цикла по строкам таблицы делаешь запрос на картинки, и он скорее всего не возвращает тебе ничего, и вот этот код if($result_row2['game_pic'] == "") не выполняется. По хорошему тебе надо сделать один сложный запрос с JOIN, чтобы сразу выбрать и картинки и данные, и потом просто нарисовать таблицу.
Решил.
В запросе картинок нужно было объявлять переменные перед запросом и в запросе добавил:
min(game_pic)
$sql2 = "SELECT min(game_pic) game_pic, pic_img FROM pics WHERE game_pic LIKE '%$resgame%'";
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Если несколько input, рядом с ними сообщения об ошибке, у которых дефолтно display: none
Стала задача запретить ввод цифр в <input type="text"> созданном для имени
Я выбираю из галереи изображение и в последствии его использую как Uri, но предположим что пользователь удалил это изображение со своей галереи,...
Столкнулся с небольшой аномалиейИмеется клиент серверное приложение для игры в крестики-нолики