Code : Tout sélectionner
/* PAR AVOCK */
var retour = '';
var tableau = new Array();
// En premier dans chaque ligne le nom de la région suivit du nom des villes
<?php
mysql_select_db('xx', mysql_connect('xx', 'xx', 'xx'));
$ssrubriques = array();
$retour_sql = mysql_query("SELECT rubrique, sousrubrique FROM tblsousrubrique") or die(mysql_error());
while ( $resultat = mysql_fetch_assoc( $retour_sql ) )
{
$ssrubriques[$resultat['rubrique']] .= ', \''.$resultat['sousrubrique'] .'\'';
}
$i = 0;
$retour_sql = mysql_query("SELECT rubrique FROM tblrubrique") or die(mysql_error());
while ( $resultat = mysql_fetch_assoc( $retour_sql ) )
{
$rub_mere = $resultat['rubrique'];
echo 'tableau['. $i .'] = new Array(\''. $rub_mere .'\''.$ssrubriques[$rub_mere].');';
echo "\r\n";
$i++;
}
?>
function get_ss_rub(id_rub)
{
for (var i=1; i<tableau[id_rub].length; i++)
{
retour += '<option value="'+tableau[id_rub][i]+'">'+tableau[id_rub][i]+'</option>';
}
document.getElementById('2emeselect').innerHTML = retour;
retour = '';
}
function get_Rub()
{
for (var i=0; i<tableau.length; i++)
{
retour += '<option value="'+tableau[i][0]+'" onclick="get_ss_rub('+i+')">'+tableau[i][0]+'</option>';
}
document.getElementById('1erselect').innerHTML = retour;
retour = '';
}Code : Tout sélectionner
<html>
<head>
<script type="text/javascript" src='script.php'></script>
</head>
<body onload = "get_Rub()">
<form>
<select name="1erchoix" id="1erselect"></select>
<select name="2emechoix" id="2emeselect"></select>
</form>
</body>
</html>
Code : Tout sélectionner
mysql> SELECT * FROM rubrique;
+--------+---------------+---------------+
| rub_id | rub_id_parent | rub_libelle |
+--------+---------------+---------------+
| 1 | NULL | Développement |
| 2 | NULL | Environnement |
| 3 | 1 | PHP |
| 4 | 1 | JavaScript |
| 5 | 2 | Navigateurs |
| 6 | 2 | Éditeurs |
+--------+---------------+---------------+
6 rows in set (0.00 sec)Code : Tout sélectionner
mysql> SELECT * FROM infos;
+--------+--------+---------------------+---------------------------------------------------------------------------------------------------+
| inf_id | rub_id | inf_date | inf_sujet |
+--------+--------+---------------------+---------------------------------------------------------------------------------------------------+
| 1 | 3 | 2007-07-08 00:42:44 | La programmation en PHP demande de la rigueur et de la logique |
| 2 | 4 | 2007-07-08 00:42:44 | Le JavaScript est un langage dit client... |
| 3 | 5 | 2007-07-08 00:42:44 | Le bon développeur teste ses développements sur différents navigateurs... |
| 4 | 6 | 2007-07-08 00:42:44 | On peut programmer en PHP simplement avec le Bloc-Note ou encore utiliser un éditeur plus avancé. |
+--------+--------+---------------------+---------------------------------------------------------------------------------------------------+
4 rows in set (0.00 sec)Code : Tout sélectionner
mysql> SELECT i.inf_date AS 'Date', r1.rub_id AS 'Rubrique', r2.rub_id AS 'Sous-Rubrique', i.inf_sujet AS 'Sujet'
-> FROM infos i, rubrique r1, rubrique r2
-> WHERE i.rub_id = r2.rub_id
-> AND r1.rub_id = r2.rub_id_parent;
+---------------------+----------+---------------+---------------------------------------------------------------------------------------------------+
| Date | Rubrique | Sous-Rubrique | Sujet |
+---------------------+----------+---------------+---------------------------------------------------------------------------------------------------+
| 2007-07-08 00:42:44 | 1 | 3 | La programmation en PHP demande de la rigueur et de la logique |
| 2007-07-08 00:42:44 | 1 | 4 | Le JavaScript est un langage dit client... |
| 2007-07-08 00:42:44 | 2 | 5 | Le bon développeur teste ses développements sur différents navigateurs... |
| 2007-07-08 00:42:44 | 2 | 6 | On peut programmer en PHP simplement avec le Bloc-Note ou encore utiliser un éditeur plus avancé. |
+---------------------+----------+---------------+---------------------------------------------------------------------------------------------------+
4 rows in set (0.00 sec)Code : Tout sélectionner
mysql> SELECT i.inf_date AS 'Date', r1.rub_libelle AS 'Rubrique', r2.rub_libelle AS 'Sous-Rubrique', i.inf_sujet AS 'Sujet'
-> FROM infos i, rubrique r1, rubrique r2
-> WHERE i.rub_id = r2.rub_id
-> AND r1.rub_id = r2.rub_id_parent;
+---------------------+---------------+---------------+---------------------------------------------------------------------------------------------------+
| Date | Rubrique | Sous-Rubrique | Sujet |
+---------------------+---------------+---------------+---------------------------------------------------------------------------------------------------+
| 2007-07-08 00:42:44 | Développement | PHP | La programmation en PHP demande de la rigueur et de la logique |
| 2007-07-08 00:42:44 | Développement | JavaScript | Le JavaScript est un langage dit client... |
| 2007-07-08 00:42:44 | Environnement | Navigateurs | Le bon développeur teste ses développements sur différents navigateurs... |
| 2007-07-08 00:42:44 | Environnement | Éditeurs | On peut programmer en PHP simplement avec le Bloc-Note ou encore utiliser un éditeur plus avancé. |
+---------------------+---------------+---------------+---------------------------------------------------------------------------------------------------+
4 rows in set (0.00 sec)