IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Dependents Select Box ( 02 selects) using PHP, JQuery


Sujet :

jQuery

  1. #1
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2020
    Messages : 25
    Points : 16
    Points
    16
    Par défaut Dependents Select Box ( 02 selects) using PHP, JQuery
    Salut;

    Pour développer un site de recherche d'Article consacrés à des auteurs j'ai suivi un tutoriel du genre "Dependents Select Box ( 02 selects) using PHP, JQuery".
    PB: le premier select répond au focus mais pas le second qui en dépend.
    Je vous serai bien reconnaissant, pour ne pas dire je suis près à payer, si quelqu'un peut me résoudre ce pb

    voilà la dénomination des tables et clés utilisés :
    t1 : art avec CP: idart, champs : titre / <select name ="art" id = "art">
    t2 : auteur avec CP: idautre, CE: arte, champs : Nom / <select name ="auteur" id = "auteur">

    code html + JQuery (feuille indépendante):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    <?php 
    include 'hearder3.php';
    ?>
    <script src ="https://code.jquery.com/jquery-3.4.1.min.js"></script>
     
     
    <form method= "GET" action = "">
    <label>List of Article </label><br><br><br>
    <select type= "text" name ="art" id = "art">
     <option value = "">Select ART</option>
     <?php 
      $query =("SELECT titre FROM art GROUP BY art.titre");
      $result = mysqli_query ($conn, $query );
       while ( $row = mysqli_fetch_array( $result)){
     
      echo '<option value "'.$row['idart'].'">'.$row['titre'].'</option>';
                    
       }
     ?>	
     </select>
     <br>
     <br>
     <br>
     <label>Auteur </label>
     <select type="text" name ="auteur" id= "auteur">
     <option>Select Auteur</option>
      </select>
     </form>
     <script type = "text/javascript">
     $(document).ready(function(){
     $('#art').change(function(){
     
    	var aid = $('#art').val();
    	  if (aid){
    		  $.GET(
    		  "datat.php",
    		  { art = aid },
    		   function(data) {
    		   $('#auteur').html(data);
    			 });
    		 	)
    		  }
    		  else {
    		     $('#auteur').html('<option>Select Auteur</option>')
    	 }
    	 })		
     })
     </script>
    Code PHP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <?php 
    include 'hearder3.php';
    ?>
    <?php 
        if(isset($_GET['art']) && !empty ($_GET['art'])){   
             $id = $_GET['art'];
            $query ="SELECT * FROM auteur WHERE auteur.arte = '$id'";
            $result =mysqli_query ($conn, $query );
            $count =mysqli_num_rows ($result );
            if ($count >0){
       while ( $row = mysqli_fetch_array( $result)){
     
             
                       echo '<option value "'.$row['idautr'].'">'.$row['Nom'].'</option>';
       }    
       }
       else {
               echo  '<option>Not Nom Availibal</option>';
       }
            }
             else {
                         echo '<h1>Eroor </h1>';
             }
            
     ?>

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 844
    Points
    4 844
    Par défaut
    Bonjour,

    Il faut :
    • Préparer les requêtes quand on traite des variables récupérées avec $_GET ou $_POST.
    • Protéger les données à l'affichage avec htmlspecialchars.
    • Utiliser PDO au lieu de mysqli, sinon tu auras de sérieux problèmes avec les caractères spéciaux si tu n'utilise pas mysqli_set_charset() à l'insertion et la sélection.


    Bref... y'a pas mal de lignes à rectifier dans ton code.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2020
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    Bonjour;

    Merci de m'avoir répondu, surtout que je ne maîtrise pas javascript
    je ne sais pas comment réorganiser mes 02 requêtes autrement en sachant que le 01select fonctionne bien .
    j'ai bien saisi l'importance de protéger mes selects contre les injections sql, mais je le ferai après, comme avec d'autres selects protégés qui fonctionnent bien.
    j'ai trop avancé dans mon site avec mysqli de plus j'ai essayé le PDO au début mais faute de formation, je restais souvent bloqué.

    Cordialement

  4. #4
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2020
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    Rebonjour;

    Voilà la copie BDD, sur laquelle j'ai bati les codes ( BDD) utilisé à titre de test mais que seul le 01 select réagit.
    il y a 03 tables mais pour l'instant j'ai utilisé que ceux : art, auteur

    Oups, la fonction pieces jointes ne s'active pas

    Que faire ?

  5. #5
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 844
    Points
    4 844
    Par défaut
    Bonjour,

    Euuh les pièces jointes s'activent sans soucis, à moins que tu t'es trompé quelque part..., mais ce n'est pas grave, car j'ai créé les tables avec les champs nécessaires afin que l'exemple fonctionne.

Discussions similaires

  1. Requete PHP Jquery Ajax avec select multiple
    Par le maire dans le forum jQuery
    Réponses: 1
    Dernier message: 16/01/2018, 10h26
  2. Réponses: 2
    Dernier message: 28/06/2012, 14h13
  3. [MySQL] Problème de Select en php bizarre!!!
    Par carmen256 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 04/04/2006, 15h02
  4. [ODBC] Probleme sur un SELECTED de SELECT avec PHP
    Par G.D.O dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 27/03/2006, 15h44
  5. select 'detail.php?id='||ID from table;
    Par XtofRoland dans le forum Requêtes
    Réponses: 2
    Dernier message: 01/03/2006, 10h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo