Upgeloade foto ook weergeven (Opgelost)
Gust - 15/07/2008 10:05 (laatste wijziging 15/07/2008 10:06)
MySQL interesse
Het is me nu E I N D E L I J K gelukt om een foto te uploaden naar de database, waarbij de database de url van de foto toont, en waarbij de foto zelf naar de webruimte wordt geschreven.
Maar nu zou ik de foto op een pagina ook moeten kunnen weergeven dmv de id. Hoe moet dat, want ik raak er niet wijs uit.
Zie bijvoorbeeld deze website en klik linksboven op de +
index.php
<form action="doorsturen.php" method="post" enctype="multipart/form-data">
<p>Pictures:<br>
<input type="file" name="pictures[]" /><br>
<input type="file" name="pictures[]" /><br>
<input type="file" name="pictures[]" /><br>
<input type="submit" value="Send" />
</p>
</form>
<form action = "doorsturen.php" method = "post" enctype = "multipart/form-data" > <input type = "file" name = "pictures[]" / ><br > <input type = "file" name = "pictures[]" / ><br > <input type = "file" name = "pictures[]" / ><br > <input type = "submit" value = "Send" / >
doorsturen.php
<?php
$files = array();
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name, "images/$name");
array_push($files, $name);
}
}
$link = mysql_connect('localhost', 'geheim', 'geheim');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('dotserv_gazelle');
mysql_query("INSERT INTO mijntabel VALUES ('','$files[0]','$files[1]','$files[2]','$files[3]');");
printf("Record inserted with ID %d\n", mysql_insert_id());
?>
<?php
foreach ( $_FILES [ "pictures" ] [ "error" ] as $key => $error ) {
if ( $error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES [ "pictures" ] [ "tmp_name" ] [ $key ] ;
$name = $_FILES [ "pictures" ] [ "name" ] [ $key ] ;
}
}
if ( ! $link ) {
}
mysql_query ( "INSERT INTO mijntabel VALUES ('','$files[0] ','$files[1] ','$files[2] ','$files[3] ');" ) ;
?>
De database:
CREATE TABLE `test` (
`ID` int(11) NOT NULL auto_increment,
`file1` varchar(255) NOT NULL,
`file2` varchar(255) NOT NULL,
`file3` varchar(255) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
CREATE TABLE `test` (
`ID` int( 11 ) NOT NULL AUTO_INCREMENT ,
`file1` varchar( 255 ) NOT NULL ,
`file2` varchar( 255 ) NOT NULL ,
`file3` varchar( 255 ) NOT NULL ,
PRIMARY KEY ( `ID` )
) ENGINE= MyISAM AUTO_INCREMENT = 11 DEFAULT CHARSET= latin1 AUTO_INCREMENT = 11 ;
Ik heb het al op verschillende manieren proberen weer te geven, bijvoorbeeld
of
<?php echo \"<img src='images/\" . $file1 . \"'>\"; ?>
<?php echo \
"<img src='images/\" . $file1 . \" '>\" ; ?>
maar niets helpt
7 antwoorden
Gesponsorde links
kenzo - 15/07/2008 10:09 (laatste wijziging 15/07/2008 10:10)
PHP beginner
roep je $file1 ook aan?
Anders moet het zoiets zijn:
$res = mysql_query("SELECT * FROM test");
while ($arr = mysql_fetch_assoc($res)) {
echo "<img src='".$arr["file1"]."'><BR>";
}
echo "<img src='" . $arr [ "file1" ] . "'><BR>" ;
}
(Dit bij een lijst van foto's)
Het volgende als je het doet per id met bv Get
$res = mysql_query("SELECT * FROM test WHERE id='".$_GET['id']."'");
$arr = mysql_fetch_assoc($res);
echo "<img src='".$arr["file1"]."'><BR>";
$res = mysql_query ( "SELECT * FROM test WHERE id='" . $_GET [ 'id' ] . "'" ) ; echo "<img src='" . $arr [ "file1" ] . "'><BR>" ;
Gust - 15/07/2008 11:15
MySQL interesse
Het is per id.
Maar dit script moet ik wel in een bestaand script verwerken. Ik toon je even het script van de pagina die de data moet tonen. Ik heb er wel heel veel uitgezwierd om het nog overzichtelijk te houden:
<?php
// verbinding met database invoegen
$username = "geheim";
$password = "geheim";
$host="localhost";
$dbnaam="geheim";
$db=mysql_connect($host, $username, $password) or die (mysql_error());
mysql_select_db($dbnaam, $db) or die (mysql_error());
$query="SELECT * FROM mijn_tabel WHERE id='" . $_GET["id"] ."'";
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
?>
<html>
<head>
<title></title>
</head>
<body>
<p>
<?php
while (list($ID, $Name, $enzoverder) =
mysql_fetch_row($result)){
$nam=$Name;
$enz=$enzoverder;
echo("
<table width=90% border=\"0\" align=center cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"f1f4f9\">
<tr>
<td bgcolor=ddecf8><div align=\"center\">
<p><p>hier moet de foto ergens komen</p>
</div></td>
</tr>
</table>
\n");
// verbinding afsluiten
mysql_close($db);
?>
<?php
// else-blok correct afsluiten
}
?>
</body>
</html>
<?php
// verbinding met database invoegen
$username = "geheim" ;
$password = "geheim" ;
$host = "localhost" ;
$dbnaam = "geheim" ;
$query = "SELECT * FROM mijn_tabel WHERE id='" . $_GET [ "id" ] . "'" ;
?>
<html>
<head>
<title></title>
</head>
<body>
<p>
<?php
while ( list ( $ID , $Name , $enzoverder ) =
$nam = $Name ;
$enz = $enzoverder ;
<table width=90% b order=\" 0\" align=center cellpadding=\" 0\" cellspacing=\" 0\" bgcolor=\" f1f4f9\" >
<tr>
<td bgcolor=ddecf8><div align=\" center\" >
<p><p>hier moet de foto ergens komen</p>
</div></td>
</tr>
</table>
\n ") ;
// verbinding afsluiten
?>
<?php
// else-blok correct afsluiten
}
?>
</body>
</html>
kenzo - 15/07/2008 12:02
PHP beginner
Probeer dit eens:
<?php
// verbinding met database invoegen
$username = "geheim";
$password = "geheim";
$host="localhost";
$dbnaam="geheim";
$db=mysql_connect($host, $username, $password) or die (mysql_error());
mysql_select_db($dbnaam, $db) or die (mysql_error());
$query="SELECT * FROM mijn_tabel WHERE id='" . $_GET["id"] ."'";
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
?>
<html>
<head>
<title></title>
</head>
<body>
<p>
<?php
while (list($ID, $Name, $enzoverder) =
mysql_fetch_row($result)){
$nam=$Name;
$enz=$enzoverder;
echo("
<table width=90% border=\"0\" align=center cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"f1f4f9\">
<tr>
<td bgcolor=ddecf8><div align=\"center\">
<p><p>
<img src='".$result['file1']."'><BR>
<img src='".$result['file2']."'><BR>
<img src='".$result['file3']."'><BR>
</p>
</div></td>
</tr>
</table>
\n");
// verbinding afsluiten
mysql_close($db);
?>
<?php
// else-blok correct afsluiten
}
?>
</body>
</html>
<?php
// verbinding met database invoegen
$username = "geheim" ;
$password = "geheim" ;
$host = "localhost" ;
$dbnaam = "geheim" ;
$query = "SELECT * FROM mijn_tabel WHERE id='" . $_GET [ "id" ] . "'" ;
?>
<html>
<head>
<title></title>
</head>
<body>
<p>
<?php
while ( list ( $ID , $Name , $enzoverder ) =
$nam = $Name ;
$enz = $enzoverder ;
<table width=90% b order=\" 0\" align=center cellpadding=\" 0\" cellspacing=\" 0\" bgcolor=\" f1f4f9\" >
<tr>
<td bgcolor=ddecf8><div align=\" center\" >
<p><p>
<img src='" . $result [ 'file1' ] . "'><BR>
<img src='" . $result [ 'file2' ] . "'><BR>
<img src='" . $result [ 'file3' ] . "'><BR>
</p>
</div></td>
</tr>
</table>
\n ") ;
// verbinding afsluiten
?>
<?php
// else-blok correct afsluiten
}
?>
</body>
</html>
Gust - 15/07/2008 13:16 (laatste wijziging 15/07/2008 13:29)
MySQL interesse
Ik zie de foto's nog steeds niet.
Het pad is /usr/www/users/dotserv/gazelle/pro/gaz_main/images
Dus is het zo?
<table width=90% border=\"0\" align=center cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"f1f4f9\"> <tr> <td bgcolor=ddecf8><div align=\"center\"> <p><p>
<img src=/usr/www/users/dotserv/gazelle/pro/gaz_main/images'".$result['file1']."'><BR>
<img src=/usr/www/users/dotserv/gazelle/pro/gaz_main/images'".$result['file2']."'><BR>
<img src=/usr/www/users/dotserv/gazelle/pro/gaz_main/images'".$result['file3']."'><BR> </p> </div></td> </tr></table>
< table width= 90 % border= \"0\" align=center cellpadding=\" 0\" cellspacing=\" 0\" bgcolor=\" f1f4f9\" > <tr> <td bgcolor=ddecf8><div align=\" center\" > <p><p>
<img src=/usr/www/users/dotserv/gazelle/pro/gaz_main/images'" . $result [ 'file1' ] . "'><BR>
<img src=/usr/www/users/dotserv/gazelle/pro/gaz_main/images'" . $result [ 'file2' ] . "'><BR>
<img src=/usr/www/users/dotserv/gazelle/pro/gaz_main/images'" . $result [ 'file3' ] . "'><BR> </p> </div></td> </tr></table>
kenzo - 16/07/2008 09:38
PHP beginner
nee, dan wordt het gewoon vanuit de home dir
Ik denk in dit geval dus images
laat de pagina eens zien aub waar de code op staat?
Gust - 16/07/2008 22:07
MySQL interesse
Het is intussen gelukt!
Ik heb een onnozele fout gemaakt Ik was gewoon een paar dingen vergeten. Ik vergat het in de while list te specifieren en in de mysql_fetch_row
Dit is de juiste code: <img src=images/$file1 />
Gesponsorde links
Dit onderwerp is gesloten .