Napisałem kod do wyświetlania obrazków z sql z pola typu BLOB. Obrazki się zapisują, ale gdy chce odczytać wszystkie zapisane obrazki to wyświetla mi się tylko obrazek z id = 1 i tyle razy ile mam wyników z zapytania. Nie wiem dlaczego nie wyświetla mi pozostałych oobrazków.
To co napisałem:
Plik index.php w folderze zapisz
Kod
<html>
<head><title>Store binary data into SQL Database</title></head>
<body>
<form method="post" action="zapisz.php" enctype="multipart/form-data">
File Description:<br>
<input type="text" name="form_description" size="40">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
<br>File to upload/store in database:<br>
<input type="file" name="form_data" size="40">
<p><input type="submit" name="submit" value="submit">
</form>
</body>
</html>
<head><title>Store binary data into SQL Database</title></head>
<body>
<form method="post" action="zapisz.php" enctype="multipart/form-data">
File Description:<br>
<input type="text" name="form_description" size="40">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
<br>File to upload/store in database:<br>
<input type="file" name="form_data" size="40">
<p><input type="submit" name="submit" value="submit">
</form>
</body>
</html>
Plik zapisz php w folderze zapisz
Kod
<?php
echo "Zapisywanie do sql";
$plik_tmp = $_FILES['form_data']['tmp_name'];
//$plik_nazwa = $_FILES['form_description']['name'];
//$plik_rozmiar = $_FILES['MAX_FILE_SIZE']['size'];
If($plik_tmp != "none") {
$PSize = filesize($plik_tmp);
$mysqlPicture = addslashes(fread(fopen($plik_tmp, "r"), $PSize));
$db = mysql_connect( 'localhost', 'root', 'lilly' );
mysql_select_db( 'image' );
$var = 1;
mysql_query("INSERT INTO obrazki (Image) VALUES ( '$mysqlPicture')") or die("Can't Perform Query");
}
else {
echo"You did not upload any picture";
}
?>
echo "Zapisywanie do sql";
$plik_tmp = $_FILES['form_data']['tmp_name'];
//$plik_nazwa = $_FILES['form_description']['name'];
//$plik_rozmiar = $_FILES['MAX_FILE_SIZE']['size'];
If($plik_tmp != "none") {
$PSize = filesize($plik_tmp);
$mysqlPicture = addslashes(fread(fopen($plik_tmp, "r"), $PSize));
$db = mysql_connect( 'localhost', 'root', 'lilly' );
mysql_select_db( 'image' );
$var = 1;
mysql_query("INSERT INTO obrazki (Image) VALUES ( '$mysqlPicture')") or die("Can't Perform Query");
}
else {
echo"You did not upload any picture";
}
?>
Plik index.php w folderze odczyt
Kod
<HTML>
<BODY>
<?php
$db = mysql_connect( 'localhost', 'root', 'lilly' );
mysql_select_db( 'image' );
$result=mysql_query("SELECT * FROM obrazki where PicNum > '0'") or die("Can't Perform Query");
echo mysql_num_rows($result);
while($row=mysql_fetch_assoc($result))
{
$num = $row['PicNum'];
echo $num;
echo "<IMG SRC=\"SecondType.php?num='$num'\">";
flush();
}
?>
</BODY>
</HTML>
<BODY>
<?php
$db = mysql_connect( 'localhost', 'root', 'lilly' );
mysql_select_db( 'image' );
$result=mysql_query("SELECT * FROM obrazki where PicNum > '0'") or die("Can't Perform Query");
echo mysql_num_rows($result);
while($row=mysql_fetch_assoc($result))
{
$num = $row['PicNum'];
echo $num;
echo "<IMG SRC=\"SecondType.php?num='$num'\">";
flush();
}
?>
</BODY>
</HTML>
plik SecondType.php w folderze odczyt
Kod
<?php
$db = mysql_connect( 'localhost', 'root', 'lilly' );
mysql_select_db( 'image' ) or die("Unable to select database");
$num = $_GET['num'];
$result=mysql_query("SELECT * FROM obrazki WHERE PicNum = '$num'") or die("Can't perform Query");
$row=mysql_fetch_assoc($result);
Header( "Content-type: image/jpeg");
echo $row['Image'];
?>
$db = mysql_connect( 'localhost', 'root', 'lilly' );
mysql_select_db( 'image' ) or die("Unable to select database");
$num = $_GET['num'];
$result=mysql_query("SELECT * FROM obrazki WHERE PicNum = '$num'") or die("Can't perform Query");
$row=mysql_fetch_assoc($result);
Header( "Content-type: image/jpeg");
echo $row['Image'];
?>