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

kck
Petit nouveau ! | 3 Messages

10 juin 2011, 14:05

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.

ViPHP
ViPHP | 2577 Messages

10 juin 2011, 14:34

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.

charmail
Invité n'ayant pas de compte PHPfrance

30 juin 2011, 17:05

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 />';
}
}