PHP boucle while avec incrémentation dans une balise img

allellla Messages postés 19 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 15 avril 2011 - 2 mars 2009 à 23:03
allellla Messages postés 19 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 15 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 -----------------------------------------------------------------------------------------------------

$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

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
3 mars 2009 à 06:09
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 -
0
chasseur2 Messages postés 33 Date d'inscription vendredi 3 mars 2006 Statut Membre Dernière intervention 10 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
}
0
allellla Messages postés 19 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 15 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
0
chasseur2 Messages postés 33 Date d'inscription vendredi 3 mars 2006 Statut Membre Dernière intervention 10 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
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chasseur2 Messages postés 33 Date d'inscription vendredi 3 mars 2006 Statut Membre Dernière intervention 10 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();
0
allellla Messages postés 19 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 15 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++

merci
0
allellla Messages postés 19 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 15 avril 2011
3 mars 2009 à 12:45
je vais essayer de suite : merci merci merci
0
chasseur2 Messages postés 33 Date d'inscription vendredi 3 mars 2006 Statut Membre Dernière intervention 10 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();
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
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.

Cordialement,

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

bye
0
Rejoignez-nous