Php: de mysql a oracle
Fermé
msi79
Messages postés
499
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
2 mai 2023
-
4 sept. 2011 à 20:27
msi79 Messages postés 499 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 2 mai 2023 - 5 sept. 2011 à 01:26
msi79 Messages postés 499 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 2 mai 2023 - 5 sept. 2011 à 01:26
3 réponses
Freedomsoul
Messages postés
509
Date d'inscription
lundi 9 mai 2011
Statut
Membre
Dernière intervention
17 avril 2013
97
Modifié par Freedomsoul le 5/09/2011 à 01:14
Modifié par Freedomsoul le 5/09/2011 à 01:14
Tu peux envoyer le code ou y'a la ligne indiquée ?
msi79
Messages postés
499
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
2 mai 2023
5 sept. 2011 à 01:21
5 sept. 2011 à 01:21
voici le code :
<?php //https://forum.phpfrance.com/tutoriels/formulaires-listes-deroulantes-dynamiques-liees-t4562.html echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n"); /* Variables de connexion : ajustez ces paramètres selon votre propre environnement */ //$conn = oci_connect("zana", "cool75sool", '(DESCRIPTION = //(ADDRESS_LIST = //(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)) //(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)) //) //(CONNECT_DATA = //(SERVER = DEDICATED) //(SERVICE_NAME = orcldb) //(INSTANCE_NAME = orcldb) //(GLOBAL_NAME = orcldb) //))'); /* On récupère si elle existe la valeur de la région envoyée par le formulaire */ $idr = isset($_POST['region'])?$_POST['region']:null; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr" /> <title>Sélectionner un département selon la région choisie</title> <meta name="description" content="Listes déroulantes dynamiques inter-dépendantes" /> <meta name="keywords" content="" /> <meta name="author" content="Cyrano" /> <meta name="generator" content="Zend Studio Environnement et WebExpert 5" /> <meta http-equiv="imagetoolbar" content="no" /> <meta http-equiv="Pragma" content="no-cache" /> </head> <body style="font-family: verdana, helvetica, sans-serif; font-size: 85%"> <h3>Version 100% PHP</h3> <p>Vous constaterez qu'il y a un délai de latence entre la sélection et la mise à jour.</p> <?php if(isset($_POST['ok']) && isset($_POST['departement']) && $_POST['departement'] != "") { $region_selectionnee = $_POST['region']; $dept_selectionne = $_POST['departement']; ?> <p>Vous avez sélectionné le département <?php echo($dept_selectionne); ?> dans la région <?php echo($region_selectionnee); ?></p> <?php } ?> <h3>Trouver un département</h3> <?php /* On établit la connexion à MySQL avec mysql_pconnect() plutôt qu'avec mysql_connect() * car on aura besoin de la connexion un peu plus loin dans le script */ //$connexion = mysql_pconnect($serveur, $admin, $mdp); $conn = oci_connect("zana", "cool75sool", '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcldb) (INSTANCE_NAME = orcldb) (GLOBAL_NAME = orcldb) ))'); if($conn != false) { //$choixbase = oci_select_db($base, $connexion); //$sql1=oci_parse($conn,"SELECT 'id_region', 'region'"." FROM 'region'". " ORDER BY 'id_region'";); $sql1=oci_parse($conn,"SELECT 'id_region', 'region' FROM region ORDER BY 'id_region'"); $rech_regions = oci_execute($sql1); //$rech_regions = mysql_query($sql1); $code_region = array(); $region = array(); /* On active un compteur pour les régions */ $nb_regions = 0; if($rech_regions != false) { //while($ligne =oci_fetch_assoc($rech_regions)) while($ligne = oci_fetch_assoc($sql1)) { array_push($code_region, $ligne['id_region']); array_push($region, $ligne['region']); /* On incrémente de compteur */ $nb_regions++; } } ?> <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept"> <fieldset style="border: 3px double #333399"> <legend>Sélectionnez une région</legend> <select name="region" id="region" onchange="document.forms['chgdept'].submit();"> <option value="-1">- - - Choisissez une région - - -</option> <?php for($i = 0; $i < $nb_regions; $i++) { ?> <option value="<?php echo($code_region[$i]); ?>" selected="selected"<?php echo((isset($idr) && $idr == $code_region[$i])?" selected=\"selected\"":null); ?>><?php echo($region[$i]); ?></option> <?php } ?> </select> <?php //oci_free_statement($rech_regions); /* On commence par vérifier si on a envoyé un numéro de région et le cas échéant s'il est différent de -1 */ if(isset($idr) && $idr != -1) { /* Cération de la requête pour avoir les départements de cette région */ $sql2=oci_parse($conn, "SELECT id_departement, departement FROM departement WHERE id_region = ". $idr ."". " ORDER BY id_departement"); if($conn != false) { $rech_dept = oci_execute($sql2,$conn); /* Un petit compteur pour les départements */ $nd = 0; /* On crée deux tableaux pour les numéros et les noms des départements */ $code_dept = array(); $nom_dept = array(); /* On va mettre les numéros et noms des départements dans les deux tableaux */ while($ligne_dept = oci_fetch_assoc($sql2)) { array_push($code_dept, $ligne_dept['id_departement']); array_push($nom_dept, $ligne_dept['departement']); $nd++; } /* Maintenant on peut construire la liste déroulante */ ?> <select name="departement" id="departement"> <?php for($d = 0; $d<$nd; $d++) { ?> <option value="<?php echo($code_dept[$d]); ?>"<?php echo((isset($dept_selectionne) && $dept_selectionne == $code_dept[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_dept[$d]." (". $code_dept[$d] .")"); ?></option> <?php } ?> </select> <?php } /* Un petit coup de balai */ //oci_free_result($rech_dept); } ?> <br /><input type="submit" name="ok" id="ok" value="Envoyer" /> </fieldset> </form> <?php /* Terminé, on ferme la connexion */ oci_close($conn); } else { /* Si on arrive là, c'est pas bon signe, il faut vérifier les * paramètres de connexion, mot de passe, serveur pas démarré etc... */ ?> <p>Un incident s'est produit lors de la connexion à la base de données, veuiillez essayer à nouveau ultérieurement.</p> <?php } ?> <p><a href="./index2.php" title="Aller vers la version JavaScript">Aller vers la version JavaScript</a></p> </body> </html>
msi79
Messages postés
499
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
2 mai 2023
5 sept. 2011 à 01:26
5 sept. 2011 à 01:26
je pense que c'est a ce niveau il y a problème :
{ array_push($code_region, $ligne['id_region']); array_push($region, $ligne['region']); /* On incrémente de compteur */ $nb_regions++; }