У меня есть этот код:
$query = "SELECT vidRoles FROM videoinformation";
if ($result = mysqli_query($con, $query)) {
while ($row = mysqli_fetch_row($result)) {
$values = explode(',',$row[0]);
foreach($values as $v)
printf ("<img src=\"roles/%s.jpg\">", $v);
}
mysqli_free_result($result);
}
НО вместо дисплея:
<img src="roles/Name1.jpg>
<img src="roles/Name2.jpg>
<img src="roles/Name3.jpg>
Я имею:
<img src="roles/Name1.jpg>
<img src="roles/Name2.jpg>
<img src="roles/Name3.jpg>
<img src="roles/.jpg>
<img src="roles/.jpg>
<img src="roles/.jpg>
<img src="roles/.jpg>
Но внутри поданных vidRoles у меня есть только «Имя1, Имя2, Имя3».
Почему появляются эти пустые изображения ???
попробуй это —
foreach($values as $v) {
if (!empty($v)) {
printf ("<img src=\"roles/%s.jpg\">", $v);
}
}
Есть некоторые null
ценности присутствуют, поэтому печатает их.
Пожалуйста, обновите ваш запрос:
$query = "SELECT vidRoles
FROM videoinformation
WHERE LENGTH(vidRoles) > 0
";
Есть несколько строк, где vidRoles
либо пустым, либо NULL
,
Они вызывают проблему.
Таким образом, чтобы избежать проблемы, мы можем сделать это с помощью PHP с помощью операторов if else, или
Просто добавьте некоторые условия SQL.
Я думаю, что второе лучше, так как в нем меньше усилий.
измените свое заявление на печать с
printf ('<img src=\"roles/%s.jpg\">', $v);