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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
|
-- phpMyAdmin SQL Dump
-- version 2.11.6
-- http://www.phpmyadmin.net -- Serveur: localhost
-- Généré le : Sam 13 Décembre 2008 à 08:08
-- Version du serveur: 5.0.51
-- Version de PHP: 5.2.6
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Base de données: `adebono`
--
-- --------------------------------------------------------
--
-- Structure de la table `destination`
--
CREATE TABLE `destination` (
`id` int(11) NOT NULL auto_increment,
`nompays` varchar(20) NOT NULL,
`nomville` varchar(20) NOT NULL,
`type` varchar(10) NOT NULL,
`commentaire` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
--
-- Contenu de la table `destination`
--
INSERT INTO `destination` (`id`, `nompays`, `nomville`, `type`, `commentaire`) VALUES
(1, 'france', 'paris', 'cafe', 'tres bon cafe'),
(2, 'espagne', 'madrid', 'hotel', 'hotel du port'),
(3, 'allemange', 'munich', 'restaurant', 'restaurant bavarois'),
(4, 'france', 'cannes', 'cafe', 'cafã© roma');
Voici ma premiere page qui genere les 2 listes essai.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
/**
* Permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest
*/
function sendData(param, page)
{
if(document.all)
{
//Internet Explorer
var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
}//fin if
else
{
//Mozilla
var XhrObj = new XMLHttpRequest();
}//fin else
//définition de l'endroit d'affichage:
var content = document.getElementById("contenu");
XhrObj.open("POST", page);
//Ok pour la page cible
XhrObj.onreadystatechange = function()
{
if (XhrObj.readyState == 4 && XhrObj.status == 200)
content.innerHTML = XhrObj.responseText ;
}
XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XhrObj.send(param);
}//fin fonction SendData
</script>
</head>
<body>
<?php
// Paramètres de la Connexion à la base MYSQL
include("base.php");
$i=0; // variable de test
$j=0; // variable pour garder la valeur du premier enregistrement catégorie pour l'affichage
// Séléction de tous les enregistrements de la table Catégorie
$rq="Select DISTINCT(nompays) from destination order by nompays;";
$result= mysql_query ($rq) or die ("Select impossible");
echo "<form method='POST' action='valid.php'>";?> <select size="1" name="pays" OnChange="sendData('id='+this.value,'liresc2.php')" onKeyUp="sendData('id='+this.value,'liresc.php')">
<?php
while ($dt=mysql_fetch_row($result))
{
// Remplir la liste déroulante des catégorie
echo "<option value=".($dt[0]).">".($dt[0])."</option>";
if ($i==0) { $j=$dt[0]; $i=1; } // garder la valeur du premier enregistrement
}
?>
</select><br><br>
<div id="contenu">
<?php
// affichage des sous-catégorie appartenant à la première catégorie.
echo "<select size='1' name='ville'>";
$rq="Select nomville from destination where nompays=".$j." order by nomville;";
$result= mysql_query ($rq) or die ("Select impossible");
// $i = initialise le variable i
$i=0;
while ($dt=mysql_fetch_row($result))
{
echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[0])."</option><br>";
}
echo "</select>";
?>
</div>
</form>
</body>
</html>
et voici la seconde page liresc2.php qui execute la seconde requete sql.
<?php
header('Content-type: text') ; // on déclare ce qui va être afficher
// test des POST emis
if(isset($_POST['id']) && !empty($_POST['id']) ){
include("base.php");
$rq="Select nomville from destination where nompays=".$_POST['id']." order by nomville;";
$result= mysql_query ($rq) or die ("Select impossible");
// $i = initialise le variable i
$i=0;
if (mysql_num_rows($result)>0)
{
echo "<select size='1' name='ville'>";
}
while ($dt=mysql_fetch_row($result))
{
echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[0])."</option><br>";
}
echo "</select>";
}
?> |