2016-10-26 5 views
-2

Я пытаюсь создать сайт Php, который отображает данные из моей базы данных MySQl.Ссылки на изображения из MySql

и я думаю, что им почти там, все работает, кроме фотографий.

Я не могу получить свой сайт php, чтобы показать фотографии с ссылкой на изображение из базы данных Sql.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<?php 
$con=mysqli_connect("localhost","root","","db1"); 
// Check connection 
if (mysqli_connect_errno()) 
{ 
echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
?> 
<head> 
<link rel="stylesheet" href="styles.css"> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>untitled</title> 


</head> 

<body> 


<div class="content"> 
<?php 
$sql = "SELECT id, Producent, Model, kategori FROM tb1"; 
$result = mysqli_query($con,"SELECT * FROM `tb1"); 
echo "<table>"; 
while($row = $result->fetch_assoc()) 
{ 
echo "<tr>"; 
echo "<td>";?> <img scr="<?php echo $row["Billedurl"]; ?>"/> <?php echo "  </td>"; 
echo "<td>" .$row["Producent"] .$row["Model"]; echo "</td>"; 
echo "</tr>"; 


} 
echo "</table>"; 



mysqli_close($con); 
?> 
<!-- end .content --></div> 
<!-- end .container --></div> 
<div class="footer"><br> 
<!-- end .footer --></div> 
</body> 
</html> 
+0

В настоящее время вы не хотите, чтобы столбец 'Billedurl' помещался в тег' img'. Добавьте столбец thid в запрос 'SELECT'. –

+0

Как мне это сделать правильно? –

+1

вы можете поделиться примером того, что поле 'Billedurl' содержит в db и подтвердить, что путь существует? – RamRaider

ответ

1

Вы должны выбрать все столбцы, которые вы собираетесь использовать, так что если вам нужно Billedurl, вы должны изменить:

$sql = "SELECT id, Producent, Model, kategori FROM tb1"; 

к:

$sql = "SELECT id, Producent, Model, kategori, Billedurl FROM tb1"; 

Теперь значение эта колонка будет доступна в $row["Billedurl"].

Редактировать: Кажется, что теперь у вас есть правильное значение в вашем html, но путь к изображению неверен, так как это относительный путь.

Вы должны префикс вашей переменной с правильной папкой, чтобы изображение находилось в браузере. Это может быть так просто, как просто использовать абсолютный путь, но это зависит от того, где находится каталог pic/.

Так что, если ваша переменная содержит pic/l_jabra_evolve80.jpg" и папка pic/ находится в корневом каталоге веб-сервера, вы можете сделать что-то вроде:

# before the loop 
$imagePrefix = '/'; 

    # in the loop 
    ... <img scr="<?php echo $imagePrefix . $row["Billedurl"]; ?>"/> ... 

Теперь браузер будет пытаться извлечь изображение из /pic/l_jabra_evolve80.jpg.

+0

Здравствуйте, Jeroen, он все еще не работает .. :( –

+0

@ C.Hansen. Это не очень полезно: как выглядит ваша структура базы данных и что содержит полная строка? – jeroen

+0

@ C.Hansen. , вы можете отредактировать свой вопрос, чтобы нас не обновляли, пожалуйста? –

0

Вам нужно сделать немного отладки:

первое изменение немного в запросе

$sql = "select * FROM tb1"; 
    $result = mysqli_query($con, $sql); 

Затем попытайтесь проверить print_r($result) и проверить, если вы получаете все, что здесь или нет.

Смежные вопросы