[php] problème avec "for" ...

Discussion dans 'Web, design' créé par PunkDeLuxe, 6 Décembre 2003.

Statut de la discussion:
Fermée.
  1. Offline
    PunkDeLuxe condom
    Voici mon code, en gros je lui demande de faire une boucle commencant à l'emplacement 0 et se terminant au nombre max de ligne de ma table. Le tout avec un petit print pour bien montrer ce qui à fait ...

    Code:
    
    <?
          $mysql_link = mysql_connect($host,$user,$pass);
          $mysql_db = mysql_select_db($bdd,$mysql_link);
          $query = "SELECT emplacement,permission,rubrique,forum,description_forum FROM forum_rubrique ORDER by emplacement";
          $result = mysql_query($query) or die('Erreur SQL : '.mysql_error());
          $val = mysql_fetch_array($result);
          $nbre_rows = mysql_numrows($result);
    
          for ($val['emplacement']=0;$val['emplacement']<$nbre_rows;$val['emplacement']++)
           {
            print ''.$val['rubrique'].'<br>';
           }
    
    
    ?>
    
    
    Voila ce code vient d'être fait je sais vraiment pas si y a moyen de faire ce que je veux, mais une chose es sur chez moi sur mon pc ce script ne fonctionne pas, il m'affiche 4 fois le premier résultat (nombre de donnée=lignes ds ma table)...


    PS : dsl pour ceux qui irait sur www.burnd2.com mais je poste aussi ici ... je suis assez pressé :]
    PunkDeLuxe, 6 Décembre 2003
    #1
  2. Offline
    La Poubelle Elite
    $val['emplacement'] dans quel but?

    Tu réaffectes une donnée dans ta boucle. C'est inutile de se compliquer la vie.

    mets plutot, une simple variable est suffisant et surtout, ca permettrait de ne pas tous mélanger ($boucle par exemple).


    'emplacement', c'est un nom de champ de ta table ??
    La Poubelle, 6 Décembre 2003
    #2
  3. Offline
    PunkDeLuxe condom
    emplacement est un champs de ma table qui me permet d'assigner un ordre au rubrique mais qui peut être changé quand je veux pour donner l ordre que je veux ...
    PunkDeLuxe, 7 Décembre 2003
    #3
  4. Offline
    PunkDeLuxe condom
    Alors voila la solution que j'ai prise :p

    Code:
    <?
          $mysql_link = mysql_connect($host,$user,$pass);
          $mysql_db = mysql_select_db($bdd,$mysql_link);
          $query = "SELECT emplacement,permission,rubrique,forum,description_forum FROM forum_rubrique ORDER by emplacement";
          $result = mysql_query($query) or die('Erreur SQL : '.mysql_error());
          while ($val = mysql_fetch_array($result))
           {
              print ''.$val['rubrique'].'<br>';
           }
    
    
    ?>
    PunkDeLuxe, 7 Décembre 2003
    #4
  5. Offline
    La Poubelle Elite
    Ton code précédent était beaucoup plus clair. L'erreur que tu avais été du à mysql_fetch_array qui devait être placé dans la boucle et non pas à l'extérieur.



    <?
    $mysql_link = mysql_connect($host,$user,$pass);
    $mysql_db = mysql_select_db($bdd,$mysql_link);
    $query = "SELECT emplacement,permission,rubrique,forum,description_forum FROM forum_rubrique ORDER by emplacement";
    $result = mysql_query($query) or die('Erreur SQL : '.mysql_error());

    $nbre_rows = mysql_numrows($result);

    for ($ligne=0;$ligne<$nbre_rows;$ligne++)
    {
    $val = mysql_fetch_array($result);
    print ''.$val['rubrique'].'<br>';
    }


    ?>
    La Poubelle, 7 Décembre 2003
    #5
  6. Offline
    guslinux Gamerz'ien
    c'est plus logique comme ca ... l'autre tu ajoutait 1 à $val[emplacement] ... lol pas tres logique ... :D
    guslinux, 7 Décembre 2003
    #6
  7. Offline
    PunkDeLuxe condom
    Mouais mais avec moi la logique tu sais ... ca s 'en va et ca revient :]
    PunkDeLuxe, 7 Décembre 2003
    #7
Statut de la discussion:
Fermée.