Liste deroulante sur BDD

steve-elipz Messages postés 148 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
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


A voir également:

12 réponses

steve-elipz Messages postés 148 Date d'inscription   Statut Membre Dernière intervention  
 
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
 
0
steve-elipz Messages postés 148 Date d'inscription   Statut Membre Dernière intervention  
 
merci beaucoup de m'avoir dirigé :)
0
steve-elipz Messages postés 148 Date d'inscription   Statut Membre Dernière intervention  
 
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
Utilisateur anonyme
 
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
 
[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 760 Date d'inscription   Statut Membre Dernière intervention   123
 
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
 
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   Statut Membre Dernière intervention  
 
oui en effet ca a l air super simple mdr
0
Utilisateur anonyme
 
^^)
0
steve-elipz Messages postés 148 Date d'inscription   Statut Membre Dernière intervention  
 
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
 
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   Statut Membre Dernière intervention  
 
peut on faire un exemple leger ensemble svp
0
steve-elipz Messages postés 148 Date d'inscription   Statut Membre Dernière intervention  
 
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
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
au final je dois faire la meme chose je presume

http://creer-un-site.fr
0
Utilisateur anonyme
 
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
Utilisateur anonyme
 
L'extension du nom de ce fichier doit être .php sinon le php ne sera pas interpreté ...

Cdt
0