Problème avec foreach

Résolu
Bonjour,
Alors voilà , j'ai une liste de mots que j'ai enregistrer dans ma base données et que je voulais les afficher avec un foreach , mais je sais pas pourkoi ca ne marche pas, voila mon code

$resultat = mysql_query('SELECT *FROM souscategorie ORDER BY `NOMCATEGORIE` ASC');
$categories = mysql_fetch_array($resultat);
?>

<div class="categorie">
<?php

foreach ($categories as $element){
echo $element;

}

?>
</div>
Configuration: Windows 2003 Internet Explorer 8.0

5 réponses

  1. Bonjour,
    c'est pas mal mais qu'est-ce qui ne marche pas.

    $resultat = mysql_query('SELECT *FROM souscategorie ORDER BY `NOMCATEGORIE` ASC');
    $categories = mysql_fetch_array($resultat);
    ?>

    <div class="categorie">
    <?php
    // met ceci ici pour vérifier que la requête sql retourne quelqe chose
    echo "<pre>";print_r($categories);echo "</pre>";

    foreach ($categories as $element){
    echo $element;

    }

    ?>
    </div>
    1. ouai j'ai testé mais je trouve qu'elle me retourne que la premiere categorie, je voulais boucler pour avoir l'ensemble et j'ai utilisé ceci :

      $resultat = mysql_query('SELECT * FROM souscategorie ORDER BY `NOMCATEGORIE` ASC');
      $categories = mysql_fetch_array($resultat);

      foreach ( $categories as $element){
      echo "<pre>";print_r($categories);echo "</pre>";

      echo $element;
      $categories = mysql_fetch_array($resultat);

      }
      mais ca ne marche pas du tout
      j'ai essayé avec : foreach ( ( $categories = mysql_fetch_array($resultat) )as $element){
      echo $element;
      }
      mais ca ne me donne rien aussi , je ne sais plus comment faire !!!!
      1. Tu ne peux pas faire directement un foreach.
        <?php
        $resultat = mysql_query('SELECT *FROM souscategorie ORDER BY `NOMCATEGORIE` ASC');
        while($data = mysql_fetch_assoc($resultat)){
            $categorie[] = $data;
        }
        
        echo '<div class="categorie">';
        
        foreach ($categorie as $element) {
            echo $element;
        }
        
        ?>
        1. alors on essaie :

          $resultat = mysql_query('SELECT *FROM souscategorie ORDER BY `NOMCATEGORIE` ASC');

          // Vérification du résultat
          // Ceci montre la requête envoyée à MySQL ainsi que l'erreur. Utile pour déboguer.
          if (!$resultat) {
          $message = "Requête invalide : " . mysql_error() . "\n";
          $message .= "Requête complète : " . $query;
          die($message);
          }
          $nblignes=mysql_num_rows($resultat);
          for ($i=0;$i<$nblignes;$i++){
          $ligne = mysql_fetch_row($result);
          // et là en fonction de la colonne ex : col 4
          echo "".$ligne[3]."<br>";
          }