Inserer une image dans une base mysql
Fermé
hawaabdo
Messages postés
9
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
16 août 2009
-
6 août 2009 à 11:43
hawaabdo Messages postés 9 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 16 août 2009 - 16 août 2009 à 10:11
hawaabdo Messages postés 9 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 16 août 2009 - 16 août 2009 à 10:11
A voir également:
- Inserer une image dans une base mysql
- Insérer une vidéo dans powerpoint - Guide
- Insérer une image dans word sans bouger le texte - Guide
- Insérer une liste déroulante excel - Guide
- Insérer signature word - Guide
- Comment agrandir une image - Guide
9 réponses
Utilisateur anonyme
6 août 2009 à 11:47
6 août 2009 à 11:47
Ce qui ne marche pas, c'est tout le listage, ou juste pour l'affichage de l'image ?
hawaabdo
Messages postés
9
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
16 août 2009
6 août 2009 à 12:01
6 août 2009 à 12:01
juste l'affichage de l'image
Passarinho44
Messages postés
963
Date d'inscription
mercredi 28 mai 2008
Statut
Contributeur
Dernière intervention
13 juin 2012
132
6 août 2009 à 12:23
6 août 2009 à 12:23
Et dans le listage il t'affiche quoi le echo $ligne[0] ??
Flohti
Messages postés
162
Date d'inscription
mercredi 25 juillet 2007
Statut
Membre
Dernière intervention
7 février 2010
15
6 août 2009 à 12:32
6 août 2009 à 12:32
Salut,
Tu nous donnerais le code source généré de ta page?
L'image n'est pas dans la base de données, c'est son nom que tu ressors de la base, tu es sûr d'avoir l'image dans ton dossier "/images/membres/"?
Tu peux vérifier le chemin, ne mettre que le chemin relatif en cas : "/images/membres/" si tu es à la racine, ../images/membres/" si tu étais dans un dossier "http://www.nomdusite.fr" ...
PS : Tu peux alléger ton code aussi, les ouvertures/fermetures de "php" peuvent être éliminées, ainsi que la liste de "echo" (d'ailleurs ils te les mettent tous sur la même ligne) :
<?php
require('connect_db.php');
$req='SELECT *
FROM salarie';
$sql=mysql_query($req);
while($ligne=mysql_fetch_array($sql)){
echo '<tr>
<td>$ligne[0]</td>
<td>$ligne[1]</td>
<td>$ligne[2]</td>
<td>$ligne[3]</td>
<td>$ligne[4]</td>
<td>$ligne[5]</td>
<td>$ligne[6]</td>
<td>$ligne[7]</td>
<td>$ligne[8]</td>
<td>$ligne[9]</td>
<td>$ligne[10]</td>
<td>$ligne[11]</td>
<td>$ligne[12]</td>
<td>$ligne[13]</td>
<td>$ligne[14]</td>
<td>$ligne[15]</td>
<td>$ligne[16]</td>
<td>$ligne[17]</td>
<td>$ligne[18]</td>
<td>$ligne[19]</td>
<td>$ligne[20]</td>
<td>$ligne[21]</td>
<td>$ligne[22]</td>
<td>$ligne[23]</td>
<td>$ligne[24]</td>
<td>$ligne[25]</td>
<td>$ligne[26]</td>
<td>$ligne[27]</td>
<td>$ligne[28]</td>
<td>$ligne[29]</td>
<td>$ligne[30]</td>
// manquerait un "<td>"
<img src="http://www.nomdusite.fr$ligne[0].'.jpg" alt="Image de '.$ligne[0].'" />
// manquerait un "</td>"
<td><a href="supsal_fonct.php?id='.$ligne[0].'">Supprimer</a></td>'; // manquerait un "</tr>"
}
?>
J'ai remplacé tes doubles-quot par des simples pour le php, parce qu'on utilise souvent les doubles dans le (X)HTML, ça évite d'avoir à les échapper.
Je vois autre chose :
Tu dois être en train de construire un tableau, tu en ouvre une ligne au début de la boucle et tu ne la referme jamais, de plus, je pense que l'image aussi devrait se trouver dans une cellule, comme ça toute seule au milieu du tableau j'pense pas qu'ça marche !
Et tu aurais un tableau à plus de 30 colonnes ?
Bon, essaie de rajouter la cellule autour de l'image : '<td><img src="http://www.nomdusite.fr$ligne[0].'.jpg" alt="Image de '.$ligne[0].'" /></td>'
Et referme la ligne à la fin de la boucle : '<td><a href="supsal_fonct.php?id='.$ligne[0].'">Supprimer</a></td>
</tr>'
Et je pense que ça devrait aller mieux, non ?
Tu nous donnerais le code source généré de ta page?
L'image n'est pas dans la base de données, c'est son nom que tu ressors de la base, tu es sûr d'avoir l'image dans ton dossier "/images/membres/"?
Tu peux vérifier le chemin, ne mettre que le chemin relatif en cas : "/images/membres/" si tu es à la racine, ../images/membres/" si tu étais dans un dossier "http://www.nomdusite.fr" ...
PS : Tu peux alléger ton code aussi, les ouvertures/fermetures de "php" peuvent être éliminées, ainsi que la liste de "echo" (d'ailleurs ils te les mettent tous sur la même ligne) :
<?php
require('connect_db.php');
$req='SELECT *
FROM salarie';
$sql=mysql_query($req);
while($ligne=mysql_fetch_array($sql)){
echo '<tr>
<td>$ligne[0]</td>
<td>$ligne[1]</td>
<td>$ligne[2]</td>
<td>$ligne[3]</td>
<td>$ligne[4]</td>
<td>$ligne[5]</td>
<td>$ligne[6]</td>
<td>$ligne[7]</td>
<td>$ligne[8]</td>
<td>$ligne[9]</td>
<td>$ligne[10]</td>
<td>$ligne[11]</td>
<td>$ligne[12]</td>
<td>$ligne[13]</td>
<td>$ligne[14]</td>
<td>$ligne[15]</td>
<td>$ligne[16]</td>
<td>$ligne[17]</td>
<td>$ligne[18]</td>
<td>$ligne[19]</td>
<td>$ligne[20]</td>
<td>$ligne[21]</td>
<td>$ligne[22]</td>
<td>$ligne[23]</td>
<td>$ligne[24]</td>
<td>$ligne[25]</td>
<td>$ligne[26]</td>
<td>$ligne[27]</td>
<td>$ligne[28]</td>
<td>$ligne[29]</td>
<td>$ligne[30]</td>
// manquerait un "<td>"
<img src="http://www.nomdusite.fr$ligne[0].'.jpg" alt="Image de '.$ligne[0].'" />
// manquerait un "</td>"
<td><a href="supsal_fonct.php?id='.$ligne[0].'">Supprimer</a></td>'; // manquerait un "</tr>"
}
?>
J'ai remplacé tes doubles-quot par des simples pour le php, parce qu'on utilise souvent les doubles dans le (X)HTML, ça évite d'avoir à les échapper.
Je vois autre chose :
Tu dois être en train de construire un tableau, tu en ouvre une ligne au début de la boucle et tu ne la referme jamais, de plus, je pense que l'image aussi devrait se trouver dans une cellule, comme ça toute seule au milieu du tableau j'pense pas qu'ça marche !
Et tu aurais un tableau à plus de 30 colonnes ?
Bon, essaie de rajouter la cellule autour de l'image : '<td><img src="http://www.nomdusite.fr$ligne[0].'.jpg" alt="Image de '.$ligne[0].'" /></td>'
Et referme la ligne à la fin de la boucle : '<td><a href="supsal_fonct.php?id='.$ligne[0].'">Supprimer</a></td>
</tr>'
Et je pense que ça devrait aller mieux, non ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je comprends pas l'utilité des echos?
vu que tu utilises le while:
tu peux utiliser un foreach à l'interieur :)
vu que tu utilises le while:
tu peux utiliser un foreach à l'interieur :)
while($ligne=mysql_fetch_array($sql)){ foreach($ligne as $value) echo "<td>".$value."</td>"; }
Flohti
Messages postés
162
Date d'inscription
mercredi 25 juillet 2007
Statut
Membre
Dernière intervention
7 février 2010
15
6 août 2009 à 12:58
6 août 2009 à 12:58
Exact !!!^^
Plus echo la cellule de l'image, et celle du lien de suppression évidemment
Plus echo la cellule de l'image, et celle du lien de suppression évidemment
hawaabdo
Messages postés
9
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
16 août 2009
8 août 2009 à 10:33
8 août 2009 à 10:33
bonjour à tous
j'ai essayé les corrections que vous m'avez fourni mais ça ne marche toujours pas il m'affiche meme pas les autres champs il m'affiche à la place $ligne["le numéro"] et à la place de la photo il m'ecrit "image 1, image 2, ainsi de suite pour tous les membre"
et voici le code que j'ai modifié :
"
<?php
require("connect_db.php");
$req="SELECT *
FROM salarie";
$sql=mysql_query($req);
while($ligne=mysql_fetch_array($sql))
{
echo '<tr>
<td>$ligne[0]</td>
<td>$ligne[1]</td>
<td>$ligne[2]</td>
<td>$ligne[3]</td>
<td>$ligne[4]</td>
<td>$ligne[5]</td>
<td>$ligne[6]</td>
<td>$ligne[7]</td>
<td>$ligne[8]</td>
<td>$ligne[9]</td>
<td>$ligne[10]</td>
<td>$ligne[11]</td>
<td>$ligne[12]</td>
<td>$ligne[13]</td>
<td>$ligne[14]</td>
<td>$ligne[15]</td>
<td>$ligne[16]</td>
<td>$ligne[17]</td>
<td>$ligne[18]</td>
<td>$ligne[19]</td>
<td>$ligne[20]</td>
<td>$ligne[21]</td>
<td>$ligne[22]</td>
<td>$ligne[23]</td>
<td>$ligne[24]</td>
<td>$ligne[25]</td>
<td>$ligne[26]</td>
<td>$ligne[27]</td>
<td>$ligne[28]</td>
<td>$ligne[29]</td>
<td><img src="C:/Program Files/EasyPHP1-7/www/personnels'.$ligne[0].'.jpg" alt="Image de '.$ligne[0].'" /></td>
<td><a href="supsal_fonct.php?id='.$ligne[0].'">Supprimer</a></td> </tr>';
}
?>
"
merci de me repondre
j'ai essayé les corrections que vous m'avez fourni mais ça ne marche toujours pas il m'affiche meme pas les autres champs il m'affiche à la place $ligne["le numéro"] et à la place de la photo il m'ecrit "image 1, image 2, ainsi de suite pour tous les membre"
et voici le code que j'ai modifié :
"
<?php
require("connect_db.php");
$req="SELECT *
FROM salarie";
$sql=mysql_query($req);
while($ligne=mysql_fetch_array($sql))
{
echo '<tr>
<td>$ligne[0]</td>
<td>$ligne[1]</td>
<td>$ligne[2]</td>
<td>$ligne[3]</td>
<td>$ligne[4]</td>
<td>$ligne[5]</td>
<td>$ligne[6]</td>
<td>$ligne[7]</td>
<td>$ligne[8]</td>
<td>$ligne[9]</td>
<td>$ligne[10]</td>
<td>$ligne[11]</td>
<td>$ligne[12]</td>
<td>$ligne[13]</td>
<td>$ligne[14]</td>
<td>$ligne[15]</td>
<td>$ligne[16]</td>
<td>$ligne[17]</td>
<td>$ligne[18]</td>
<td>$ligne[19]</td>
<td>$ligne[20]</td>
<td>$ligne[21]</td>
<td>$ligne[22]</td>
<td>$ligne[23]</td>
<td>$ligne[24]</td>
<td>$ligne[25]</td>
<td>$ligne[26]</td>
<td>$ligne[27]</td>
<td>$ligne[28]</td>
<td>$ligne[29]</td>
<td><img src="C:/Program Files/EasyPHP1-7/www/personnels'.$ligne[0].'.jpg" alt="Image de '.$ligne[0].'" /></td>
<td><a href="supsal_fonct.php?id='.$ligne[0].'">Supprimer</a></td> </tr>';
}
?>
"
merci de me repondre
hawaabdo
Messages postés
9
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
16 août 2009
8 août 2009 à 10:33
8 août 2009 à 10:33
bonjour à tous
j'ai essayé les corrections que vous m'avez fourni mais ça ne marche toujours pas il m'affiche meme pas les autres champs il m'affiche à la place $ligne["le numéro"] et à la place de la photo il m'ecrit "image 1, image 2, ainsi de suite pour tous les membre"
et voici le code que j'ai modifié :
"
<?php
require("connect_db.php");
$req="SELECT *
FROM salarie";
$sql=mysql_query($req);
while($ligne=mysql_fetch_array($sql))
{
echo '<tr>
<td>$ligne[0]</td>
<td>$ligne[1]</td>
<td>$ligne[2]</td>
<td>$ligne[3]</td>
<td>$ligne[4]</td>
<td>$ligne[5]</td>
<td>$ligne[6]</td>
<td>$ligne[7]</td>
<td>$ligne[8]</td>
<td>$ligne[9]</td>
<td>$ligne[10]</td>
<td>$ligne[11]</td>
<td>$ligne[12]</td>
<td>$ligne[13]</td>
<td>$ligne[14]</td>
<td>$ligne[15]</td>
<td>$ligne[16]</td>
<td>$ligne[17]</td>
<td>$ligne[18]</td>
<td>$ligne[19]</td>
<td>$ligne[20]</td>
<td>$ligne[21]</td>
<td>$ligne[22]</td>
<td>$ligne[23]</td>
<td>$ligne[24]</td>
<td>$ligne[25]</td>
<td>$ligne[26]</td>
<td>$ligne[27]</td>
<td>$ligne[28]</td>
<td>$ligne[29]</td>
<td><img src="C:/Program Files/EasyPHP1-7/www/personnels'.$ligne[0].'.jpg" alt="Image de '.$ligne[0].'" /></td>
<td><a href="supsal_fonct.php?id='.$ligne[0].'">Supprimer</a></td> </tr>';
}
?>
"
merci de me repondre
j'ai essayé les corrections que vous m'avez fourni mais ça ne marche toujours pas il m'affiche meme pas les autres champs il m'affiche à la place $ligne["le numéro"] et à la place de la photo il m'ecrit "image 1, image 2, ainsi de suite pour tous les membre"
et voici le code que j'ai modifié :
"
<?php
require("connect_db.php");
$req="SELECT *
FROM salarie";
$sql=mysql_query($req);
while($ligne=mysql_fetch_array($sql))
{
echo '<tr>
<td>$ligne[0]</td>
<td>$ligne[1]</td>
<td>$ligne[2]</td>
<td>$ligne[3]</td>
<td>$ligne[4]</td>
<td>$ligne[5]</td>
<td>$ligne[6]</td>
<td>$ligne[7]</td>
<td>$ligne[8]</td>
<td>$ligne[9]</td>
<td>$ligne[10]</td>
<td>$ligne[11]</td>
<td>$ligne[12]</td>
<td>$ligne[13]</td>
<td>$ligne[14]</td>
<td>$ligne[15]</td>
<td>$ligne[16]</td>
<td>$ligne[17]</td>
<td>$ligne[18]</td>
<td>$ligne[19]</td>
<td>$ligne[20]</td>
<td>$ligne[21]</td>
<td>$ligne[22]</td>
<td>$ligne[23]</td>
<td>$ligne[24]</td>
<td>$ligne[25]</td>
<td>$ligne[26]</td>
<td>$ligne[27]</td>
<td>$ligne[28]</td>
<td>$ligne[29]</td>
<td><img src="C:/Program Files/EasyPHP1-7/www/personnels'.$ligne[0].'.jpg" alt="Image de '.$ligne[0].'" /></td>
<td><a href="supsal_fonct.php?id='.$ligne[0].'">Supprimer</a></td> </tr>';
}
?>
"
merci de me repondre
Flohti
Messages postés
162
Date d'inscription
mercredi 25 juillet 2007
Statut
Membre
Dernière intervention
7 février 2010
15
9 août 2009 à 17:43
9 août 2009 à 17:43
Oups^^, j'ai pas concaténué :
Les images ?!?
T'as pas d'espaces dans la variable?
Vérifie le chemin créé : C:/Program Files/EasyPHP1-7/www/personnels'.$ligne[0].'.jpg
genre le "C:/Programme Files/..." peut-être à changer en relatif : /personnels'.$ligne[0].'.jpg, si ta page est bien dans /www
Mais, on a dit foreach aussi^^ :
echo '<tr> <td>'.$ligne[0].'</td> <td>'.$ligne[1].'</td> <td>'.$ligne[2].'</td>// ...
Les images ?!?
T'as pas d'espaces dans la variable?
Vérifie le chemin créé : C:/Program Files/EasyPHP1-7/www/personnels'.$ligne[0].'.jpg
genre le "C:/Programme Files/..." peut-être à changer en relatif : /personnels'.$ligne[0].'.jpg, si ta page est bien dans /www
Mais, on a dit foreach aussi^^ :
<?php require("connect_db.php"); $req="SELECT * FROM salarie"; $sql=mysql_query($req); while($ligne=mysql_fetch_array($sql)) { echo '<tr>'; foreach($ligne as $value) echo '<td>'.$value.'</td>'; // si "personnels" n'est pas un dossier mais bien une partie du nom de l'image, sinon il faut mettre un "/" après "personnels/" !!! echo '<td><img src="/personnels'.$ligne[0].'.jpg" alt="Image de '.$ligne[0].'" /></td> <td><a href="supsal_fonct.php?id='.$ligne[0].'">Supprimer</a></td> </tr>'; } ?>
hawaabdo
Messages postés
9
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
16 août 2009
11 août 2009 à 10:09
11 août 2009 à 10:09
ca marche pas
ca affiche tout les informations sauf les photos
je sais pas koi faire
je suis désespérée
ca affiche tout les informations sauf les photos
je sais pas koi faire
je suis désespérée
Bonjour hawaabdo,
Je me permet de reprendre ton code pour y faire quelques corrections déjà pour y voir plus clair ^^.
Mais sans voir le contenu de ta base c'est pas évident.
J'ai mis des commentaires dans ton code tu les verras apparaitre en vert sur un éditeur de texte genre Notepad++.
En principe ça devrait marcher cette fois !
Bon courage ;)
Je me permet de reprendre ton code pour y faire quelques corrections déjà pour y voir plus clair ^^.
Mais sans voir le contenu de ta base c'est pas évident.
J'ai mis des commentaires dans ton code tu les verras apparaitre en vert sur un éditeur de texte genre Notepad++.
<?php /** * Affichage du tableau des salariés */ // Connexion à la base require("connect_db.php"); $sql = mysql_query(" SELECT * FROM salarie "); // On crée une variable pour l'affichage // plutôt que de faire plein d'écho dans // la boucle => optimisation du temps // d'affichage $out = ""; /** * Dossier des images des salariés * Plutôt que de mettre un lien absolu : * "C:/Program Files/EasyPHP1-7/www/personnels/image.jpg" * Il vaut mieux choisir un lien relatif (si tu connais pas renseigne toi sur internet * pour comprendre la syntaxe : * "../personnels/image.jpg" si la page est dans un dossier différent des images * "image.jpg" si la page est dans le même dossier */ $dossier_img = "../personnels/"; $ext_img = ".jpg"; // Dosisi // On parcours toutes les lignes du résultat de la requête while($ligne = mysql_fetch_array($sql)) { // Une nouvelle ligne $out .= "<tr>"; // On parcours tous les champs de la ligne actuelle foreach ($ligne as $val) { // On ajoute une cellule dans le tableau $out .= "<td>$val</td>"; } // Nom de la personne $nom = $ligne[0]; // Plutôt que de mettre ligne[0] met ligne[nomDuChampSQL] (ex:ligne[photo] si la colonne s'appelle photo) c plus lisible // On affiche l'image du salarié // Quand tu écris une chaine en php et que tu veux mettre des " à l'intérieur // n'oublie pas de les remplacer par \" sinon PHP pensera que tu découpes ta chaine $image = $dossier_img . $nom . $ext_img; $out .= "<td><img src=\"$image\" alt=\"Image de $nom\" title=\"Voici l'image de $nom\" /></td>"; // Lien qui fait je sais pas quoi ^^, t'as encore oublié de remplacer les " par des \" ;) $out .= "<td><a href=\"supsal_fonct.php?id=$nom\">Supprimer</a></td>"; // Fin de ligne $out .= "</tr>"; } ?>
En principe ça devrait marcher cette fois !
Bon courage ;)
Flohti
Messages postés
162
Date d'inscription
mercredi 25 juillet 2007
Statut
Membre
Dernière intervention
7 février 2010
15
>
Bludwarf
11 août 2009 à 22:54
11 août 2009 à 22:54
Salut,
En général, étant donné qu'on utilise beaucoup les " en (X)HTML, j'ai tendance à préférer les ' pour le php, cela n'engage que moi évidemment.
Et je me permets, de plus, de changer ceux visibles, ainsi que les accents, " pour citations ou quoi = " et ' pour toutes les apostrophes en grande partie = ’
Avec tout ça j'évite pratiquement tout échappement et risques éventuelles d'erreurs de codage.
Entièrement d'accord avec la variable de sortie, ça permet entre autre de revenir dessus ou de faire, enfin de compte, autre chose.
En général, étant donné qu'on utilise beaucoup les " en (X)HTML, j'ai tendance à préférer les ' pour le php, cela n'engage que moi évidemment.
Et je me permets, de plus, de changer ceux visibles, ainsi que les accents, " pour citations ou quoi = " et ' pour toutes les apostrophes en grande partie = ’
Avec tout ça j'évite pratiquement tout échappement et risques éventuelles d'erreurs de codage.
Entièrement d'accord avec la variable de sortie, ça permet entre autre de revenir dessus ou de faire, enfin de compte, autre chose.
hawaabdo
Messages postés
9
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
16 août 2009
16 août 2009 à 10:11
16 août 2009 à 10:11
salut,
je ne sais pas quoi dire ni commennt vous remercier
merci milles fois à tous
vous êtes vraiment coul
ça marche bien
merci encore une fois et à +
je ne sais pas quoi dire ni commennt vous remercier
merci milles fois à tous
vous êtes vraiment coul
ça marche bien
merci encore une fois et à +