PHP boucle while avec incrémentation dans une balise img

Signaler
Messages postés
19
Date d'inscription
lundi 8 décembre 2008
Statut
Membre
Dernière intervention
15 avril 2011
-
Messages postés
19
Date d'inscription
lundi 8 décembre 2008
Statut
Membre
Dernière intervention
15 avril 2011
-
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 -----------------------------------------------------------------------------------------------------

$bdd_url_image_galerie ='http://localhost/mon_site/images/images_book/';

// 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
}
?>

10 réponses

Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Salut,

J'ai juste jeté un oeil à la partie image taille réelle :

$recuperation_galerie_book est défini où ??? C'est $array_galerie_book plutôt, non ?

Cordialement,

Kohntark -
Messages postés
33
Date d'inscription
vendredi 3 mars 2006
Statut
Membre
Dernière intervention
10 mai 2009

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
}
Messages postés
19
Date d'inscription
lundi 8 décembre 2008
Statut
Membre
Dernière intervention
15 avril 2011

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
Messages postés
33
Date d'inscription
vendredi 3 mars 2006
Statut
Membre
Dernière intervention
10 mai 2009

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
}
Messages postés
33
Date d'inscription
vendredi 3 mars 2006
Statut
Membre
Dernière intervention
10 mai 2009

et n'oublier pas que
imagejpeg($destination, $array_galerie_book);
$vignette = imagejpeg;
c'est une fonction alors le parentaise ()
$vignette = imagejpeg();
Messages postés
19
Date d'inscription
lundi 8 décembre 2008
Statut
Membre
Dernière intervention
15 avril 2011

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++

merci
Messages postés
19
Date d'inscription
lundi 8 décembre 2008
Statut
Membre
Dernière intervention
15 avril 2011

je vais essayer de suite : merci merci merci
Messages postés
33
Date d'inscription
vendredi 3 mars 2006
Statut
Membre
Dernière intervention
10 mai 2009

et n'oublier pas que
imagejpeg($destination, $array_galerie_book);
$vignette = imagejpeg;
c'est une fonction alors le parentaise ()
$vignette = imagejpeg();
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
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.

Cordialement,

Kohntark -
Messages postés
19
Date d'inscription
lundi 8 décembre 2008
Statut
Membre
Dernière intervention
15 avril 2011

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 !!

bye