Liste deroulante sur BDD

Fermé
steve-elipz Messages postés 148 Date d'inscription mercredi 4 avril 2012 Statut Membre Dernière intervention 7 avril 2018 - 18 janv. 2015 à 10:13
 Utilisateur anonyme - 18 janv. 2015 à 17:32
Bonjour à tous,

j'aimerai faire un site ultra léger pour mon travail,

nous avons des pièces a vendre et j'aimerai les référencer sur un site

j'aimerai faire 4 listes déroulantes avec un nom par défaut dedans ex:

"modèle" (dans la liste apparaît véh A, véh B, etc) une fois le modèle choisi on sait sélectionner dans l autre liste déroulante

"type" ( carrosserie, mécanique) une fois validé on a accès a la 3ieme listes pour finir enfin aux pièces que l'on veut

en sachant que toutes les pièces seront sur une base de données avec photos

dans le cas ou mon explication serait un peu limite lol

voici un exemple parfait de ce que j aimerai faire

https://www.ptronic.be/

selectionner une marque / selectionner un modele / selectionner une motorisation


merci d'avance pour votre attention


12 réponses

steve-elipz Messages postés 148 Date d'inscription mercredi 4 avril 2012 Statut Membre Dernière intervention 7 avril 2018
18 janv. 2015 à 10:53
voici une base de code pour l'explication



<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="fr-be">
<head>

<link rel="stylesheet" type="text/css" href="style.css">

</head>


<body>


<div style="text-align: center;">

<form action="">
<select name="Modele" size="1">
<option>Modele</option>
<option>I10</option>
<option>I20</option>
<option>I30</option>
</select>


<select name="Etat" size="1">
<option>Etat</option>
<option>Neuf</option>
<option>Occasion</option>
<option>Les Deux</option>
</select>


<select name="Type" size="1">
<option>Type</option>
<option>Mecanique</option>
<option>Carrosserie</option>
</select>

<input value="Submit" type="submit">
</form>

</div>


</body>
</html>


0
Utilisateur anonyme
18 janv. 2015 à 11:11
0
steve-elipz Messages postés 148 Date d'inscription mercredi 4 avril 2012 Statut Membre Dernière intervention 7 avril 2018
18 janv. 2015 à 12:46
merci beaucoup de m'avoir dirigé :)
0
steve-elipz Messages postés 148 Date d'inscription mercredi 4 avril 2012 Statut Membre Dernière intervention 7 avril 2018
18 janv. 2015 à 13:09
cependant ça ne répond malheureusement pas a ma demande...

1) pas de titre par défaut dans <option>
2) tant que la première liste n'est pas remplie les autres ne doivent rien afficher
3) pas de lien vers une base de donnée

j'aimerai vraiment même chose que ca: https://www.ptronic.be/

une bout de code
un tuto au pire

n'importe quoi qui pourrait me diriger un peu

merci encore a tous
0
re : )

je ne ferai pas à ta place quoi qu'il arrive. Il va falloir que tu te plonges dans les arcanes du PHP !

Voiçi le principe

Dans un formulaire tu demandes de sélectionner le facteur A ( modèle par exemple ) puis tu le valides ( bouton SUBMIT ). Tu récupère l'information A. Tu fais une sélection dans ta Bdd pour ne conserver que ce qui concerne A, La page est renvoyée ... selection du facteur B, idem pour le facteur C. Le SELECT des menus déroulants est généré par le PHP

<?php
// on se connecte à la bdd
try {
    $pdo = new PDO('mysql:host=localhost;dbname=test','root',''); 
}
catch (PDOException $exception) {
    echo $message= $exception->getMessage();
    die(); 
}
$this->connexion_bd = $pdo;

// traiter requete
$this->data=$connexion_bd->query("SELECT * FROM test GROUP BY facteur_X");

// on céé dynamiquement le SELECT
echo '  <SELECT> ' ;

while( $this->data_vue = $this->data->fetch() ) { 

   echo "<option value=' "  . this->data_vue['facteur_X'] . "  ' >" . this->data_vue['facteur_X'] . "</option> ";

}
echo '</SELECT>';

?>


Je te laisse te renseigner ( un petit peu ) sur ce que tu ne saisis pas

Cdt
0
Utilisateur anonyme > Utilisateur anonyme
Modifié par ludobabs le 18/01/2015 à 15:25
[EDIT]

ligne 20 j'ai oublié $ devant this ...

Les puristes voudront bien m'excuser : )
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
codeurh24 Messages postés 761 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 8 septembre 2018 123
Modifié par codeurh24 le 18/01/2015 à 14:03
il faut utiliser html et jquery ( et ajax avec qui est inclus avec jquery )

Le html c'est les listes déroulantes
a chaque modification de la premier liste on récupére la valeur avec jquery

un fois recuperer la valeur de la premier liste faut envoyer la valeur a une page php (via ajax de jquery)

faire une ou des requette en php sur mysql (la bdd)

on recuperer le resultat de la 2eme liste envoyer par la page php sous forme de json

jquery recuperer les données json et rempli la 2eme liste

ainsi de suite.
0
Utilisateur anonyme
18 janv. 2015 à 14:04
j'ai essayé de rester "soft" ^^ juste HTML et PHP mais ta proposition est pas mal non plus : )
0
steve-elipz Messages postés 148 Date d'inscription mercredi 4 avril 2012 Statut Membre Dernière intervention 7 avril 2018
18 janv. 2015 à 15:18
oui en effet ca a l air super simple mdr
0
Utilisateur anonyme
18 janv. 2015 à 15:20
^^)
0
steve-elipz Messages postés 148 Date d'inscription mercredi 4 avril 2012 Statut Membre Dernière intervention 7 avril 2018
18 janv. 2015 à 15:22
peut on faire ça en deux parties svp sinon je vais galérer a fond!

pour ma partie html/php puis je déjà créer mes menus?

si oui avec quelle méthode puis je procéder? celle ci est-elle bonne?



<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="fr-be">
<head>

<link rel="stylesheet" type="text/css" href="style.css">

</head>


<body>


<select name="Modele" size="1">
<option>Modele</option>
<option>I10</option>
<option>I20</option>
<option>I30</option>
</select>


<select name="Etat" size="1">
<option>Etat</option>
<option>Neuf</option>
<option>Occasion</option>
<option>Les Deux</option>
</select>


<select name="Type" size="1">
<option>Type</option>
<option>Mecanique</option>
<option>Carrosserie</option>
</select>


///si mécanique///

<select name="mecanique" size="1">
<option>Freins</option>
<option>Moteur</option>
<option>Phares</option>
<option>Electronique</option>
<option>Suspensions</option>
<option>Tranmission</option>
</select>

///si carrosserie///

<select name="carrosserie" size="1">
<option>Pare-chocs</option>
<option>Portes</option>
<option>Calandre</option>
<option>Ailes</option>
<option>Capot</option>
<option>Coffre</option>
<option>Accessoires</option>
</select>

///Soumettre la requete///

</body>
</html>





MERCIIIIIIII
0
Utilisateur anonyme
18 janv. 2015 à 15:30
Ton select ne retournera rien ^^ il manque "value"

<!-- La deuxième valeur sera sélectionnée au début -->

<select name="select">
  <option value="value1">Valeur 1</option> 
  <option value="value2" selected>Valeur 2</option>
  <option value="value3">Valeur 3</option>
</select>

https://developer.mozilla.org/fr/docs/Web/HTML/Element/select
0
steve-elipz Messages postés 148 Date d'inscription mercredi 4 avril 2012 Statut Membre Dernière intervention 7 avril 2018
18 janv. 2015 à 15:28
peut on faire un exemple leger ensemble svp
0
steve-elipz Messages postés 148 Date d'inscription mercredi 4 avril 2012 Statut Membre Dernière intervention 7 avril 2018
18 janv. 2015 à 15:44
voici les modifs


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="fr-be">
<head>

<link rel="stylesheet" type="text/css" href="style.css">

</head>


<body>


<select name="select">
<option value="value1" selected>Modele</option>
<option value="value2">I10</option>
<option value="value3">I20</option>
<option value="value4">I30</option>
</select>

<select name="select">
<option value="value1" selected>Etat</option>
<option value="value2">Neuf</option>
<option value="value3">Occasion</option>
<option value="value4">Neuf & Occasion</option>
</select>

<select name="select">
<option value="value1" selected>Type</option>
<option value="value2">Mecanique</option>
<option value="value3">Carrosserie</option>
</select>

<select name="select">
<option value="value1" selected>Mecanique</option>
<option value="value2">Freins</option>
<option value="value3">Moteur</option>
<option value="value4">Phares</option>
<option value="value5">Electronique</option>
<option value="value6">Suspensions</option>
<option value="value7">Transmission</option>
</select>

<select name="select">
<option value="value1" selected>Carrosserie</option>
<option value="value2">Pare-chocs</option>
<option value="value3">Portes</option>
<option value="value4">Calandre</option>
<option value="value5">Ailes</option>
<option value="value6">Capot</option>
<option value="value7">Coffre</option>
<option value="value8">Accessoires</option>
</select>

///Soumettre la requete///

</body>
</html>
0
Utilisateur anonyme
18 janv. 2015 à 15:57
chaque SELECT doit avoir un nom unique ...

ps -> tu peux utiliser la coloration syntaxique ( en haut à droite, balise code, html ) ce sera plus lisible
0
steve-elipz Messages postés 148 Date d'inscription mercredi 4 avril 2012 Statut Membre Dernière intervention 7 avril 2018
18 janv. 2015 à 16:08
voila j ai simplement ajouter 1,2,3,4 apres select, quelle est la suite du programme? :)
0
steve-elipz Messages postés 148 Date d'inscription mercredi 4 avril 2012 Statut Membre Dernière intervention 7 avril 2018
18 janv. 2015 à 16:15
au final je dois faire la meme chose je presume

http://creer-un-site.fr
0
Pour te montrer le principe HTML / PHP : )

<html>

<head>
 <meta charset="utf-8" />
</head>

<body>

<?php

if (isset($_GET['selection'])) {  // on revient du formulaire validé

 echo "Bravo, vous avez séléctionné : " . $_GET['selection'];

}
else {  // on affiche le formulaire
 ?>

 <form method="GET" action="index.php" name="mon_formulaire">

  Faites votre choix
  <br />
  <br />

  <fieldset>
   <select name="selection">
    <option value="Carrosserie" selected>Carrosserie</option> 
    <option value="Pare-chocs">Pare-chocs</option>
    <option value="Portes">Portes</option>
    <option value="Calandre">Calandre</option>
    <option value="Ailes">Ailes</option>
    <option value="Capot">Capot</option>
    <option value="Coffre">Coffre</option>
    <option value="Accessoires">Accessoires</option>
   </select>
  </fieldset>
  <br />
  <br />
  <input type="submit" value="Choisir">


 </form>

 <?php
}
?>
</body>
</html> 


Cdt

ps -> j'utilise la methode GET pour que tu puisses regarder l'adresse de la page apres validation. En exploitation nous remplaçons GET par POST, dans ce cas, l'url n'est pas modifiée, aucune donnée n'y apparait : )

En informatique 99% des problèmes se situent entre le fauteuil et le clavier
0
L'extension du nom de ce fichier doit être .php sinon le php ne sera pas interpreté ...

Cdt
0