Page 1 sur 1

récupération de données via liste déroulante

Posté : 10 juin 2011, 14:05
par kck
Bonjour à tous,
alors je me questionne sur un problème de débutant. Je pense que pour vous, ça posera pas de problème.
j'ai une table avec plusieurs champs (appareils, emplacements,etc...)
j'ai une liste déroulante avec tous mes appareils. ce que je veux faire c'est en cliquant sur "envoyer" après avoir sélectionner "PC" dans ma liste(par exemple), elle me renvoi toutes les infos (les autres champs) des appareils nommés "PC" (en gros, je fais un tri).
voici mon code :

Code : Tout sélectionner

<html> <head> <title>Parc</title> </head> <body> <form action= 'affichage.php' method="post"> <?php $db = mysql_connect('localhost', 'root', ''); // on sélectionne la base mysql_select_db('parc',$db); //Interroger la base mysql $sql = 'SELECT distinct Appareil FROM parcinfo ORDER BY Appareil ASC'; $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql); echo '<select name="resultat">'; while ($result = mysql_fetch_assoc($req)) { echo '<option value="'.$result['Appareil'].'">'.$result['Appareil'].'</option>'; } ?> <input type="submit" value="resultat"> </form> </body> </html>
Récupérer le code

Voilà, j'ai bien affiché tout mon champs "appareil" dans ma liste.
question, que dois-je mettre dans mon formulaire affichage.php pour obtenir ce résultat ?
Merci d'avance et bonne journée.

Re: récupération de données via liste déroulante

Posté : 10 juin 2011, 14:34
par Mazarini
Bonjour,

Tu récupères le choix dans la variable $_POST['resultat']

Pour afficher la liste, tu procède comme tu as fait pour la liste déroulante en adaptant la requête et l'affichage.

Re: récupération de données via liste déroulante

Posté : 30 juin 2011, 17:05
par charmail
j'espere pouvoir un tout petit peu t'eclairer :
tu dois verifier que la personne clique bien sur le bouton envoyer (d'où le isset), si oui => la requete qui calcul le nombre de ligne existantes dans ta BDD, pour voir s'ils a bien des infos liées a l'appareil.
s'il y a pas d'infos (lignes a 0) => message erreur, s'il ya bien des informations => tu mets les infos dans un tableau, grace a une requete select

Bon courage, +++

c'est ce style là entre ton bouton et la fin de ta forme :


<input type="submit" value="resultat" name="btnenvoyer" id="btnenvoyer">


if (isset($_POST['btnenvoyer']))
{

$Appareil = ($_POST['Appareil']);

$reqverif='SELECT count(*) AS Appareil FROM (ta table) WHERE (ce que tu veux)';

$reqveriffinale=$bdd->query($reqverif);

$donneesverif=$reqveriffinale->fetch();

$totalex=$donneesverif['totalex'];

$reqveriffinale->closeCursor();

if ($totalex == 0)
{
echo '<h3 align="center> Aucune données ne correspondent dans cette base de données </h3>';
}
else
{

?>
<h3 align="center">Infos :</h3>

<table align="center" border="10px" cellpadding="7" class="consult" bgcolor="white" name="appareil" id="appareil">
<tr>
<th>Info01</th>
<th>Info02</th>
<th>Info03</th>
<th>Info04</th>
</tr>

<?php


//Affichage du résultat
$req =('SELECT Info01, Info02, Info03, Info04, FROM (ta table)
WHERE (ce que tu veux)');

//execution de la requete
$reqfinale = $bdd->query($req);

while ($doncherch=$reqfinale->fetch())
{
echo '<tr>
<td align="center">' . htmlspecialchars($doncherch['Info01']) . '</td>
<td align="center">' . htmlspecialchars($doncherch['Info02']) . '</td>
<td align="center">' . htmlspecialchars($doncherch['Info03']) . '</td>
<td align="center">' . htmlspecialchars($doncherch['Info04']) . '</td>
</tr>';

}

$reqfinale->closeCursor(); // Termine le traitement de la requête

echo '</table><br />';
}
}