изображения не будут отображаться после получения местоположения файла из таблицы SQL с использованием php - PullRequest
0 голосов
/ 02 июня 2011

Каждая строка в таблице SQL представляет пользователя.Существует 5 столбцов, связанных с изображениями: image1, image2, image3, image4 и image5.Столбцы image [1-5] представляют каталоги файлов изображений.Все столбцы изображений относятся к типу «текст».

Проблема заключается в том, что при вводе в каталог он будет отображаться, но использование переменной строки не будет работать.Например, echo '<img src= "images/img1.jpg" /> '; будет отображать изображение, но echo '<img src= "$row[image1]" /> ';, где $row['image1'] = "images/img1.jpg" не будет работать, и я буду видеть значок разорванной страницы вместо изображения.

Вот скрипт формы:

<form action="dbpform.php" method="POST" enctype="multipart/form-data">



<input type="text" name="url"><br>

 <input name="uploadedfile1" type="file" /><br />
  <input name="uploadedfile2" type="file" /><br />
   <input name="uploadedfile3" type="file" /><br />
    <input name="uploadedfile4" type="file" /><br />
     <input name="uploadedfile5" type="file" /><br />

<textarea name="comment" id="comment" cols="55" rows="7" wrap="VIRTUAL"></textarea><br>

<input type="submit" name="submit" value="Submit">


</form>

<?php
mysql_connect ("","","") or die(mysql_error());
mysql_select_db ("") or die(mysql_error());

$url = $_POST['url'];
$comment = $_POST['comment'];

$target_path1 = "images/";
$target_path1 = $target_path1 . basename( $_FILES['uploadedfile1']['name']); 

$target_path2 = "images/";
$target_path2 = $target_path2 . basename( $_FILES['uploadedfile2']['name']); 

$target_path3 = "images/";
$target_path3 = $target_path3 . basename( $_FILES['uploadedfile3']['name']); 

$target_path4 = "images/";
$target_path4 = $target_path4 . basename( $_FILES['uploadedfile4']['name']); 

$target_path5 = "images/";
$target_path5 = $target_path5 . basename( $_FILES['uploadedfile5']['name']); 


if ( isset( $_POST['submit'] ) )
{   

move_uploaded_file($_FILES['uploadedfile1']['tmp_name'], $target_path1);
move_uploaded_file($_FILES['uploadedfile2']['tmp_name'], $target_path2);
move_uploaded_file($_FILES['uploadedfile3']['tmp_name'], $target_path3);
move_uploaded_file($_FILES['uploadedfile4']['tmp_name'], $target_path4);
move_uploaded_file($_FILES['uploadedfile5']['tmp_name'], $target_path5);


mysql_query ("INSERT INTO dbp VALUES ('','$url', '$target_path1', '$target_path2','$target_path3','$target_path4','$target_path5','$comment')");            
}

?>

Вот скрипт вывода:

<?php

mysql_connect ("","","") or die(mysql_error());
mysql_select_db ("") or die(mysql_error());



$defaultqry = mysql_query ("SELECT * FROM dbp");

while($row = mysql_fetch_assoc($defaultqry))
{


echo $row['comment'];


echo '<img src= "$row[image1]" /> ';
echo '<img src= "$row[image2]" /> ';
echo '<img src= "$row[image3]" /> ';
echo '<img src= "$row[image4]" /> ';
echo '<img src= "$row[image5]" /> ';


echo "<br><br>";


}
?>

1 Ответ

1 голос
/ 02 июня 2011

Вы оставили некоторые кавычки.Он интерпретирует image1 в $ row [image1] как константу, вероятно, генерируя сообщение об ошибке, из-за которого ваше изображение отображается как недоступное.

Попробуйте что-то вроде этого:

echo '<img src= "'.$row['image1'].'" /> ';
echo '<img src= "'.$row['image2'].'" /> ';
echo '<img src= "'.$row['image3'].'" /> ';
echo '<img src= "'.$row['image4'].'" /> ';
echo '<img src= "'.$row['image5'].'" /> ';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...