Menu deroulant php

Eléphanteau du PHP | 28 Messages

11 août 2009, 09:02

Bonjour,

Je cherche dans la cadre d'un projet pour mon entreprise de faire un menu deroulant en php où j'aurai le choix entre les differents nom des clients pour pouvoir obtenir leurs informations.Voici la page que j'ai faite:
<?php
include "connexion.inc.php";
?>
<html>

<head>
<meta http-equiv="content-type" content="text/html/php; charset=utf-8" />
</head>
<body>
<form method="post" action="test2.php" name="client">

<?php
$sql="SELECT Raison_sociale FROM client ORDER BY Client_id ";
$resultat=@mysql_query($sql,$id_link);
	echo '<select name="client">';
	echo '<option value="" selected></option>';
	
while ($rang=mysql_fetch_array($resultat)){
$client_id=$rang['Client_id'];
$raison_sociale=$rang['Raison_sociale'];

	echo "<option value=\"$client_id\">$raison_sociale</option>";
	}
 echo '</select>';
	

?>
<input type="submit" name="Envoyez">
<?php
if(isset($_POST['client'])) {
$client = htmlentities($_POST['client']);
$reponse = mysql_query("SELECT * FROM client WHERE Raison_sociale = '". $client ."'");
$donnees = mysql_fetch_array($reponse);
?>

<br>
<br>
<br>
<br>

Code postal:<input id="codepostal" type="text" name="name" maxlength="50" size="10" value="<?php echo $donnees['Adresse_CP'] ?>">


</form>
<?php
}
?>
</body>

</html>
Mon soucis est que quand je selectionne le nom et que je clique sur envoyé,la valeur du champs "code postal" reste totalement vide:/.

Merci d'avance pour votrre aide

Administrateur PHPfrance
Administrateur PHPfrance | 977 Messages

11 août 2009, 09:11

au dessus de
if(isset($_POST['client'])) {
met var_dump($_POST), comme ca tu verra déjà ce que renvoie ton formulaire, si $_POST['client'] renvoie bien une info, teste ta requete. Pour la voir
echo "SELECT * FROM client WHERE Raison_sociale = '". $client ."'";
pro : http://www.ohweb.fr -> studio de développement en PHP, expertise en e-commerce, certifié PrestaShop
perso : http://www.olecorre.com -> un dico de termes informatiques

J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé : je ne sais plus comment utiliser mon téléphone. [Bjarne Stroustrup]

Eléphanteau du PHP | 28 Messages

11 août 2009, 09:16

Merci pour votre reponse,voici le résultat :/ :
Parse error: parse error in C:\wamp\www\test2.php on line 31
<?php
var_dump($_POST)
echo "SELECT * FROM client WHERE Raison_sociale = '". $client ."'";
if(isset($_POST['client'])) {
$client = htmlentities($_POST['client']);
$reponse = mysql_query("SELECT * FROM client WHERE Raison_sociale = '". $client ."'");
$donnees = mysql_fetch_array($reponse);
?>

Administrateur PHPfrance
Administrateur PHPfrance | 977 Messages

11 août 2009, 09:18

manque un } avant ?> sinon je vois rien d'anormal dans ton code
pro : http://www.ohweb.fr -> studio de développement en PHP, expertise en e-commerce, certifié PrestaShop
perso : http://www.olecorre.com -> un dico de termes informatiques

J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé : je ne sais plus comment utiliser mon téléphone. [Bjarne Stroustrup]

Eléphanteau du PHP | 28 Messages

11 août 2009, 09:41

il y a plus d'erreur mais toujours aucune information qui s'affiche :/ si jamais tu as besoin que je link ma base de donnée ou autre...sinon sa me derange pas de repartir de 0 pour faire en sorte que sa marche.Sa fait 3 jours que je suis dessus et sa commence a m'enerver xD :D

Administrateur PHPfrance
Administrateur PHPfrance | 977 Messages

11 août 2009, 09:45

<?php
if(isset($_POST['client'])) {
$client = htmlentities($_POST['client']);
echo "SELECT * FROM client WHERE Raison_sociale = '". $client ."'";
$reponse = mysql_query("SELECT * FROM client WHERE Raison_sociale = '". $client ."'");
$donnees = mysql_fetch_array($reponse);
?>
le echo de ta requete donne quoi ? tu l'a tester sous ton phpmyadmin ?
pro : http://www.ohweb.fr -> studio de développement en PHP, expertise en e-commerce, certifié PrestaShop
perso : http://www.olecorre.com -> un dico de termes informatiques

J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé : je ne sais plus comment utiliser mon téléphone. [Bjarne Stroustrup]

Eléphanteau du PHP | 28 Messages

11 août 2009, 09:54

pour ton :
<?php
if(isset($_POST['client'])) {
$client = htmlentities($_POST['client']);
echo "SELECT * FROM client WHERE Raison_sociale = '". $client ."'";
$reponse = mysql_query("SELECT * FROM client WHERE Raison_sociale = '". $client ."'");
$donnees = mysql_fetch_array($reponse);
?>
Tu n'as pas mit de "}" volontairement? ou il faut que je faisse un <?php } ?> a la fin de la page ?
Voici un screen avec le code que tu m'as montrer mais jai ajouter "}"
Image

Administrateur PHPfrance
Administrateur PHPfrance | 977 Messages

11 août 2009, 10:06

envoie moi de quoi voir ton code (exemple ton ftp, ou ton code et ta base) par MP et je regarde
pro : http://www.ohweb.fr -> studio de développement en PHP, expertise en e-commerce, certifié PrestaShop
perso : http://www.olecorre.com -> un dico de termes informatiques

J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé : je ne sais plus comment utiliser mon téléphone. [Bjarne Stroustrup]

Administrateur PHPfrance
Administrateur PHPfrance | 977 Messages

11 août 2009, 10:08

C'est bon j'ai trouvé ! par fait attention au début

tu as un conflit de nom

Code : Tout sélectionner

<form method="post" action="test2.php" name="client"> echo '<select name="client">';
ton formulaire et ton champ select s'appel "client" ! change le nom de ton formulaire et ca devrait fonctionner
pro : http://www.ohweb.fr -> studio de développement en PHP, expertise en e-commerce, certifié PrestaShop
perso : http://www.olecorre.com -> un dico de termes informatiques

J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé : je ne sais plus comment utiliser mon téléphone. [Bjarne Stroustrup]

Eléphanteau du PHP | 28 Messages

11 août 2009, 10:44

Voici le code de ma page:
<?php
include "connexion.inc.php";
?>
<html>

<head>
<meta http-equiv="content-type" content="text/html/php; charset=utf-8" />
</head>
<body>
<form method="post" action="test2.php" name="recherche">

<?php
$sql="SELECT Raison_sociale FROM client ORDER BY Client_id ";
$resultat=@mysql_query($sql,$id_link);
        echo '<select name="client">';
        echo '<option value="" selected></option>';
       
while ($rang=mysql_fetch_array($resultat)){
$client_id=$rang['Client_id'];
$raison_sociale=$rang['Raison_sociale'];

        echo "<option value=\"$client_id\">$raison_sociale</option>";
        }
 echo '</select>';
       

?>
<input type="submit" name="Envoyez">
<?php
if(isset($_POST['client'])) {
$client = htmlentities($_POST['client']);
$reponse = mysql_query("SELECT * FROM client WHERE Raison_sociale = '". $client ."'");
$donnees = mysql_fetch_array($reponse);
}
?>

<br>
<br>
<br>
<br>

Code postal:<input id="codepostal" type="text" name="name" maxlength="50" size="10" value="<?php echo $donnees['Adresse_CP'] ?>">


</form>
</body>

</html>
 
Message d'erreur dans la case où il y a le champs code postal:
<br /> <b>Notice</b>: Undefined variable: donnees in <b>C:\wamp\www\test2.php</b> on line <b>42</b><br />
Code postal:<input id="codepostal" type="text" name="name" maxlength="50" size="10" value="<?php echo $donnees['Adresse_CP'] ?>">
Voici ma base SQL:

Code : Tout sélectionner

-- phpMyAdmin SQL Dump -- version 3.1.1 -- http://www.phpmyadmin.net -- -- Serveur: localhost -- Généré le : Lun 10 Août 2009 à 13:50 -- Version du serveur: 5.1.30 -- Version de PHP: 5.2.8 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- -- Base de données: `woehl` -- -- -------------------------------------------------------- -- -- Structure de la table `client` -- CREATE TABLE IF NOT EXISTS `client` ( `Client_id` int(10) NOT NULL AUTO_INCREMENT, `Raison_sociale` varchar(255) NOT NULL, `Adresse_voie` varchar(255) NOT NULL, `Adresse_CP` varchar(255) NOT NULL, `Adresse_ville` varchar(255) NOT NULL, `Num_tel` int(20) NOT NULL, `Num_fax` int(20) NOT NULL, PRIMARY KEY (`Client_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; -- -- Contenu de la table `client` -- INSERT INTO `client` (`Client_id`, `Raison_sociale`, `Adresse_voie`, `Adresse_CP`, `Adresse_ville`, `Num_tel`, `Num_fax`) VALUES (1, 'Bruker', '4 rue david gruber', '67000', 'Koenigshoffen', 388745218, 388954613), (2, 'Cesi', '3 rue de rien du tout', '67200', 'Strasbourg', 328382456, 388262475);

Eléphanteau du PHP | 28 Messages

11 août 2009, 10:47

Edit: Pour l'erreur que je t'ai dit,si je met sa a la fin:
<?php
}
?>
Je n'ai plus l'erreur dans la case.Par contre aucune donnée afficher :(

Administrateur PHPfrance
Administrateur PHPfrance | 977 Messages

11 août 2009, 11:01

<?php
$id_link = mysql_pconnect('localhost','root', '') or die('Connexion impossible : ' . mysql_error());
mysql_select_db('labo');
?>
<html>

<head>
<meta http-equiv="content-type" content="text/html/php; charset=utf-8" />
</head>
<body>
<form method="post" action="test.php" name="recherche">

<?php
$sql="SELECT Client_id, Raison_sociale FROM client ORDER BY Client_id";
$resultat=mysql_query($sql, $id_link);
echo '<select name="client">';
echo '<option value="" selected></option>';
       
while ($rang=mysql_fetch_array($resultat)){
	echo "<option value=\"".$rang['Client_id']."\">". $rang['Raison_sociale']."</option>";
}
echo '</select>';
       

?>
<input type="submit" name="Envoyez">
<?php
$donnees = array();
if(isset($_POST['client'])) {
	$client = htmlentities($_POST['client']);
	$reponse = mysql_query("SELECT Adresse_CP FROM client WHERE Client_id =".$client);
	$donnees = mysql_fetch_array($reponse);
	$cp = $donnees['Adresse_CP'];
}
?>

<br>
<br>
<br>
<br>
Code postal:<input id="codepostal" type="text" name="name" maxlength="50" size="10" value="<?php echo $cp; ?>">

</form>
</body>
</html>
voici le code et ca fonctionne
pro : http://www.ohweb.fr -> studio de développement en PHP, expertise en e-commerce, certifié PrestaShop
perso : http://www.olecorre.com -> un dico de termes informatiques

J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé : je ne sais plus comment utiliser mon téléphone. [Bjarne Stroustrup]

Eléphanteau du PHP | 28 Messages

11 août 2009, 11:05

BINGO sa marche !! merci beaucoup,par contre quand je vais sur la page et qu'il y a pas de valeur de selectionner j'ai sa comme message d'erreur:
<br /> <b>Notice</b>: Undefined variable: cp in <b>C:\wamp\www\test.php</b> on line <b>41</b><br />
Code postal:<input id="codepostal" type="text" name="name" maxlength="50" size="10" value="<?php echo $cp; ?>">

Administrateur PHPfrance
Administrateur PHPfrance | 977 Messages

11 août 2009, 11:06

en dessous de $donnees = array(); ajout $cp ="";
pro : http://www.ohweb.fr -> studio de développement en PHP, expertise en e-commerce, certifié PrestaShop
perso : http://www.olecorre.com -> un dico de termes informatiques

J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé : je ne sais plus comment utiliser mon téléphone. [Bjarne Stroustrup]

Eléphanteau du PHP | 28 Messages

11 août 2009, 11:09

Il y aurait pas moyen de faire un truc du genre:
else
{

echo "<br><b>Veuillez saisir le nom de votre recherche !</b>";

}

Parce que il va y avoir beaucoup de donnée si je dois écrire sa pour toutes les pages sa va pas être très pratique xD