Liste déroulante avec la BDD

Fermé
shafos - 19 avril 2010 à 04:05
 shafos - 23 avril 2010 à 23:08
Bonjour, j'ai créer une liste déroulante qui communique avec ma BDD, mon problème c'est que j'aimerais que quand je sélectionne un choix les informations apparaise (je suis capable manuellement mais pas a partir du système) sur la même page.

Pour vous aidez je vous laisse mon code source:

<form method="post" action="index.php">

<?php

try
{
$bdd = new PDO('mysql:host=localhost;dbname=', '', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}

$reponse = $bdd->query('SELECT boutique FROM boutique');

echo '<select name="affboutique" >';
while ($donnees = $reponse->fetch())
{
echo '<option value="' . $donnees['boutique'] . '">' . $donnees['boutique'] . '</option>';
}
echo '</select>';

?>

<input type="submit" value="Valider" />

</form>

<?php
$reponse->closeCursor(); // Termine le traitement de la requête

?>

<!-- afficher résulta boutique -->
<?php
try
{
// On se connecte à MySQL
$bdd = new PDO('mysql:host=localhost;dbname=', '', '');
}
catch(Exception $e)
{
// En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}

// Si tout va bien, on peut continuer

// On récupère tout le contenu de la table jeux_video
$reponse = $bdd->query('SELECT boutique,adresse,ville,etat,pays,cp FROM boutique WHERE boutique=' . $donnees['boutique'] . ' ');

// On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())
{
?>
<p class="boutiquetitre"> <?php echo $donnees['boutique'];?> </p>

<p>
<?php echo $donnees['adresse']; ?>,<br />
<?php echo $donnees['ville']; ?>,<?php echo $donnees['etat']; ?>,<br />
<?php echo $donnees['pays']; ?>, <?php echo $donnees['cp']; ?><br />
</p>
<?php
}

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

?>

Merci de me venir en aide

1 réponse

Salut, j'ai lu vite fait ton code et j'ai vu un petit truc qui cloche donc je te laisse essayé ca :

<form method="post" action="index.php">

<?php

try
{
$bdd = new PDO('mysql:host=localhost;dbname=', '', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}

$reponse = $bdd->query('SELECT boutique FROM boutique');

echo '<select name="affboutique" >';
while ($donnees = $reponse->fetch())
{
echo '<option value="' . $donnees['boutique'] . '">' . $donnees['boutique'] . '</option>';
}
echo '</select>';

?>

<input type="submit" value="Valider" />

</form>

<?php
$reponse->closeCursor(); // Termine le traitement de la requête

?>

<!-- afficher résulta boutique -->
<?php
try
{
// On se connecte à MySQL
$bdd = new PDO('mysql:host=localhost;dbname=', '', '');
}
catch(Exception $e)
{
// En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}

// Si tout va bien, on peut continuer

// On récupère tout le contenu de la table jeux_video
$reponse = $bdd->query('SELECT boutique,adresse,ville,etat,pays,cp FROM boutique WHERE boutique=' . $_POST['affboutique'] . ' ');

// On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())
{
?>
<p class="boutiquetitre"> <?php echo $donnees['boutique'];?> </p>

<p>
<?php echo $donnees['adresse']; ?>,<br />
<?php echo $donnees['ville']; ?>,<?php echo $donnees['etat']; ?>,<br />
<?php echo $donnees['pays']; ?>, <?php echo $donnees['cp']; ?><br />
</p>
<?php
}

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

?>
0
En faite j'ai changé une petite chose, je t'explique :
une fois que tu as choisis ton numéro de boutique (enfin le champ boutique), tu valide ton formulaire et tu créer une nouvelle requête avec la réponse obtenu. Le soucis est que dans ta nouvelle requête tu utilise $donnees['boutique'], cependant comme ton formulaire à été validée et ta nouvelle page relancée, ton champ $donnees['boutique'] se nomme maintenant $_POST['affboutique'].
0
Un autre petit point : tu n'es pas obliger de refaire ta connexion une deuxième fois (lorsque tu fais ta deuxième requête) car tu viens déjà de le faire au dessus.
0
Merci de ton aide, j'ai essayer mais malheureusement celas ne fonctionne pas, je ne comprend pas l'erreur...
0