Inserer une image dans une base mysql
hawaabdo
Messages postés
11
Statut
Membre
-
hawaabdo Messages postés 11 Statut Membre -
hawaabdo Messages postés 11 Statut Membre -
Bonjour,
voici le code que j'ai mis dans ma page html pour afficher les membres avec leur photos mais ça marche pas svp essayer de voir ce qui cloche moi je vois pas
"<?php
require("connect_db.php");
$req="SELECT *
FROM salarie";
$sql=mysql_query($req);
while($ligne=mysql_fetch_array($sql)){
echo "<tr>";
echo "<td>$ligne[0]</td>";
echo "<td>$ligne[1]</td>";
echo "<td>$ligne[2]</td>";
echo "<td>$ligne[3]</td>";
echo "<td>$ligne[4]</td>";
echo "<td>$ligne[5]</td>";
echo "<td>$ligne[6]</td>";
echo "<td>$ligne[7]</td>";
echo "<td>$ligne[8]</td>";
echo "<td>$ligne[9]</td>";
echo "<td>$ligne[10]</td>";
echo "<td>$ligne[11]</td>";
echo "<td>$ligne[12]</td>";
echo "<td>$ligne[13]</td>";
echo "<td>$ligne[14]</td>";
echo "<td>$ligne[15]</td>";
echo "<td>$ligne[16]</td>";
echo "<td>$ligne[17]</td>";
echo "<td>$ligne[18]</td>";
echo "<td>$ligne[19]</td>";
echo "<td>$ligne[20]</td>";
echo "<td>$ligne[21]</td>";
echo "<td>$ligne[22]</td>";
echo "<td>$ligne[23]</td>";
echo "<td>$ligne[24]</td>";
echo "<td>$ligne[25]</td>";
echo "<td>$ligne[26]</td>";
echo "<td>$ligne[27]</td>";
echo "<td>$ligne[28]</td>";
echo "<td>$ligne[29]</td>";
echo "<td>$ligne[30]</td>";
?>
<img src="http://www.nomdusite.fr echo $ligne[0]; ?>.jpg" alt="Image de <?php echo $ligne[0]; ?>" />
<?php
echo "<td><a href=supsal_fonct.php?id=".$ligne[0].">Supprimer</a></td>";
}
?>
"
merci encore une fois
voici le code que j'ai mis dans ma page html pour afficher les membres avec leur photos mais ça marche pas svp essayer de voir ce qui cloche moi je vois pas
"<?php
require("connect_db.php");
$req="SELECT *
FROM salarie";
$sql=mysql_query($req);
while($ligne=mysql_fetch_array($sql)){
echo "<tr>";
echo "<td>$ligne[0]</td>";
echo "<td>$ligne[1]</td>";
echo "<td>$ligne[2]</td>";
echo "<td>$ligne[3]</td>";
echo "<td>$ligne[4]</td>";
echo "<td>$ligne[5]</td>";
echo "<td>$ligne[6]</td>";
echo "<td>$ligne[7]</td>";
echo "<td>$ligne[8]</td>";
echo "<td>$ligne[9]</td>";
echo "<td>$ligne[10]</td>";
echo "<td>$ligne[11]</td>";
echo "<td>$ligne[12]</td>";
echo "<td>$ligne[13]</td>";
echo "<td>$ligne[14]</td>";
echo "<td>$ligne[15]</td>";
echo "<td>$ligne[16]</td>";
echo "<td>$ligne[17]</td>";
echo "<td>$ligne[18]</td>";
echo "<td>$ligne[19]</td>";
echo "<td>$ligne[20]</td>";
echo "<td>$ligne[21]</td>";
echo "<td>$ligne[22]</td>";
echo "<td>$ligne[23]</td>";
echo "<td>$ligne[24]</td>";
echo "<td>$ligne[25]</td>";
echo "<td>$ligne[26]</td>";
echo "<td>$ligne[27]</td>";
echo "<td>$ligne[28]</td>";
echo "<td>$ligne[29]</td>";
echo "<td>$ligne[30]</td>";
?>
<img src="http://www.nomdusite.fr echo $ligne[0]; ?>.jpg" alt="Image de <?php echo $ligne[0]; ?>" />
<?php
echo "<td><a href=supsal_fonct.php?id=".$ligne[0].">Supprimer</a></td>";
}
?>
"
merci encore une fois
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 signature dans word - Guide
- Insérer une légende word - Guide
- Insérer une liste déroulante excel - Guide
9 réponses
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>";
}
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
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
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>';
}
?>
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 ;)
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.