Problème avec foreach

Résolu
kaisserr Messages postés 64 Statut Membre -  
kaisserr Messages postés 64 Statut Membre -
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. giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
     
    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>
    0
  2. kaisserr Messages postés 64 Statut Membre 3
     
    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 !!!!
    0
  3. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    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;
    }
    
    ?>
    0
  4. giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
     
    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>";
    }
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. kaisserr Messages postés 64 Statut Membre 3
     
    merci beaucoup ,ça m'a vraiment aidé votre exemple.
    0