Affichages images dans un tableau

Résolu/Fermé
aloman Messages postés 2 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 août 2008 - 20 août 2008 à 00:47
aloman Messages postés 2 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 août 2008 - 20 août 2008 à 22:24
Bonjour,
Bonjour,
je debute en php sql
je voudrais afficher dans un tableau un logo en fonction de la valeur d'un champ

structure de ma table

CREATE TABLE `cdte` (
`id` int(3) NOT NULL auto_increment,
`nom` varchar(30) character set latin1 collate latin1_bin default NULL,
`obs` varchar(100) default NULL,
`photo` longblob NOT NULL,
`chemin` varchar(100) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=46 ;


********page index.php*************

<?php
require("connect.php"); //indiquez le chemin relatif du fichier connect.php tel qu'il sera sur le serveur
$result1 = mysql_query("SELECT * FROM cdte ORDER BY id ");
$nbenregistrements = mysql_num_rows($result1);
echo "Actuellement il y a <b>$nbenregistrements </b>noms dans la base";
echo ;
echo "<table border=1><tr><td><b>ID</b></td><td><b>Nom</b></td><td>Obs</td><td>Images</td><td>Logos</td></tr>";
while ($row=mysql_fetch_array($result1))
{
echo "<tr><td>$row[id]</td><td>$row[nom]</td><td>$row[obs]</td><td><img src=$row[chemin]</td></tr>";

}

mysql_close() ;
?>

a la place des images j'ai une icone avec une croix rouge qui s'affiche

j'ai essayé avec ces 2 pages suivantes mais j'ai toujours le meme resultat
*******************page indexa.php*********************


<form action="photo.php" method="POST">
<table cellspacing=0" cellpadding="0" border="1">
<?php
require("connect.php"); //indiquez le chemin relatif du fichier connect.php tel qu'il sera sur le serveur
$result = mysql_query("SELECT * FROM cdte ORDER BY nom ");
$nbenregistrements = mysql_num_rows($result);

if($result) {
while($data = mysql_fetch_array($result))
{
echo (
"<tr>
<td><img src='photo.php?id=%s' /></td>
<td>$data[nom]</td>
<td>$data[obs]</td>
<td>$data[id]</td>
</tr>"
//
//$data[2]
//$data[3]
);
} // end while
if(mysql_num_rows($result) == 0) {
$msg.="Aucune information disponible";
}
}
mysql_close() ;

?>
</table>
</form>

**************page photo.php
<?php
$id = $_GET['id'];

// Placer ici tes paramètres de connexion à la base de données
require("connect.php");

// On récupère l'image
$sql = "SELECT photo FROM cdte WHERE id='".$id."'";
$result = mysql_query($sql);


header('Content-type: images/gif'); // cf (1)
header('Content-transfer-encoding: binary');


echo $result["photo"];
?>

merci de votre aide
A voir également:

2 réponses

dreamfeeder Messages postés 253 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 25 juillet 2009 54
20 août 2008 à 00:58
bonjour,

si tu as une image avec une croix, c'est certainement qu'il y'a une erreur au niveau du chemin du fichier.
As tu bien verifier que le chemin de tes images est correct?

fais un click droit sur une de tes images qui ne s'affiche pas dans ta page pour verifier si ca pointe bien vers l'emplacement de ton fichier.

cordialement, dreamfeeder
1
aloman Messages postés 2 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 août 2008 1
20 août 2008 à 22:24
bonjour,
merci pour ton conseil
en déplaçant mes images j ai enfin pu les afficher
j'ai modifier mes fichiers php
voici le code si ca peut aider quelqu'un comme moi qui débute

*************************page index

<?php
require("connect.php"); //indiquez le chemin relatif du fichier connect.php tel qu'il sera sur le serveur
$result1 = mysql_query("SELECT * FROM cdte ORDER BY id ");
$nbenregistrements = mysql_num_rows($result1);
echo "Actuellement il y a <b>$nbenregistrements </b>noms dans la base";
echo ;
echo "<table border=1>
<tr><td><b>ID</b></td>
<td><b>Nom</b></td>
<td>couleur</td>
</tr>";
while ($row=mysql_fetch_array($result1))
{
echo "<tr>
<td>$row[id]</td>
<td>$row[nom]</td>
<td><img src=$row[chemin]</td>
</tr>";
}
mysql_close() ;
?>
**********************************page ajout
<form method="post" action="ecrit.php">
<table border=1 align=center>
<tr>
<td colspan=2>Merci de m'indiquer :</td>
</tr>
<tr>
<td>votre prenom: <input type="text" name="f_nom" size="20"></td>
<td>votre couleur: <input type="text" name="f_obs" size="10"></td>

</tr>
<tr>
<td><input type="submit" value="envoyer"></td>
</tr>
</table>
<input type="button" value="retour"onclick='location.href="index.php"'/ >
</form>

*************************************page ecriture
<?
//récupération et traitement des valeurs :
$nom = ($_POST["f_nom"]);
$obs=($_POST["f_obs"]);
$nom=strtolower($nom); // met les noms en minuscules
$nom=ucfirst($nom); //met la première lettre en majuscule

// envoi à la base de données
// on commence par se connecter :
require("connect.php"); // modifiez cette ligne pour indiquer le chemin de votre fichier connect
// on utilise l'instruction insert into pour ajouter les nouvelles données
$t1='"images/';
$t2='gif\"';
$logo="$t1$obs.$t2";
mysql_query("insert into cdte values ('', '$nom', '$obs','$logo' )" ) or die ("Impossible de se connecter ").mysql_error();

mysql_close();
echo "Merci d'avoir ajouté votre nom sur nos listes !";

?>
je suis preneur de vos observations

encore merci et à bientôt pour de nouvelles questions!
1