Technogreg Posté 28 Mars 2007 Posté 28 Mars 2007 (modifié) Le titre dis tout, j'ai mis mon site en ligne sur les serveurs de 1&1 et j'ai un souci avec des tableaux. J'ai un tableau doit se remplir suivant les résultats d'une base de donnée. Mais quand je suis en ligne, la première case de mon tableau ne correspond pas à ce que j'ai hors ligne. Hors ligne je peut afficher une image, en ligne j'ai un truc du genre "Array" dans la première case de mon tableau. Je sais pas si je suis clair Si quelqu'un se sent de m'aider, voici un bout du code, qui je pense pose pb : $reponse = mysql_query('SELECT * FROM img');while($donnees = mysql_fetch_array($reponse)){ if ($tableau_url_big==""){ $tableau_url_big = $donnees['url_img']; $description=$donnees['description']; } else{ $tableau_url_big .= ','.$donnees['url_img'].''; $description.=','.$donnees['description']; } }$tableau_url_big=explode(',',$tableau_url_big);$_SESSION['tableau_url_big']=array($tableau_url_big);$description=explode(',',$description);$_SESSION['description']=array($description);?> PS : je précise que ce problème ne se produit que sur 1&1 et pas sur un autre hébergeur gratuit sur lequel j'ai testé, je penche donc pour un souci de configuration serveur. Modifié 28 Mars 2007 par Technogreg
Portekoi Posté 28 Mars 2007 Posté 28 Mars 2007 Bonjour, Peux tu donner la solution ou du moins, l'expliquer? Pensez aux autre, on ne sait jamais Merci Portekoi
astrofiles Posté 28 Mars 2007 Posté 28 Mars 2007 (modifié) Bonjour, Quelques pistes qui me viennent à l'esprit ... Déjà j'utiliserai un nom de variable différent au moment de faire $tableau_url_big=explode(',',$tableau_url_big); puisque tu transforme en tableau une variable chaine , ça marche peut être comme cela mais ca me parait plus propre. Ensuite , l'erreur ne vient elle pas de $_SESSION['tableau_url_big']=array($tableau_url_big); puisque $tableau_url_big est déjà un tableau , tu n'es pas en train de créer un tableau de tableau ...? Par contre aucune explication sur le fait que cela te le fasse sur un serveur et pas sur un autre..surement une version ou config de php différente... bonne chance edit : hoops le temps d'écrire le message et trop tard ..... Modifié 28 Mars 2007 par astrofiles
Technogreg Posté 28 Mars 2007 Auteur Posté 28 Mars 2007 (modifié) Alors pour les gens que cela intéresse, en fait la manipulation de créer un tableau, de l'exploser et de le reconstituer posais problème. Voici la nouvelle version bien plus propre : $reponse = mysql_query('SELECT * FROM img');$tableau_url_big = array();$description = array();while ($donnees = mysql_fetch_array($reponse)){ if ($tableau_url_big[0]==""){ $tableau_url_big[] = $donnees['url_img']; $description[] = $donnees['description']; } else{ $tableau_url_big[]=$donnees['url_img']; $description[] = $donnees['description']; }}$_SESSION['tableau_url_big']=$tableau_url_big;$_SESSION['description']=$description; astrofiles >> en effet c'est un tableau dans un tableau, mais c'est bien ce que je veux faire. En fait je récupère des résultats d'un BDD que je stocke dans une variable de session car cela me permet de conserver le résultat sans refaire la requête à chaque fois. En fait le code appartient à un système de galerie photo que j'ai développé. Modifié 28 Mars 2007 par Technogreg
astrofiles Posté 28 Mars 2007 Posté 28 Mars 2007 A mes yeux ce n'est pas un tableau dans un tableau (si on ne considère pas la variable de session comme un tableau ) que tu souhaitais justement car tu alimentes un tableau à partir de données sql . Ensuite tu stockes ce tableau dans une variable de session. Avant tu créais un tableau (explode) que tu alimentais dans un autre tableau que tu stockais dans une variable de session. Sauf erreur de ma part , tu as reduit d'un niveau et l'erreur était là Enfin ça marche c'est l'essentiel
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant