Champs Zone de liste déroulante connectée à MySQL

Résolu
maxireussite Messages postés 405 Statut Membre -  
maxireussite Messages postés 405 Statut Membre -
Bonjour à tous,

Je ne touche pas en php et je voudrais malgré tout (gonflé le gars) récupérer des données Mysql pour une zone de liste dans un formulaire. voir mon code ci-dessous qui ne fonctionne pas.

Je souhaiterais aussi que sur la même page après l'envoi des données que les champs s'efface, et qu'une ligne dise : "données envoyées". de manière à laisser les champs dispo pour une prochaine entrée.

Merci d'avance de votre aide précieuse.

Voilà mon code :

"<!--Text-->
<tr>
<td>Code client *</td>
<td style="width: 177px">
<select name="code_client" style="width: 159px">
<?
mysql_connect('localhost', '*******', '********'); // connexion à la base
mysql_select_db('********',$db); // sélection de la base

$valeurs = mysql_query("select code_client from 'oc_clients'")
while ($valeur = mysql_fetch_array($valeurs)){?>
<option value="<?=$valeur['code_client']?>"><?=$valeur['code_client']?></option>
<? }?>
</select>
</td>
</tr>

14 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    voir commentaires:
    <tr>
    <td>Code client *</td>
    <td style="width: 177px">
    <select name="code_client" style="width: 159px">
    <?
    mysql_connect('localhost', '*******', '********') or die ("Pb connexion serveur ".mysql_error()); // connexion au serveur
    mysql_select_db('********',$db) or die ("Pb selection base ".mysql_error()); // sélection de la base ,j'espère que plus haut tu as $db="le nom de ta base"
    
    $requette = mysql_query("SELECT code_client FROM oc_clients")  or die ("Pb avec la requette ".mysql_error()); //il ne faut pas de ' de part et d'autre du nom de la table, il te manquait aussi le ; en fin de ligne
    while ($valeur = mysql_fetch_array($requette)){
    	//en faisant ainsi cela t'évite les ouv fermeture tags php
    	echo '<option value="'.$valeur['code_client'].'" >'.$valeur['code_client'].'</option>';
    }
    
    ?>
    </select>
    </td>
    </tr> 
    0
  2. maxireussite Messages postés 405 Statut Membre 5
     
    Sympa. MErci bcp.
    Je vais essayer cela.

    Mille mercis.
    0
  3. Maxireussite
     
    Il semble que j'ai raté un point car la zone de liste ne se connecte pas à la base ou à la table "oc_clients" pour extraire le champs "code_client".

    Voici le script modifié selon les conseils d' Alain_42 :

    <select name="code_client" style="width: 159px">
    <?
    $db="*****"
    mysql_connect('localhost', '*****', '*****') or die("Pb connexion serveur ".mysql_error()); // connexion à la base
    mysql_select_db('*****',$db) or die("Erreur de selection ".mysql_error()); // sélection de la base

    $requette = mysql_query("SELECT code_client FROM oc_clients") or die("Pb avec la requette ".mysql_error());
    while ($valeur = mysql_fetch_array($requette)){
    echo '<option value="'.$valeur['code_client'].'" >'.$valeur['code_client'].'</option>';
    }
    ?></select>

    Merci de votre aide.
    0
  4. Alain_42 Messages postés 5413 Statut Membre 904
     
    tu dis la zone de liste ne se connecte pas à la base ou à la table "oc_clients"

    ce n'est pas la zone de liste mais la partie de code php mysql_........ qui fait ça

    donc ça doit te sortir des erreurs
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. maxireussite Messages postés 405 Statut Membre 5
     
    Bjr,

    Eh ben non, je n'ai aucun message d'erreur... !
    0
  7. Alain_42 Messages postés 5413 Statut Membre 904
     
    salut,
    <?php
    //mets toujours le tag <?php complet
    //il faut mettre cette partie en dehors des balises <select sinon pb d'affichage des messages d'erruer 
    $db="*****"
    $cnx=mysql_connect('localhost', '*****', '*****') or die("Pb connexion serveur ".mysql_error()); // connexion à la base
    $db=mysql_select_db('*****',$db) or die("Erreur de selection ".mysql_error()); // sélection de la base
    
    $requette = mysql_query("SELECT code_client FROM oc_clients") or die("Pb avec la requette ".mysql_error());
    //messages de TEST à oter ensuite qd ça marchera
    if($cnx) echo 'Connexion serveur OK !';
    if($db) echo '<br />séléction base OK !';
    if($requette) echo '<br />requette OK ! qui a renvoyé '.mysql_num_rows($requette).' résultats';
    
    ?>
    <select name="code_client" style="width: 159px">
    <?php
    	while ($valeur = mysql_fetch_array($requette)){
    		echo '<option value="'.$valeur['code_client'].'" >'.$valeur['code_client'].'</option>';
    	}
    ?>
    </select>
    0
  8. maxireussite Messages postés 405 Statut Membre 5
     
    Voilà ce qui s'affiche dans la page à côté de la zone de liste :

    "Code client * séléction base OK !'; if($requette) echo '
    requette OK ! qui a renvoyé '.mysql_num_rows($requette).' résultats'; ?>"
    0
  9. maxireussite Messages postés 405 Statut Membre 5
     
    A toutes fins utiles je remets le script complet :

    <?php
    $db='*****'
    $cnx=mysql_connect('localhost', '******', '*****') or die("Pb connexion serveur ".mysql_error()); // connexion à la base
    $db=mysql_select_db('******',$db) or die("Erreur de selection ".mysql_error()); // sélection de la base

    $requette = mysql_query("SELECT code_client FROM oc_clients") or die("Pb avec la requette ".mysql_error());
    //messages de TEST à oter ensuite qd ça marchera
    if($cnx) echo 'Connexion serveur OK !';
    if($db) echo '<br />séléction base OK !';
    if($requette) echo '<br />requette OK ! qui a renvoyé '.mysql_num_rows($requette).' résultats';
    ?>

    <select name="code_client" style="width: 159px">

    <?php
    while ($valeur = mysql_fetch_array($requette)){
    echo '<option value="'.$valeur['code_client'].'" >'.$valeur['code_client'].'</option>';
    }
    ?>
    </select>
    0
  10. Alain_42 Messages postés 5413 Statut Membre 904
     
    il y a deux fois $db

    donc modifies:
    <?php
    $db='*****'
    $cnx=mysql_connect('localhost', '******', '*****') or die("Pb connexion serveur ".mysql_error()); // connexion à la base
    $db_sel=mysql_select_db('******',$db) or die("Erreur de selection ".mysql_error()); // sélection de la base
    
    $requette = mysql_query("SELECT code_client FROM oc_clients") or die("Pb avec la requette ".mysql_error());
    //messages de TEST à oter ensuite qd ça marchera
    if($cnx) echo 'Connexion serveur OK !';
    if($db_sel) echo '<br />séléction base OK !';
    if($requette) echo '<br />requette OK ! qui a renvoyé '.mysql_num_rows($requette).' résultats';
    ?>
    
    <select name="code_client" style="width: 159px">
    
    <?php
    while ($valeur = mysql_fetch_array($requette)){
    echo '<option value="'.$valeur['code_client'].'" >'.$valeur['code_client'].'</option>';
    }
    ?>
    </select>
    
    0
  11. maxireussite Messages postés 405 Statut Membre 5
     
    Cher Alain_42,

    Nous avions omis un " ; " après $db='*****',

    Mais malheureusement ça ne donne toujours rien.
    0
  12. Alain_42 Messages postés 5413 Statut Membre 904
     
    as tu aussi fait la modif $db_sel=.... au lieu de $db=mysql_select_db...

    et if($db_sel) au lieu de if($db) plus bas
    0
  13. maxireussite Messages postés 405 Statut Membre 5
     
    Oui, modif réalisée, mais toujours rien, et toujours ce morceau de script qui s'affiche dans ma page.
    0
  14. maxireussite Messages postés 405 Statut Membre 5
     
    Bon je crois avoir une idée. Serait parce que j'ai laissé le suffixe de la page en .html au lieu de .php ?

    En tous cas avec .php, connexion au serveur et à la base sont OK, mais ma zone de liste n'a toujours rien.
    0
  15. maxireussite Messages postés 405 Statut Membre 5
     
    AU POIL ! ça marche !

    J'ai honte !

    La page devait être en php. Mon Dieu, heureusement qu'il n'y a pas ma photo, j'ai trop honte.

    Merci Alain_42 de ta patience.
    0