Aller au contenu


Photo
- - - - -

tableau PHP


  • Veuillez vous connecter pour répondre
4 réponses à ce sujet

#1 Neuromancer

Neuromancer

    Extrem Member

  • Membres
  • 926 messages

Posté 25 avril 2002 - 08:54

Voilà j'ai une question un peu compliquée à poser donc si vous comprenez pas, demandez :P

J'aimerais stocké les résultats d'une requete mySQL dans un array.
Le problème que je rencontre c'est que seule la première ligne de la requete est stockée dans le array.
J'ai pensé qu'il fallait que je fasse un array avec des array dedans qui contiennent chacun une ligne de resultat de la requete MysQL mais je sais pas comment faire.

Si vous avez compris ma question, vous auriez pas un exemple à me donner ?

Voilà ce que j'ai fait mais qui marche pas :
$requete = "SELECT * FROM table";

$result = mysql_query ($requete,$connec) or testconnec_die();

$maintable = array();

$i=0;

while ($row = mysql_fetch_array($result)) {

$maintable[$i] = array($row);





$i++;

}

foreach($maintable as $cle=>$valeur)

{

echo $cle.' : '.$valeur.'<br>';

}

  • 0

PUBLICITÉ

    Annonces Google

#2 ragol

ragol

    Mega Power Member

  • Membres
  • 475 messages

Posté 25 avril 2002 - 09:59

voila un petit exemple qui pourrais t'aider:



$sql_select = "SELECT * FROM table";

$query_select = mysql_query($sql_select, $connect);



while ( $info_select = mysql_fetch_array( $query_select ) )

  {

      // A partir d'ici chaque enregistrement est dans un tableau indexé

     // exemple si ta table contient les champs id_table et nom_table

     echo $info_select["id_table"]."<br>";

     echo $info_select["nom_table"]."<br>":

  }

Si tu veux utiliser un tableau à deux dimensions tu fais comme ca :


$sql_select = "SELECT * FROM table";

$query_select = mysql_query( $sql_select, $connect);

$i=0;

while ( $info_select = mysql_sql_fetch_array($query_select))

  {

     $info[$i]["id_table"] = $info_select["id_table"];

     $info[$i]["nom_table"] = $info_select["nom_table"];

     $i++;

  }


Voila j'espère avoir ete assez clair et surtout avoir repondu à ta question sinon tu peux toujours demandé ! :P[/code]
  • 0

#3 Neuromancer

Neuromancer

    Extrem Member

  • Membres
  • 926 messages

Posté 25 avril 2002 - 10:18

J'étais sûr que je me ferais mal comprendre.
Ce que je cherche c'est pas de l'afficher, l'echo que j'ai mis c'est juste pour vérifier que ça marche.
Je cherche à stocker tous les résultats de la requete dans un array.
Je donne un exemple :
dans $maintable je veux :
- en ligne 0 la première ligne de résultat de la requete soit sous forme d'array soit sous forme d'objet (si c'est possible)
- en ligne 1 la deuxième ligne de résultat de la requete soit sous forme d'array soit sous forme d'objet (si c'est possible)
et ainsi de suite...


Le but de tout ceci c'est de pouvoir faire des pages pour ma galerie dynamique (à cette adresse : http://ncs.zapheberg....php?page=scans ), c'est à dire une page 1 puis une page 2 si il y a plus de 3 images, ect...
  • 0

#4 ragol

ragol

    Mega Power Member

  • Membres
  • 475 messages

Posté 25 avril 2002 - 10:21

regarde ma deuxième partie de code : le tableau info est un tableau à 2 dimensions qui contient pour chaque ligne (le premiere indice) tes infos (2e indice)
  • 0

#5 Neuromancer

Neuromancer

    Extrem Member

  • Membres
  • 926 messages

Posté 25 avril 2002 - 10:44

Ca y est j'ai trouvé comment faire. C'est beaucoup plus simple et pratique de stocker dans $maintable des objets que des array.

Voilà le code que j'utilise :

$requete = "SELECT * FROM table";

$result = mysql_query ($requete,$connec) or testconnec_die();

$maintable = array();

$i=0;

while ($row = mysql_fetch_object($result))

    {

$maintable[$i] = $row;





$i++;

	}

for($j=0;$j<sizeof($maintable);$j++)

    {

    echo $maintable[$j]->name.'<br>'; 

    echo $maintable[$j]->size.'<br>'; 

    }


  • 0