PHP-JS-Jquery-Ajax, 2 fichiers liste déroulante et auto-complète, possible de réunir?
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

PHP-JS-Jquery-Ajax, 2 fichiers liste déroulante et auto-complète, possible de réunir?



  1. #1
    noam

    PHP-JS-Jquery-Ajax, 2 fichiers liste déroulante et auto-complète, possible de réunir?


    ------

    Bonjour a tous,
    J'ai 2 fichiers php que j'ai fais grace a des codes exemple que j'ai trouvé puis modifié pour que ca marche avec ma config, je me connect en mysqli_connect
    comme l'exemple.

    1 fichier. je récupère les données avec auto-complète (php,jquery,ajax), dans un form html, en format tableau.
    Apres avoir choisis le nom depuis la case désigné a l'auto-complète le reste des cases affiche automatiquement le résultat.

    2ème fichier. dans un form html,javascript, j'affiche dans chaque case une liste déroulante, après avoir valide je récupère les données pour les insérer dans ma
    table.

    Ce que je pensais faire c'est de récupérer chaque var du 1er script dans une variable php, qui sont les données existant dans la table, j'ai pas trouver comment faire.
    d'avoir deux value et deux id dans mon form, pour afficher la la site déroulante, je ne pense pas que cela pourrais ce faire, si oui je ne sais pas comment.
    pour la mise a jour , de récupérer le form après avoir cliqué sur 'mise a jour' de comparer entre les variables existante et les nouveaux, puis de mettre a jour juste les nouveaux.

    Ce que je cherche a faire c'est de combiner les 2 fichiers, je m'explique:
    d'avoir un form avec 3 boutons,
    1 -> un bouton submit pour récupérer les données du form si le produits n'existe pas dans ma table, puis l’insérer.
    2 -> un bouton mise a jour, après avoir afficher les données avec le auto-complète, si je dois faire une mise a jour, d'avoir la possibilité de choisir le juste
    grâce a une liste déroulante, puis mettre a jour seulement les case qui on eu un changement.
    3 -> un bouton reset du form, tous simple c'est déjà fais.

    dans le 1er fichier:
    le script du auto-complète
    Code:
    <script type="text/javascript">
    $(document).ready(function(){
      $(document).on('keydown', '.username', function() {                
        var id = this.id;
        var splitid = id.split('_');
        var index = splitid[1];
        $( '#'+id ).autocomplete({
          source: function( request, response ) {
            $.ajax({
                url: "getDetails.php",
                type: 'post',
                dataType: "json",
                data: {
                    search: request.term,request:1
                },
                success: function( data ) {
                    response( data );
                }
            });
          },
          select: function (event, ui) {
            $(this).val(ui.item.label); // display the selected text
            var userid = ui.item.value; // selected id to input
    
            // AJAX
            $.ajax({
              url: 'getDetails.php',
              type: 'post',
              data: {userid:userid,request:2},
              dataType: 'json',
              success:function(response){      
                var len = response.length;
                if(len > 0){
                  var id = response[0]['ID'];
                  var name = response[0]['product_number'];
    			  var categoriesname = response[0]['categories_name'];
    			  var totalstock = response[0]['total_stock'];
                  document.getElementById('name_'+index).value = name;
    			  document.getElementById('categories_name_'+index).value = categoriesname;
    			  document.getElementById('total_stock_'+index).value = totalstock;
                }
              }
            });		
            return false;
          }
        });
      });
    });
    </script>
    le form pour l'auto-complète
    Code HTML:
    <table class='tutorial-table' align='center';>
      <form class="form-style-9" action="" method="post">
       <tr>
        <th>Unite en stock</th>
        <th>Categorie</th>
        <th>Numero de serie</th>
        <th>Nom du produit</th>
       </tr>
      <tr>
       <td><input type='number' class="totalstock" name="total_stock" id='total_stock_1' readonly></td>
       <td><input type='text' class="categoriesname" name="categories_name" id='categories_name_1' ></td>
       <td><input type='text' class="name" name="product_name" id='name_1' ></td>
       <td><input type='text' class="username" name="product_number" id='username_1' placeholder='הכנס שם מוצר'></td>
      </tr>
      <tr>
      <td></td>
      <td><input type="reset" class="align-right" name="submit2" value="clear form"></td>
      <td><input type="submit" class="align-right" name="update" value="mettre a jour"></td>
      <td><input type="submit" class="align-left" name="submit1" value="מוצר חדש"></td>
      </tr>
     </form>
     </table>
    dans le 2ème fichier
    le script pour la liste déroulante
    Code:
    function outputValue(item)
    {
     document.getElementById('output').value = item.value;
    }
    
    $( function(){
      $( "#dialog-message" ).dialog({
        modal: true,
        buttons: {
         Ok: function() {
          $( this ).dialog( "close" );
         }
        }
      });
    });
    </script>
    le form de la liste déroulante
    Code HTML:
    <table class='tutorial-table' align='center';>
     <form class="form-style-9" action="" method="post">
      <tr>
       <th>Unité en stock</th>
      </tr>
     <tr>
      <td>
      <?php
       echo "<label for='product_number'><select class='field-style field-split align-left' name='product_number' id='product_number_select' onChange='outputValue(this)'>";
    	echo "<option>choisis un produit:</option>";
       foreach($results as $row) 
    	{
    	  echo "<option value='" . $row['product_number'] . "'>" . $row['product_name'] . "</option>";
       }
    	echo "</select></label>";
       echo "<input type='hidden' id='output' name='output' readonly/>";
    	?>
    	</td>
     </tr>
     <tr>
     <td><input type="submit" value="affiche le resultat" style = "font-size:20px; float:right"></td>
     </tr>
    </form>
    </table>

    -----
    Dernière modification par JPL ; 17/04/2020 à 19h50. Motif: Remplacement de la balise Code par HTML dans deux cas

  2. #2
    vande545

    Re : PHP-JS-Jquery-Ajax, 2 fichiers liste déroulante et auto-complète, possible de réunir?

    Bonjour
    Il y a beaucoup de questions imbriquées et mal posées. Moi je ne comprends rien.
    procède par étape en essayant de résoudre les problèmes un par un
    Simplifie, va à l'essentiel et surtout, sois plus clair dans la description
    Exemple dès le début :
    1 fichier. je récupère les données avec auto-complète (php,jquery,ajax), dans un form html, en format tableau.
    c'est quoi «auto-complete», ça apporte quoi ces mots « auto-complète (php,jquery,ajax) » ?

  3. #3
    noam

    Re : PHP-JS-Jquery-Ajax, 2 fichiers liste déroulante et auto-complète, possible de réunir?

    Bonjour,
    J'ai poster juste les codes que je pensent etre important pour ma question, les script et la partie html.

    le auto-complete - affiche automatiquement une liste de noms dans un form html dès que je tape une partie d'un mot d'un mot existant dans ma table sql.
    Je l'ai fais grâce a un exemple que j'ai trouvé et modifié pour que ça marche avec ma table.
    L'exemple que j'ai pris vient de site en anglais https://makitweb.com/autocomplete-da...and-ajax/#demo

    Le fichiers sont en PHP qui utilise des script de languages, JQUERY, JAVASCRIPT, AJAX

    Pour la liste déroulante, une liste déroulante des noms qui est pris de ma table sql je l'affiche dans un form html , j'ai fais de même, avec un exemple que j'ai trouver puis modifier pour que ça marche avec ma table.

    Je cherche a rassembler les 2 parties ensembles celles de la partie d'affichage des nom automatique et aussi la possibilité de choisir de la liste déroulante

Discussions similaires

  1. liste deroulante dynamique en html/php/pdo/sql
    Par didiou85 dans le forum Programmation et langages, Algorithmique
    Réponses: 12
    Dernier message: 30/09/2017, 23h11
  2. La liste déroulante des favrois ne s'affiche plus sur I.E 11
    Par roro123 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 0
    Dernier message: 29/03/2016, 10h23
  3. action sur liste deroulante
    Par invitec7fd8fb0 dans le forum Programmation et langages, Algorithmique
    Réponses: 4
    Dernier message: 08/11/2011, 19h55
  4. réunir des fichiers C en un projet SDL/ sudoku
    Par Stevou dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 24/04/2009, 16h19
  5. réunir des fichiers pdf en un seul fichier
    Par invitebfba5092 dans le forum Logiciel - Software - Open Source
    Réponses: 11
    Dernier message: 23/04/2007, 18h10