Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & Oracle
PHP & Oracle Forum d'entraide sur Oracle avec PHP. Avant de poster -> FAQ Oracle et Cours Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/10/2011, 10h12   #1
Invité de passage
 
Homme
Étudiant
Inscription : août 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : août 2011
Messages : 5
Points : 0
Points : 0
Par défaut Liste déroulante dynamique oracle

Bonjour à tous,

Voila je vous explique mon problème :

j'ai un formulaire php qui va récupérer les valeurs dans une base.

J'ai un formulaire avec 3 listes déroulantes et en fonction du choix de la première la 2ème liste déroulante ne proposera que certains choix et enfin selon le choix le la 2ème liste la 3è liste ne proposera également que certains choix.

Liste déroulante 1 : Choix de la Direction Générale
Liste déroulante 2 : Choix de la Direction
Liste déroulante 3 : Choix du service

Voici mes tables Oracle :

DirectionGénérale(Id,Nom)
Direction(Id,Nom,IdDirectionGénéral)
Service(Id,Nom,IdDirection)

J'en suis a ce point au nivau de mon formulaire, j'arrive à récupérer les valeur de ma table Direction Général et a les afficher, mais je n'arrive pas à afficher les direction correspondantes dans une liste déroulante en dessous.

Voici mon code :

Code :
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
<center><h1> FICHE </h1></center>
<h2>Généralités</h2>
<form action="testazerty.php" method="post">
<div>
<TABLE BORDER=0>
 
 
Direction Générale Adjointe :
 
<!-- Recuperation données -->
 
<?php
 
$con = ocilogon( "test", "test" ,"IDCON"); 
$reqdirgen = "select NOM, Id from DIRECTIONGENERALE";
 
$parsed = ociparse($con, $reqdirgen);
ociexecute($parsed);
 
$nrows = ocifetchstatement($parsed, $results);
echo "<select name=NOM>\n";
for ($i = 0; $i < $nrows; $i++) 
{
//echo "<option value={$results['NOM'][$i]}>";
echo "<option value=\"".$results['NOM'][$i]."\">".$results['NOM'][$i] ."</option>";
}
$code = $_POST['NOM'] ;
echo( "Votre dga: <b>".$code."</b><br>\n" ) ;
oci_free_statement($parsed);
oci_close($con);
 
?>

Je ne suis pas un spécialiste je préviens par contre je débute ^^

Merci de votre aide j'espère avoir été claire :/
emax2k est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 11h29   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 991
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 991
Points : 5 032
Points : 5 032
Citation:
J'en suis a ce point au nivau de mon formulaire, j'arrive à récupérer les valeur de ma table Direction Général et a les afficher, mais je n'arrive pas à afficher les direction correspondantes dans une liste déroulante en dessous.
Pour tout ce qui est dynamique, il faut passer par JavaScript. Dans ton cas, il faut créer un trigger Ajax capable d'aller demander à PHP les directions pour une direction générale et d'afficher une liste déroulante en dessous.

Voici à quoi ça peut ressembler avec du JSon et jQuery:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
$('select#dir_general').change(function () {
  $.ajax({
     url: '/get_directions_from_general_direction.php',
     data: {id_dir_gen: $(this).val()},
     context: $(this),
     dataType: 'json',
     success: function (json) {
         var directions = $('<select name="direction"></select>'):
         $.each(json.directions, function (i, item) {
             directions.append('<option value="' + i + '">' + item + '</option>');
         });
         $('select[name="direction"]').remove();
         $(this).after(directions);
     }
  });
});
Le script get_directions_from_general_direction.php prends un id_dir_get en paramètre $_GET et devra renvoyer un flux JSon qui comprends les directions à afficher - tu peux te servir d'un bête tableau et de la fonction json_encode pour faire ça.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h31.


 
 
 
 
Partenaires

Hébergement Web