PHP boucle while avec incrémentation dans une balise img
allellla
Messages postés19Date d'inscriptionlundi 8 décembre 2008StatutMembreDernière intervention15 avril 2011
-
2 mars 2009 à 23:03
allellla
Messages postés19Date d'inscriptionlundi 8 décembre 2008StatutMembreDernière intervention15 avril 2011
-
3 mars 2009 à 17:44
Bonjour
Je refait appel à vos lumière !!
je vous explique mon problème :
J'ai réalisé une galerie, j'ai vérifié avec des print-r, des echos, des var-dump est a récupération des éléments est bonne,
cependant lorsque j'essai de faire une incrémentation il ne veut pas m'afficher les images en boucles de ma table, j'ai beau me retourner le cerveau je trouve pas, j'en suis presque à m'arracher les cheveux lol.
En plus de ne pas les afficher, il rame lorsque je recharge la page : ce que je lui demande de faire doit le faire trop réfléchir et il comprend pas les bêtises que j'ai mis.
Soyez indulgent, je suis super débutante, même si je sais que j'ai du faire une énorme erreur que je n'arrive pas à voir
Autre chose, après il me faudra générer des vignettes en php avec la fonction imagecopyresampled, j'ai commencé à l'envers, je me suis dit que si j'arrive à affiche dans un premier temps mes images en tailles réelles en boucle, je pourrais ensuite faire des couper/coller pour créer des miniatures cliquable qui afficheront la grande image correspondante.
J'espère avoir été clair dans mes explication :
et voilà tin tin mon code et j'ai même mis de la couleur pour que ce soit plus lisible
Je vous redemande votre clémence
Merci d'avance
<?php
// 1 // REQUETE DE RECUPERATION DES DONNEES DE LA TABLE -------------------------------------------------------------------------------------------------------------------
$requete_recuperation_galerie_book ='SELECT galerie_book FROM '.$base_de_donnees.'.book limit 1;';
$affichage_galerie_book = mysql_query($requete_recuperation_galerie_book) or die('La requete "envoie dans la base sql" a échouée :
'.mysql_errno().' = '.mysql_error());
$ligne_galerie_book = mysql_fetch_row($affichage_galerie_book); //tableau des remontées non explodées
/*echo ' 1 ';
print_r($ligne_galerie_book);
echo '
';*/
// 2 // EXPLODE DE CE QUE L'ON A RECUPERE
$array_galerie_book = explode('|',$ligne_galerie_book[0]); // ou $ligne_galerie_book ['galerie_book'] , il n'y a qu'un champ
/*echo ' ici les url | ';
print_r($array_galerie_book);
echo '
';*/
// 3 // ON FAIT UNE BOUCLE WHILE POUR AFFICHER TOUTES LES IMAGES -----------------------------------------------------------------------------------------------------
// 3 // ON FAIT UNE BOUCLE WHILE POUR AFFICHER TOUTES LES IMAGES -----------------------------------------------------------------------------------------------------
//var_dump ($array_galerie_book[0]);
$nbr_images = count($recuperation_galerie_book);
$i=0;
while($i <= $nbr_images) //tant que le tableau a des resultats
{
echo ''; // $array_galerie_book['galerie_book'] // incere les urls dans autant de balises images
$i++;
//var_dump($array_galerie_book); // pour verifier que les urls sont dans le tableau
}
?>
<?php
// ON GENERE UNE VIGNETTE VIGNETTE AVEC LA FONCTION PHP "imagecopyresampled" -----------------------------------------------------------------------------------
$source = imagecreatefromjpeg($array_galerie_book); // La photo originale est la source
$destination = imagecreatetruecolor(100, 75); // On crée la miniature vide
// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination);
// On crée la miniature
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
// On enregistre la miniature sous le nom "mini_couchersoleil.jpg"
imagejpeg($destination, $array_galerie_book);
$vignette = imagejpeg;
// AFFICHAGE DES VIGNETTES
while($array_galerie_book) //tant que le tableau a des resultats
{
echo ''; // $array_galerie_book['galerie_book'] // incere les urls dans autant de balises images
//var_dump($array_galerie_book); // pour verifier que les urls sont dans le tableau
}
?>
A voir également:
PHP boucle while avec incrémentation dans une balise img
chasseur2
Messages postés33Date d'inscriptionvendredi 3 mars 2006StatutMembreDernière intervention10 mai 2009 3 mars 2009 à 12:16
essai de remplaca ça:
$nbr_images = count($recuperation_galerie_book);
$i=0;
while($i <= $nbr_images) //tant que le tableau a des resultats
{
echo ''; // $array_galerie_book['galerie_book'] // incere les urls dans autant de balises images
$i++;
//var_dump($array_galerie_book); // pour verifier que les urls sont dans le tableau
}
par ça :
$nbr_images = count($ligne_galerie_book);
$i=0;
while($i <= $nbr_images) //tant que le tableau a des resultats
{
echo ''; // $array_galerie_book['galerie_book'] // incere les urls dans autant de balises images
$i++;
//var_dump($array_galerie_book); // pour verifier que les urls sont dans le tableau
}
allellla
Messages postés19Date d'inscriptionlundi 8 décembre 2008StatutMembreDernière intervention15 avril 2011 3 mars 2009 à 12:26
Salut,
Merci,
effectivement, erreur d'inattention, à force d'avoir le nez dedans !!!!
J'ai apporté quelque modification mais mes images ne s'affiche tjs pas en boucle, peut être que les images sont trop grandes (px) pour quelles puissent être affiché :
en tout cas ma variable est bonne car avec : var_dump ($array_galerie_book); je récupère bien ce qu'il y a dans ma table
$nbr_images = count($array_galerie_book);
var_dump ($array_galerie_book);
$i=0;
while($i <= $nbr_images) //tant que le tableau a des resultats
{
echo '';
$i++;
//var_dump($array_galerie_book); // pour verifier que les urls sont dans le tableau
}
Mon[$i] et mon $i++est-il bien écrit, je ne savait pas trop où les mettre, je les ais mis là par logique ???
merci d'avance
chasseur2
Messages postés33Date d'inscriptionvendredi 3 mars 2006StatutMembreDernière intervention10 mai 2009 3 mars 2009 à 12:37
essai avec ça et je croix ça marche
/var_dump ($array_galerie_book[0]);
$nbr_images = count($recuperation_galerie_book);
$i=0;
while($i <= $nbr_images) //tant que le tableau a des resultats
{
echo ''; // $array_galerie_book['galerie_book'] // incere les urls dans autant de balises images
$i++;
//var_dump($array_galerie_book); // pour verifier que les urls sont dans le tableau
}
et n'oublier pas le repertoir ou sont stocké vos emage s'il existe il faut que tu le mettre comme ça
/var_dump ($array_galerie_book[0]);
$nbr_images = count($recuperation_galerie_book);
$i=0;
while($i <= $nbr_images) //tant que le tableau a des resultats
{
echo ''; // $array_galerie_book['galerie_book'] // incere les urls dans autant de balises images
$i++;
//var_dump($array_galerie_book); // pour verifier que les urls sont dans le tableau
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
chasseur2
Messages postés33Date d'inscriptionvendredi 3 mars 2006StatutMembreDernière intervention10 mai 2009 3 mars 2009 à 12:40
et n'oublier pas que
imagejpeg($destination, $array_galerie_book);
$vignette = imagejpeg;
c'est une fonction alors le parentaise ()
$vignette = imagejpeg();
allellla
Messages postés19Date d'inscriptionlundi 8 décembre 2008StatutMembreDernière intervention15 avril 2011 3 mars 2009 à 12:42
Salut
Merci chasseur2
mais je suis obligé de faire un explode car j'ai oublié de dire que je stock toutes mes images dans un même champs et je les sépare par ce caractère "|".
et le problème c'est que je récupère bien les données, mais les images ne s'affiche pas,
Est-ce que ma boucle est bien écrite surtout le [$i] et le $i++
chasseur2
Messages postés33Date d'inscriptionvendredi 3 mars 2006StatutMembreDernière intervention10 mai 2009 3 mars 2009 à 12:45
et n'oublier pas que
imagejpeg($destination, $array_galerie_book);
$vignette = imagejpeg;
c'est une fonction alors le parentaise ()
$vignette = imagejpeg();
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 3 mars 2009 à 15:50
Ta boucle while est correcte, mais il y a une erreur là :
echo ''; =>
echo '';
(cf le point)
Pour le déboguage pense à toujours activer l'affichage des erreurs php. Je ne pense pas que se soit le cas car cet oubli du point devrait en générer une.
Ai le réflexe de regarder le code HTML généré par ton code, c'est souvent comme ça que l'on voit les erreurs.
allellla
Messages postés19Date d'inscriptionlundi 8 décembre 2008StatutMembreDernière intervention15 avril 2011 3 mars 2009 à 17:44
Merci à tous pour votre aide, j'avais une erreur dans mon url c'est pour ça que l'image ne s'affichait pas, maintenant je m'attaque à la génération de vignettes avec la fonction php "imagecopyresampled", et qu'elles se générent en boucle.
J'espère que je vais y arriver toute seule,
Par contre si vous avez des conseils à me donner je suis preneuse !!