Récupérer un tableau d'une bdd

Résolu
Leneuf8000 Messages postés 118 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 6 octobre 2005 - 1 juin 2005 à 15:49
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 1 juin 2005 à 17:00
Rebonjour,

j'ai enregistré dans ma base des tableaux dans une table, ce tableau
contient des valeurs qui doivent être mises à jour chaque jour, ainsi
les tableaux augmentent chaque jour d'une case et on y insère la valeur
du jour, tout ceci est automatique. Or j'arrive à mettre mes tableaux
dans ma bdd, mes qd je veux les ressortir il ne me sort qu'une valeur
et je ne peux pas ajouter de case aux tableaux...Voici mon code :



if ($db = mysql_pconnect($host, $login, $mdp)) {

if($dbb = mysql_select_db($base)) {



$search_adr= "SELECT adresse FROM $table";

$result=mysql_query($search_adr) or die(mysql_error());



while ($ligne = mysql_fetch_row($result)){




$search_class = "SELECT
class_note,class_vote,class_nb_clics FROM $table WHERE
adresse='$ligne[0]'";


$result_class=mysql_query($search_class) or
die(mysql_error());




$search_class_quot = "SELECT
class_quot_note,class_quot_vote,class_quot_nb_clics FROM statistiques
WHERE adresse='$ligne[0]'";


$result_class_quot=mysql_query($search_class) or
die(mysql_error());


$class_diff_quot =
mysql_fetch_row($result_class_quot);








//On compte la taille des tableaux deja
enregistrés

$compt_taille=count($class_diff_quot[0]);


echo "La taille du tableau tab_class_vote :
".$compt_taille." de la table : ".$ligne[0]."
";



$i=$compt_taille+1;




while ($class_diff = mysql_fetch_row($result_class)){


//On construit les tableaux pour
conserver les places


echo "Je place les données dans
la case ".$i."
";



$tab_class_quot_note[$i]=$class_diff[0];



$tab_class_quot_vote[$i]=$class_diff[1];



$tab_class_quot_nb_clics[$i]=$class_diff[2];

$i++;

}



//On met la base de données à jour


$req_alter= "UPDATE statistiques SET
class_quot_note='$tab_class_quot_note',class_quot_vote='$tab_class_quot_vote',class_quot_nb_clics='$tab_class_quot_nb_clics'
where adresse='$ligne[0]'";


$result_req_alter=mysql_query($req_alter) or
die(mysql_error());





//Visualisation


$search_class_quot = "SELECT
class_quot_note,class_quot_vote,class_quot_nb_clics FROM statistiques
WHERE adresse='$ligne[0]'";


$result_class_quot=mysql_query($search_class) or
die(mysql_error());


while($class_diff_quot =
mysql_fetch_row($result_class_quot)){


echo "Ce qu'il y a dans le
tableau tab_class_quot_vote : ".$class_diff_quot[1]." de la table :
".$ligne[0]."
";

}

}

}

}

mysql_close();





En fait il ne s'incrémente pas, ce que je veux c'est que
les tableaux (ici pour l'exemple j'ai essayé sur un seul :
$tab_class_vote), augmente d'une case a chaque fois que cette page est
exécutée, et que la valeur soit inscrite dans cette case. Merci d'avance

6 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 juin 2005 à 16:00
hello,



pour stocker des tableaux, il faut les serialiser. Je ne sais pas
comment tu as fait entrer tes tableaux dans ta base mais a mon avis, le
probleme vient de la.

$tableau_serialise = serialize ($tableau);

// requete pour inserer $tableau_serialise, qui est maintenant une chaine de caracteres!!



puis requete pour ressortir ton tableau. Tu recuperes donc une chaine :

$tableau_serialise

Pour le faire revenir a son ete de tableau :

$tableau = unserialize ($tableau_serialise);



Tu peux maintenant faire tes ajouts a $tableau. Et tu recommences le processus pour remettre ta table a jour.
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 juin 2005 à 16:35
Ben en php si tu fais un ajout dans un tableau, c'est automatiquement mis a la fin :



$tab[] = 2; (ca ajoute la valeur 2 a ton tableau, donc une nouvelle ligne a ton tableau, hein, c#est ce que tu veux faire ?)

exemple :



$tab = array (0, 1)

ton tableau contient donc 0 et 1

$tab[] = 2

ton tableau contient desormais 0, 1 et 2
3
Leneuf8000 Messages postés 118 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 6 octobre 2005
1 juin 2005 à 16:02
J'ai fait une petite modification à la fin :

while($class_diff_quot = mysql_fetch_row($result_class_quot)){


echo "Ce qu'il y a dans le
tableau tab_class_quot_vote : ";

print_r($class_diff_quot[1]);


echo " de la table :
".$ligne[0]."
";

}

En effet j'avais une petite erreur, et lorsque je faisai
un : "echo $class_diff_quot[1], il m'indiquait que c'était un 'Array',
donc j ai fait un print-r, ET un var_export, mais il m'affiche toujours
'Array', je ne comprends pas !
0
Leneuf8000 Messages postés 118 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 6 octobre 2005
1 juin 2005 à 16:32
Merci bien, mtnt je vais essayer de rajouter de rajouter des données
dans mes tableaux, serais tu comment on peut faire en PHP pour un
syntaxe de ce genre :

$myTab=$myTab+{2} // qui rajoute 2 à la fin du tableau

??????
0

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

Posez votre question
Leneuf8000 Messages postés 118 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 6 octobre 2005
1 juin 2005 à 16:51
Merci bien
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 juin 2005 à 17:00
Je t'en prie :-)
0
Rejoignez-nous