|
|
|
|
Configuration: Windows XP Firefox 2.0.0.12
Normal!
mysql_fetch_array() fonctionne de façon assez particulière, et passe automatiquement à la ligne suivante lors de son prochain appel. Il rend un tableau et sinon il rend false lorsque tout les résultats sont donnés. Il faut écrire: $resultatRequete = mysql_query($requete, $connexionMYSQL); while($resultats = mysql_fetch_array($resultatRequete)) { $id = $resultats['identifiant_promotion']; echo $id." "; echo "<br>"; }
|
bonjour
while($resultats = mysql_fetch_array($resultatRequete)) indique que tand quil existe des enregistremment dans la table il va afficher les enregistremment du champ identifiant_promotion :) ; |
Sans oser abuser de votre gentillesse et de votre temps,
j'aimerai récupérer les lien_photo afin de pouvoir les afficher. j'avais pensé a utiliser les variables de session pour stocker les résultats et donc afficher les 4 images qui sont stockées. while($resultats = mysql_fetch_array($resultatRequete)) { $id = $resultats['identifiant_promotion']; echo $id." "; echo "<br>"; $i = 0; $_SESSION['photo_promo'][$i] = $resultats['lien_photo']; echo $_SESSION['photo_promo'][$i]; echo "<br>"; } j'ai donc : 14 Collines.jpg 15 sebyan.JPG 16 Nénuphars.jpg 17 Hiver.jpg mais en sortant du while, et c'est normal, quand je fais echo $_SESSION['photo_promo']; j'ai jsute Hiver.jpg d'afficher comment puis je les mettre dans un tableau afin de les réutiliser ? merci par avance |
Tu n'incrémentes pas la valeur de i dans ta boucle. C'est donc normal que tu n'ais que la dernière image dans ton tableau.
$i = 0; while($resultats = mysql_fetch_array($resultatRequete)) { $id = $resultats['identifiant_promotion']; echo $id." "; echo "<br>"; $_SESSION['photo_promo'][$i++] = $resultats['lien_photo']; echo $_SESSION['photo_promo'][$i-1]; echo "<br>"; } -- Alex pour vous servir -- -- N'oubliez pas de mettre vos sujets en "Résolu" lorsque vous avez la réponse ;-) -- |
Avec le dernier code donné,
j'obtiens comme resultats 14 C 15 s 16 N 17 H En fait, je voudrais recuperer les lien_photo, pour les stocker dans une variable de sessions, afin d'afficher sur une vue (vueElementaire_accueil.php) les differentes photos <?php echo '<IMG SRC="Photos/'.$_SESSION[indice tableau][indice de la photo1].'" BORDER="0">'; echo '<IMG SRC="Photos/'.$_SESSION[indice tableau][indice de la photo2].'" BORDER="0">'; echo '<IMG SRC="Photos/'.$_SESSION[indice tableau][indice de la photo3].'" BORDER="0">'; echo '<IMG SRC="Photos/'.$_SESSION[indice tableau][indice de la photo4].'" BORDER="0">'; ?> désolé si je suis pas clair |
Salut,
Essai peut-être : $i = 0; while($resultats = mysql_fetch_array($resultatRequete)) { $id = $resultats['identifiant_promotion']; echo $id." "; echo "<br>"; $_SESSION['photo_promo'][$i] = $resultats['lien_photo']; echo $_SESSION['photo_promo'][$i]; echo "<br>"; $i++; } |
non cela ne marche pas :/
LA véritable question est : Une fois la boucle effectuée, comment fais-je pour que les données récupérées (a savoir les lien photo) soit dans un tableau afin que je puisse les afficher ? J'utilise la méthode de conception MVC (du moins j'essaye !), mon action qui récupère les données (lien photo) s'appelle action_initialiser (là ou il y a la boucle pour récupérer les liens) et avec le contrôleur, qui exécute l'action, j'envoie les lien photo (qui sont dans une variable de session) a afficher sur ma vue, vueElementaire_accueil.php où serait une sorte d' echo '<IMG SRC="Photos/'.$_SESSION['affichage'][1].'" BORDER="0">'; avec ou sans boucle d'affichage. Je pense avoir expliqué le plus clairement possible le problème auquel je suis confronté mais bon, même moi je ne me trouve pas clair des fois :/ |
Essaye ça : $_SESSION['photo_promo']['$i'] = $resultats['lien_photo'];
-- Alex pour vous servir --
-- N'oubliez pas de mettre vos sujets en "Résolu" lorsque vous avez la réponse ;-) -- |
non, ça ne marche pas :/ |
Essaie peut-être de contourner il y a peut-être des conditions lors de l'utilisation de variable de sessions que je ne vois pas (on peut les utiliser directement comme tableau ? je pencherai pour oui mais ..)
Donc remplis tes liens avec un tableau et ensuite ajoute le dans ta variable de session. Du genre : $i = 0; while($resultats = mysql_fetch_array($resultatRequete)) { $id = $resultats['identifiant_promotion']; echo $id." "; echo "<br>"; $monTab[$i] = $resultats['lien_photo']; $i++; } $_SESSION['photo_promo'] = $monTab; Puis sur ton autre page : $i = sizeof($tab) - 1 ; while ($j < $i) { echo $_SESSION['photo_promo'][$j]; echo "<br>"; } |
Merci pour la première partie, j'arrive maintenant a enregistrer le tableau de mes liens dans la variable de session,
mais avec la deuxième partie du code, j' n'arrive pas a afficher ce que je veux :/ j'obtiens une boucle infini qui n'affiche pas les photos puisque cela ne trouve pas les liens ... alors j'avais pensé a faire une boucle comme ça : dans mon action => $numligne = mysql_num_rows($resultatRequete); $_SESSION['nbresultats'] = $numligne; $i = 0; while($resultats = mysql_fetch_array($resultatRequete)) { $id = $resultats['identifiant_promotion']; echo $id." "; echo "<br>"; $monTab[$i] = $resultats['lien_photo']; $i++; } $_SESSION['photo_promo'] = $monTab; et pour afficher mes photos, dans ma deuxieme page : $resTableau = $_SESSION['nbresultats']; for ($i = 0 ; $i < $resTableau ; $i++) { echo '<IMG SRC="Photos/'.$_SESSION['photo_promo'][$i].'" height="40%" width="40%" BORDER="0">'; echo "<br>"; } Cela m'affiche les photos. Mais je sais pas si c'est optimisé x) Si vous avez quelque chose à me proposer avant que je ne mette "résolu", je suis tout ouïe ! En tout cas merci beaucoup pour votre aide :D |
Non rien à ajouter ton code est nickel. Il manquait juste l'incrément dans la boucle de chico pour que tu n'ais plus de boucle infini.
Bonne continuation -- Alex pour vous servir -- -- N'oubliez pas de mettre vos sujets en "Résolu" lorsque vous avez la réponse ;-) -- |