Petit nouveau ! |
5 Messages
22 sept. 2005, 22:20
Merci pour les renseignements Cyrano !
J'ai vu dans la FAQ un excellent script pour les regions et départements avec des listes liées.
Je m'en suis donc inspiré et modifié pour arriver à ca (pour tester) :
<?php
/* Variables de connexion */
$serveur = "********";
$admin = "********";
$mdp = "********";
$base = "********";
/* On recupere si elle existe la valeur de la region envoye par le formulaire */
$idr = isset($_POST['region'])?$_POST['region']:null;
?>
<head>
<title>Selection</title>
</head>
<body style="font-family: verdana, helvetica, sans-serif; font-size: 85%">
<h3>Version 100% PHP</h3>
<p>Test selection et affichage dynamique d'un texte.</p>
<?php
/* On etablit la connexion a MySQL avec mysql_pconnect() */
$connexion = mysql_pconnect($serveur, $admin, $mdp);
if($connexion != false)
{
$choixbase = mysql_select_db($base, $connexion);
$sql1 = "SELECT `id_region`, `region`".
" FROM `region`".
" ORDER BY `id_region`";
$rech_regions = mysql_query($sql1);
$code_region = array();
$region = array();
/* On active un compteur pour les regions */
$nb_regions = 0;
if($rech_regions != false)
{
while($ligne = mysql_fetch_assoc($rech_regions))
{
array_push($code_region, $ligne['id_region']);
array_push($region, $ligne['region']);
/* On incremente de compteur */
$nb_regions++;
}
}
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">
<fieldset style="border: 3px double #333399">
<legend> Selectionnez une région </legend>
<select name="region" id="region" onchange="document.forms['chgdept'].submit();">
<option value="-1">- - - Choisissez une region - - -</option>
<?php
for($i = 0; $i < $nb_regions; $i++)
{ ?>
<option value="<?php echo($code_region[$i]); ?>"<?php echo((isset($idr) && $idr == $code_region[$i])?" selected=\"selected\"":null); ?>><?php echo($region[$i]); ?></option>
<?php } ?>
</select>
<?php
mysql_free_result($rech_regions);
/* On commence par verifier si on a envoye un numero de region */
if(isset($idr) && $idr != -1)
{
$toto = $_POST['region'];
$sql_nom = "SELECT `region` FROM `region` WHERE `id_region` = $toto";
$nameofregion = mysql_query($sql_nom);
echo $nameofregion;
}
?>
<br /><input type="submit" name="ok" id="ok" value="Envoyer" />
</fieldset>
</form>
<?php
/* on ferme la connexion */
mysql_close($connexion);
}
else
{
/* Erreur MySQL */
?>
<p>Un incident s'est produit lors de la connexion a la base de donnees, veuillez essayer a nouveau ultérieurement.</p>
<?php
}
?>
</body>
</html>
Le mécanisme à l'air bon car j'arrive à afficher l'id de la région mais lorsque je souhaite réaffincher le nom de la région (à terme cela pourrait être un autre champ de la table), cela m'affiche : "Resource id #3" ...
Je suis sûr d'avoir fait une boulette, ca c'est sûr !

Mais où ?
Modifié en dernier par
DvP le 22 sept. 2005, 22:46, modifié 1 fois.