Tableau image php
Xella60
Messages postés
69
Statut
Membre
-
Zep3k!GnO Messages postés 2049 Statut Membre -
Zep3k!GnO Messages postés 2049 Statut Membre -
Bonjour,
J'aimerai obtenir une "galerie" d'images de ce type : www.maliki.com
J'ai essayé d'utiliser ce code trouver sur le net :
<?php
$serveur = 'localhost';
$utilisateur = 'root';
$motdepasse = 'xx';
$base = 'xx';
mysql_connect($serveur,$utilisateur,$motdepasse) or die ("erreur de connexion serveur");
mysql_select_db($base) or die ("erreur de connexion base");
$query1 = "select count(*) from photos";
$result1 = mysql_query($query1);
$row1=mysql_fetch_row($result1);
$query = "SELECT * from photos";
$result = mysql_query($query);
echo "<table>";
$i=0
while($row = mysql_fetch_row($resultg)){
$a1=$row[0];
for($i;$i<$row1;$i++)
{
echo "<tr>"; //tu vois ici une seule <tr> pour dire que c'est ligne
echo "<td><img src='le chemin de ton image (possible avec une simple requête select et tu stocke le chemin dans un variable)'></td>";
echo "<td><img src='le chemin de ton image'></td>";
echo "<td><img src='le chemin de ton image'></td>";
echo "</tr>";
$i=$i+3;
}
}
echo "</table>"; # on ferme le tableau ici pr qu'il ne répète pas a chaque itération..
?>
Ma table Photos ne contient que 2 champs. La clé primaire et un champ LienPhotos.
Le script fonctionne pas et j'en est absolument besoin.. Mon stage se finit demain midi :(
Merci d'avance !
J'aimerai obtenir une "galerie" d'images de ce type : www.maliki.com
J'ai essayé d'utiliser ce code trouver sur le net :
<?php
$serveur = 'localhost';
$utilisateur = 'root';
$motdepasse = 'xx';
$base = 'xx';
mysql_connect($serveur,$utilisateur,$motdepasse) or die ("erreur de connexion serveur");
mysql_select_db($base) or die ("erreur de connexion base");
$query1 = "select count(*) from photos";
$result1 = mysql_query($query1);
$row1=mysql_fetch_row($result1);
$query = "SELECT * from photos";
$result = mysql_query($query);
echo "<table>";
$i=0
while($row = mysql_fetch_row($resultg)){
$a1=$row[0];
for($i;$i<$row1;$i++)
{
echo "<tr>"; //tu vois ici une seule <tr> pour dire que c'est ligne
echo "<td><img src='le chemin de ton image (possible avec une simple requête select et tu stocke le chemin dans un variable)'></td>";
echo "<td><img src='le chemin de ton image'></td>";
echo "<td><img src='le chemin de ton image'></td>";
echo "</tr>";
$i=$i+3;
}
}
echo "</table>"; # on ferme le tableau ici pr qu'il ne répète pas a chaque itération..
?>
Ma table Photos ne contient que 2 champs. La clé primaire et un champ LienPhotos.
Le script fonctionne pas et j'en est absolument besoin.. Mon stage se finit demain midi :(
Merci d'avance !
A voir également:
- Tableau image php
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Image iso - Guide
5 réponses
C'est bien parce que le select count(*) , m'a fait mal au coeur pour la base de donnée... :
J'ai pas testé le code, mais dans l'esprit ça le fera + avec ça !
<?php
define("NB_IMG_PER_LINE", 3);
$serveur = 'localhost';
$utilisateur = 'root';
$motdepasse = 'xx';
$base = 'xx';
mysql_connect($serveur,$utilisateur,$motdepasse) or die ("erreur de connexion serveur");
mysql_select_db($base) or die ("erreur de connexion base");
$query = "SELECT 'LienPhotos' from 'photos'";
$result = mysql_query($query) or die('Error mysql : '.mysql_error());
if(mysql_num_rows($query) > 0){
echo "<table>";
$iCptLine = 1;
while($row = mysql_fetch_assoc($result)){
if($iCptLine == 1){
echo "<tr>";
}
echo "<td><img src='".$row['LienPhotos']."'/></td>";
if($iCptLine == NB_IMG_PER_LINE){
$iCptLine = 1;
echo "</tr>";
}
$iCpt++;
}
echo "</table>";
}else{
echo "Il n'y a pas d'images en base.";
}
?>
J'ai pas testé le code, mais dans l'esprit ça le fera + avec ça !
Merci de m'avoir répondu, ton code ne fonctionne pas. Il me renvoi toujours "Il n'y a pas d'images en base"
Alors qu'avec une simple requête qui affiche en liste j'ai bien mes images.
Alors qu'avec une simple requête qui affiche en liste j'ai bien mes images.
J'ai résolu une partie du problème, tu as écrit:
if(mysql_num_rows($query) > 0)
La bonne syntaxe est :
if(mysql_num_rows($result)> 0)
Du coup je n'ai plus le message qui dit qu'il n'y a pas d'images en base.
Par contre mon autre problèmes est :
Le résultat de la requête s'affiche toujours en ligne ... Et au lieu de m'afficher mes photos cela affiche comme ceci:
LienPhotos
LienPhotos
LienPhotos
LienPhotos
LienPhotos
LienPhotos
LienPhotos
if(mysql_num_rows($query) > 0)
La bonne syntaxe est :
if(mysql_num_rows($result)> 0)
Du coup je n'ai plus le message qui dit qu'il n'y a pas d'images en base.
Par contre mon autre problèmes est :
Le résultat de la requête s'affiche toujours en ligne ... Et au lieu de m'afficher mes photos cela affiche comme ceci:
LienPhotos
LienPhotos
LienPhotos
LienPhotos
LienPhotos
LienPhotos
LienPhotos
J'arrive a afficher mes images mais il me reste un problème !
Je ne sais pas comment corriger la boucle, en faite quand le compteur = 3 on change de ligne on met le compteur à 0.
Juste après tu met le compteur a incrémenter, du coup la condition pour ouvrir une ligne ne fonctionne pas!
Je me retrouve donc avec une ligne à 3 colonnes puis une deuxieme ligne ou TOUTES les images se suivent.
Merci beaucoup pour la piste, j'essai de corriger la boucle mais j'ai pas d'idée là.
Voilà mon code actuel:
<?php
$serveur = 'localhost';
$utilisateur = 'root';
$motdepasse = 'xx';
$base = 'xx';
mysql_connect($serveur,$utilisateur,$motdepasse) or die ("erreur de connexion serveur");
mysql_select_db($base) or die ("erreur de connexion base");
$query = "SELECT LienPhotos from photos";
$result = mysql_query($query) or die('Error mysql : '.mysql_error());
if(mysql_num_rows($result) > 0){
echo "<table>";
$iCptLine == 0;
while($row = mysql_fetch_assoc($result))
{
if($iCptLine == 0)
{
echo "<tr>";
}
echo "<td>".$row['LienPhotos']."</td>";
if($iCptLine == 3)
{
$iCptLine == 0;
echo "</tr>";
}
$iCptLine==$iCptLine++;
}
echo "</table>";
}else{
echo "Il n'y a pas d'images en base.";
}
?>
Je ne sais pas comment corriger la boucle, en faite quand le compteur = 3 on change de ligne on met le compteur à 0.
Juste après tu met le compteur a incrémenter, du coup la condition pour ouvrir une ligne ne fonctionne pas!
Je me retrouve donc avec une ligne à 3 colonnes puis une deuxieme ligne ou TOUTES les images se suivent.
Merci beaucoup pour la piste, j'essai de corriger la boucle mais j'ai pas d'idée là.
Voilà mon code actuel:
<?php
$serveur = 'localhost';
$utilisateur = 'root';
$motdepasse = 'xx';
$base = 'xx';
mysql_connect($serveur,$utilisateur,$motdepasse) or die ("erreur de connexion serveur");
mysql_select_db($base) or die ("erreur de connexion base");
$query = "SELECT LienPhotos from photos";
$result = mysql_query($query) or die('Error mysql : '.mysql_error());
if(mysql_num_rows($result) > 0){
echo "<table>";
$iCptLine == 0;
while($row = mysql_fetch_assoc($result))
{
if($iCptLine == 0)
{
echo "<tr>";
}
echo "<td>".$row['LienPhotos']."</td>";
if($iCptLine == 3)
{
$iCptLine == 0;
echo "</tr>";
}
$iCptLine==$iCptLine++;
}
echo "</table>";
}else{
echo "Il n'y a pas d'images en base.";
}
?>
J'ai résolu mon problème !!! Merci beaucoup pour la piste que tu m'as donné.
J'ai changé mon compteur de place, de plus $iCptLine == 0 ne renvoyait pas la valeur 0 du coup il n'y avait de pas de passage à la ligne suivante.
J'ai changé comme ceci:
$query = "SELECT LienPhotos from photos";
$result = mysql_query($query) or die('Error mysql : '.mysql_error());
if(mysql_num_rows($result) > 0){
echo "<table align='center'>";
$iCptLine == 0;
while($row = mysql_fetch_assoc($result))
{
if($iCptLine == 0)
{
echo "<tr>";
}
echo "<td>".$row['LienPhotos']."</td>";
$iCptLine==$iCptLine++;
if($iCptLine == 3)
{
$iCptLine='';
echo "$iCptLine";
echo "</tr>";
}
}
echo "</table>";
}else{
echo "Il n'y a pas d'images en base.";
}
?>
J'ai changé mon compteur de place, de plus $iCptLine == 0 ne renvoyait pas la valeur 0 du coup il n'y avait de pas de passage à la ligne suivante.
J'ai changé comme ceci:
$query = "SELECT LienPhotos from photos";
$result = mysql_query($query) or die('Error mysql : '.mysql_error());
if(mysql_num_rows($result) > 0){
echo "<table align='center'>";
$iCptLine == 0;
while($row = mysql_fetch_assoc($result))
{
if($iCptLine == 0)
{
echo "<tr>";
}
echo "<td>".$row['LienPhotos']."</td>";
$iCptLine==$iCptLine++;
if($iCptLine == 3)
{
$iCptLine='';
echo "$iCptLine";
echo "</tr>";
}
}
echo "</table>";
}else{
echo "Il n'y a pas d'images en base.";
}
?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Yes,
j'ai écrit ça vite fait hier entre 2 trucs et i'ai fait pas mal de CC d'ou les p'tites erreurs :) mais l'esprit était la.
pour info :
$iCptLine == 0;
Mieux vaut mettre
$iCptLine = 0; // le double = étant utllisé lors de tests et non lors d'une affectation
$iCptLine==$iCptLine++;
Mieux vaut mettre juste $iCptLine++; //c'est la syntaxe raccourci pour $iCptLine += 1;
Zep3k!GnO
j'ai écrit ça vite fait hier entre 2 trucs et i'ai fait pas mal de CC d'ou les p'tites erreurs :) mais l'esprit était la.
pour info :
$iCptLine == 0;
Mieux vaut mettre
$iCptLine = 0; // le double = étant utllisé lors de tests et non lors d'une affectation
$iCptLine==$iCptLine++;
Mieux vaut mettre juste $iCptLine++; //c'est la syntaxe raccourci pour $iCptLine += 1;
Zep3k!GnO
On est des rangers mec, des rangers...