Aller au contenu

Problème de remplissage tableau


Technogreg

Sujets conseillés

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é par Technogreg
Lien vers le commentaire
Partager sur d’autres sites

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 :P

edit : hoops le temps d'écrire le message et trop tard .....

Modifié par astrofiles
Lien vers le commentaire
Partager sur d’autres sites

Posté (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é par Technogreg
Lien vers le commentaire
Partager sur d’autres sites

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 :)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...