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

Résolu/Fermé
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 - Modifié par maxireussite le 6/08/2013 à 04:02
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 - 8 août 2013 à 01:57
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>



A voir également:

14 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
6 août 2013 à 15:12
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
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 5
Modifié par maxireussite le 6/08/2013 à 16:55
Sympa. MErci bcp.
Je vais essayer cela.

Mille mercis.
0
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
7 août 2013 à 10:32
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 5
7 août 2013 à 13:49
Bjr,

Eh ben non, je n'ai aucun message d'erreur... !
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
7 août 2013 à 16:29
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
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 5
7 août 2013 à 18:33
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
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 5
7 août 2013 à 19:02
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
7 août 2013 à 20:55
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
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 5
7 août 2013 à 21:20
Cher Alain_42,

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

Mais malheureusement ça ne donne toujours rien.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
7 août 2013 à 21:39
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
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 5
8 août 2013 à 01:41
Oui, modif réalisée, mais toujours rien, et toujours ce morceau de script qui s'affiche dans ma page.
0
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 5
8 août 2013 à 01:52
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
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 5
8 août 2013 à 01:57
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