Liste déroulantr
aycha
-
avion-f16 Messages postés 19255 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19255 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous
voilà lj'ai crée en php une liste déroulante de codes de services à partir de la base et je voudrais, après une clique,afficher sur la même page les autres données relatives à ce service.merci bien
voici le code:
<?php
//connection au serveur
$connect = mysql_connect( "localhost", "root", "" ) or die('erreur de connexion');
//sélection de la base de données:
$db = mysql_select_db( "gestion_stock" ) or die('base introuvable');
?>
<form id="form1" name="form1" method="POST" action="">
<?php
$cde="select * from service order by 'desig_sce'";
$reqt=mysql_query($cde) or die ('erreur sql'.$cde.'<br>'.mysql_error());
?>
<label></label>
<pre> <select name="selectcde_sce"> <option> </option> <?php while($sql=mysql_fetch_object($reqt)){?> <option> <?php echo( $sql->cde_sce);}?></option> </select>
</pre>
<pre> <?php
$cde_sce = $_GET['cde_sce'];
$req="select desig_sce from service where cde_sce='$cde_sce'";
$desig = mysql_query($req) or die ('erreur sql'.$req.'<br>'.mysql_error());
while($result=mysql_fetch_object($desig))
{?> <input name="desig_sce" type ="text" size="37" value="<?php echo( $result->desig_sce);?>" />
</pre>
<pre> <input name="type_sce" type ="text" size="37" value="<?php echo( $result->type_sce);?>" /> <?php
}
?>
</pre>
</form>
voilà lj'ai crée en php une liste déroulante de codes de services à partir de la base et je voudrais, après une clique,afficher sur la même page les autres données relatives à ce service.merci bien
voici le code:
<?php
//connection au serveur
$connect = mysql_connect( "localhost", "root", "" ) or die('erreur de connexion');
//sélection de la base de données:
$db = mysql_select_db( "gestion_stock" ) or die('base introuvable');
?>
<form id="form1" name="form1" method="POST" action="">
<?php
$cde="select * from service order by 'desig_sce'";
$reqt=mysql_query($cde) or die ('erreur sql'.$cde.'<br>'.mysql_error());
?>
<label></label>
<pre> <select name="selectcde_sce"> <option> </option> <?php while($sql=mysql_fetch_object($reqt)){?> <option> <?php echo( $sql->cde_sce);}?></option> </select>
</pre>
<pre> <?php
$cde_sce = $_GET['cde_sce'];
$req="select desig_sce from service where cde_sce='$cde_sce'";
$desig = mysql_query($req) or die ('erreur sql'.$req.'<br>'.mysql_error());
while($result=mysql_fetch_object($desig))
{?> <input name="desig_sce" type ="text" size="37" value="<?php echo( $result->desig_sce);?>" />
</pre>
<pre> <input name="type_sce" type ="text" size="37" value="<?php echo( $result->type_sce);?>" /> <?php
}
?>
</pre>
</form>
A voir également:
- Liste déroulantr
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Site dangereux liste - Guide
- Voir liste d'amis facebook - Guide
3 réponses
Orientes-toi vers de l'AJAX si tu as beaucoup de services.
Si tu n'as que 2-3 services, alors affiches toutes les données de tous les services mais masques-les. Ensuite, tu devra les afficher en Javascript.
Je te conseil ce tuto pour apprendre l'AJAX.
Pour la deuxième solution, voilà un script que je viens de pondre.
Si tu n'as que 2-3 services, alors affiches toutes les données de tous les services mais masques-les. Ensuite, tu devra les afficher en Javascript.
Je te conseil ce tuto pour apprendre l'AJAX.
Pour la deuxième solution, voilà un script que je viens de pondre.
Pour l'AJAX, c'est très simple. Créer une page services-ajax.php qui ne contient que du PHP.
Dans ta page HTML, place ce script entre <head> et </head>
Ton formulaire :
Pour finir, il te faut un div/p ayant comme id 'info-service'.
Si tu veux télécharger mon exemple : Télécharger
<?php // Fait les opérations nécessaire pour retourner la description du service demadné // (contenu dans $_POST['service'];) // Voici l'exemple que j'ai fais pour tester : if($_POST['service'] == 'html') { echo 'Nous développons pour vous un site Web totalement fonctionnel.<br/><a href="#">Plus d\'info</a>'; } elseif($_POST['service'] == 'css') { echo 'Nous pouvons réaliser votre design au prix le plus bas.<br/><a href="#">Plus d\'info</a>'; } elseif($_POST['service'] == 'php') { echo 'Nos développeurs peuvent créer un site Web intéractif avec espace d\'administration, système de news, ... ou une application Web.<br/><a href="#">Plus d\'info</a>'; } elseif($_POST['service'] == '--') { echo ''; } else { echo 'error'; } ?>
Dans ta page HTML, place ce script entre <head> et </head>
<script type="text/javascript"> function afficherService() { var service = document.getElementById('service').value; var xhr = null; if (window.XMLHttpRequest || window.ActiveXObject) { if (window.ActiveXObject) { try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { xhr = new XMLHttpRequest(); } } else { alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest..."); return; } xhr.onreadystatechange = function() { if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) { document.getElementById('info-service').innerHTML = xhr.responseText; } }; xhr.open("POST", "services-ajax.php", true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") xhr.send("service=" + service); return false; } </script>
Ton formulaire :
<form method="post" action="" onsubmit="return afficherService();"> <fieldset> <legend>Nos services</legend> <p> <label for="service">Service :</label> <select name="service" id="service" onchange="afficherService();"> <!-- Le contenu de la liste, peut-être généré par PHP --> <option value="--">--</option> <option value="html">HTML</option> <option value="css">CSS</option> <option value="php">PHP</option> </select> </p> <p> <input type="submit" value="Plus d'info" /> </p> </fieldset> </form> <!-- Tu peux le personnalisé comme tu veux mais laisse le onchange sur select, onsubmit sur form, et l'id sur le select -->
Pour finir, il te faut un div/p ayant comme id 'info-service'.
Si tu veux télécharger mon exemple : Télécharger
Je vais essayer ta proposition, si j'ai un problème je vais te conacter.