Liste déroulante avec la BDD

shafos -  
 shafos -
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

A voir également:

1 réponse

Jessy
 
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
Jessy
 
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
Jessy
 
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
shafos
 
Merci de ton aide, j'ai essayer mais malheureusement celas ne fonctionne pas, je ne comprend pas l'erreur...
0