affichage tableaux apres choix select dynamique

affichage tableaux apres choix select dynamique - PHP - Programmation

Marsh Posté le 03-08-2015 à 11:13:59    

Bonjour à tous,  
 
cela fait une semaine que je bloque sur un soucis,
 
j'ai une liste déroulante dynamique venant de ma base de données.
voici ma liste

Code :
  1. <p> Choisissez le tableaux d'applications qui sera mis en place pour cet campagne </p>
  2.                         <select id="TabApplis" name="appli" onchange="LoadTab()"  action="src.php">
  3.                             <option value=""> -- Nom du tableaux -- </option>
  4.                             <?php
  5.                                 mysql_connect("127.0.0.1", "root", "" );
  6.                                 mysql_select_db("BDD01" );
  7.                                 mysql_set_charset("utf8" );
  8.                             $show="show tables like 'tab_%' ";
  9.                             $resultshow=mysql_query("$show" );
  10.                             while ($ligne=mysql_fetch_array($resultshow))
  11.                             {
  12.                                 echo "<option value='".$ligne[0]."'>".$ligne[0]."</option>";
  13.                                
  14.                             }
  15.                                 mysql_free_result($rep);
  16.                                 mysql_close();
  17.                             ?>


 
ma function js

Code :
  1. function LoadTab(){         
  2.                 var TabApplis, texte;
  3.                     TabApplis = document.getElementById("TabApplis" );
  4.                     texte = TabApplis.options[TabApplis.selectedIndex].text;
  5.                    /* $(document).ready(function() {
  6.                         $('#TabApplis').load('admin.php #TabApplis');
  7.                         });  */
  8.                 $('#tabappli').show();// Affichage du tableau des applications da la partie Création de campagne
  9.                 alert (texte);
  10.             }


 
et mon tableau

Code :
  1. <div id="tabappli" style="display:none">
  2.                                 <table bgcolor="#FFFFFF" id="TabAppli" name="TabAppli" >
  3.                                     <?php
  4.                                     include 'Script\connectdb.php';
  5.                                     include 'Script\Scr.php';
  6.                                     $link = mysqli_connect ($host,$user,$pass) or die ('Erreur01 : '.mysql_error() );
  7.                                         mysqli_select_db($link, $db) or die ('Erreur02 :'.mysql_error());
  8.                                     /*$valeur = $_POST['appli'];
  9.                                         /*mysqli_set_charset("utf8" );
  10.                                     $select = "SELECT * FROM `".$Create."` ";*/
  11.                                     $select ="SELECT * FROM applications";
  12.                                     $result = mysqli_query($link,$select) or die ('Erreur03 : '.mysql_error() );
  13.                                     $total = mysqli_num_rows($result);
  14.                                         echo '<tr>';
  15.                                             echo '<td bgcolor="#CCCCCC"><b><u>Nom</u></b></td>';
  16.                                             echo '<td bgcolor="#CCCCCC"><b><u>Type</u></b></td>';
  17.                                             echo '<td bgcolor="#CCCCCC"><b><u>Connexion</u></b></td>';                           
  18.                                     while($row = mysqli_fetch_array($result))
  19.                                     {
  20.                                     echo '<tr>';
  21.                                         echo '<td>'.$row["Nom"].'</td>';
  22.                                         echo '<td>'.$row["Type"].'</td>';
  23.                                         echo '<td>'.$row["Connexion"].'</td>';
  24.                                     echo '</tr>'."\n";
  25.                                     }
  26.                                         mysqli_free_result($result);
  27.                                         mysqli_close($link);
  28.                                     ?>
  29.                                 </table>

.
 
je bloque sur cet derniere partie
 
j'aimerai qu'apres la séléction dans la liste, a la place de l'alert appeler un script php qui récupere l'elemens de la liste pour pouvoir effectuer mon select en fonction de son nom
je pense a de l'ajax je ne suis pas sur  
 
quelqu'un pourrait-il me guider ?

Reply

Marsh Posté le 03-08-2015 à 11:13:59   

Reply

Marsh Posté le 03-08-2015 à 11:31:07    

Bonjour,
 
Pas compris le problème, une fois que l'utilisateur a sélectionné son choix dans ton formulaire et qu'il le valide alors ce choix est envoyé à src.php via la méthode POST ou GET (en fonction de comment tu as créé ton formulaire). Ton "tableau" est créé dans src.php? Si oui, alors tu as juste à utiliser la variable adéquate.
L'ajax c'est juste du confort, cela dépend de comment tu comptes architecturer ton site.

Reply

Marsh Posté le 03-08-2015 à 11:37:22    

je m'explique plus clairement :p je me disais aussi que je n'était pas clair
 
Alors:
 
Dans ma page Admin.php qui est un methode post j'ai plusieurs choix possible  
mon problème est sur le choix numéro 3
en gros j'ai ma liste déroulante qui interroge ma base de données avec son show table
une fois que l'utilisateur a fait son choix dans le select celui fait affiche le tableau qui est normalement caché
 
mon problème arrive ici
j'aimerai que lors du choix de l'users ma fonction js recharge l'élements pour pouvoir récupere son choix pour pouvoir effectuer un select * from $var pour le tableau
 
Ps dans ma page src il n'y a que $test=($_post['element']);
 
 
est ce plus compréhensible :??:

Reply

Marsh Posté le 03-08-2015 à 11:49:25    

D'ailleurs le "action" ne va pas dans le select mais dans le form, actuellement il y a de bonnes chances qu'il ne fasse rien.
 
Oui c'est plus compréhensible, tu veux interroger ta base de données en fonction du choix de l'utilisateur et lui afficher les résultats sans changer de page.
 
C'est en effet ce à quoi sert Ajax, après tout dépend de la quantité de données à traiter et de leur confidentialité. Tu peux très bien imaginer récupérer toutes les données (tous les résultats possibles) avant le chargement de la page et tout faire en js. Évidemment si le nombre de résultats est trop conséquent il est préférable de passer par Ajax.
 
Pour Ajax, tu vas devoir envoyer (par ajax) le résultat du formulaire à une page php qui va calculer (rechercher dans la bdd en l’occurrence) le résultat et l'afficher, ce résultat est alors récupéré par ta page d'appel, tu n'as plus qu'à l'exploiter avec une variable js.
 
 
Pour l'utilisation concrète d'ajax je te laisse voir par google ou sur ce forum, les exemples et tutos ne manquent pas. De plus il existe plusieurs méthodes et la possibilité de le faire en js pur ou en jquery.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed