pb boucle do while

pb boucle do while - PHP - Programmation

Marsh Posté le 16-06-2005 à 10:59:10    

bonjour
je debute encore et toujours avec le langage php
et j'aimerai connaitre mon pb pour ca:
 
     <?php
        $server='localhost';
        $user='root';
        $password='';
 
        $db = mysql_connect($server,$user,$password)   or die('Erreur de connexion '.mysql_error());
        mysql_select_db('red cash',$db)  or die('Erreur de selection '.mysql_error());
        $i=0
        do { $i++;
        $requete = "SELECT NomFournisseur FROM fournisseurs WHERE NumFournisseur=$i";
        mysql_query($requete) or die('Erreur SQL !'.$requete.'<br>'.mysql_error());
        if(isset($_POST['NomFournisseur']))      $NomFournisseur=$_POST['NomFournisseur'];
        else      $NomFournisseur="";
        echo "<option>".$NomFournisseur."</option>"
        }while($i < 20);
 
        ?>
 
cela m'affiche :
 
Parse error: parse error, unexpected T_DO in c:\program files\easyphp1-7\www\formulairecommande.php on line 39
 
apparemen c'est une erreur dans la boucle do while mais je ne vois pas ou??!!
 
si on pouvait m'éclairer?


---------------
merci
Reply

Marsh Posté le 16-06-2005 à 10:59:10   

Reply

Marsh Posté le 16-06-2005 à 11:01:48    

$i=0 => $i=0;
Chaque fois que t'as un unexpected qqch, c'est que t'a oublier un ; ou ) ou " etc...
 
P.S: Je te deconseille de garder un nom de db en 2 mots


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 16-06-2005 à 11:12:47    

merci maintenan ca maffiche la page mais la liste de sélection affiche des espaces vides


---------------
merci
Reply

Marsh Posté le 16-06-2005 à 11:49:17    

<select name="NomFournisseur" size=5>
        <?php
        $server='localhost';
        $user='root';
        $password='';
 
        $db = mysql_connect($server,$user,$password)   or die('Erreur de connexion '.mysql_error());
        mysql_select_db('red cash',$db)  or die('Erreur de selection '.mysql_error());
        $i=0;
        do {
        $requete = "SELECT NomFournisseur FROM fournisseurs";
        $result=mysql_query("red cash", $requete) or die('Erreur SQL !'.$requete.'<br>'.mysql_error());
        $option=mysql_result($result,$i);
        echo "<option>".$option."</option>";
         $i++;
        }while($i < 5);
        mysql_close($db);
 
        ?>
        </select>


---------------
merci
Reply

Marsh Posté le 16-06-2005 à 12:18:16    

Personellement, je ferais une petie modif de ton code.
 
Remplacer:

Code :
  1. $result=mysql_query("red cash", $requete) or die('Erreur SQL !'.$requete.'<br>'.mysql_error());
  2. $option=mysql_result($result,$i);


 
Par:

Code :
  1. $result=mysql_query("red cash", $requete) or die('Erreur SQL !'.$requete.'<br>'.mysql_error());
  2. $option=mysql_result($result);
  3. while ($var = mysql_fetch_array ($option))
  4. echo "<option value=".$option['noOption'].">".$option['intituleOption']."</option>";


 
Où noOption et intituleOption sont les references sur ta table red cash (je virerais le nom en 2 parties aussi).
 

Reply

Marsh Posté le 16-06-2005 à 13:55:06    

mai cette variable ne sert a rien : $var  
tu ne lutilise meme pas apres!


---------------
merci
Reply

Marsh Posté le 16-06-2005 à 13:55:48    

a moins que ce soi :
echo "<option value=".$var['noOption'].">".$var['intituleOption']."</option>";


---------------
merci
Reply

Marsh Posté le 16-06-2005 à 13:59:25    

merci
la page s'affiche maintenat apres quelque petite modif mais la liste déroulante est toujours vierge :  
<select name="NomFournisseur" size=5>
        <?php
        $server='localhost';
        $user='root';
        $password='';
 
        $db = mysql_connect($server,$user,$password)   or die('Erreur de connexion '.mysql_error());
        mysql_select_db('red cash',$db)  or die('Erreur de selection '.mysql_error());
 
        $requete = "SELECT NomFournisseur FROM fournisseurs";
       $result=mysql_query("red cash", $requete) or die('Erreur SQL !'.$requete.'<br>'.mysql_error());
       $option=mysql_result($result);
       while ($var = mysql_fetch_array ($option))
       echo "<option value=".$var['NumFournisseur'].">".$var['NomFournisseur']."</option>";
        mysql_close($db);
 
        ?>
        </select>
 
pourquoi????


---------------
merci
Reply

Marsh Posté le 16-06-2005 à 14:38:12    

guen16-> a moins que ce soi :  
echo "<option value=".$var['noOption'].">".$var['intituleOption']."</option>";
 
Bin oui, c'était ca, grosse fatigue!
 
Pour ton problème, il faut que tu modifie ta requete, tu n'a pas toutes les infos.

Code :
  1. $requete = "SELECT NomFournisseur,NumFournisseur FROM fournisseurs ORDER BY NomFournisseur";
  2. // ou plus simplement
  3. $requete = "SELECT * FROM fournisseurs";


 
Ca devrait aller.
 
Edit: ca devrait aller encore mieux!


Message édité par LeRiton le 16-06-2005 à 15:27:01
Reply

Marsh Posté le 16-06-2005 à 15:20:20    

$requete = "SELECT * FROM fournisseurs";
 
j'ai essayé ca na marche pas!
j'ai une erreur:
 
supplied argument is not a valid MySQL-Link resource

Reply

Marsh Posté le 16-06-2005 à 15:20:20   

Reply

Marsh Posté le 16-06-2005 à 15:20:33    

LeRiton a écrit :

guen16-> a moins que ce soi :  
echo "<option value=".$var['noOption'].">".$var['intituleOption']."</option>";
 
Bin oui, c'était ca, grosse fatigue!
 
Pour ton problème, il faut que tu modifie ta requete, tu n'a pas toutes les infos.

Code :
  1. $requete = "SELECT NomFournisseur,NumFournisseur FROM fournisseurs SORT BY NomFournisseur";
  2. // ou plus simplement
  3. $requete = "SELECT * FROM fournisseurs";


 
Ca devrait aller.


 
SORT BY ? Ca serait pas plutot ORDER BY s'il utilise Mysql ? (Ce que j'imagine) :D


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed