Remplir un formulaire et inserer dans la base de donnees dans l
Fermé
paco503
-
17 mars 2013 à 13:35
Alain_42
Messages postés5361Date d'inscriptiondimanche 3 février 2008StatutMembreDernière intervention13 février 2017
-
17 mars 2013 à 14:00
Bonjour,
Bonjour,
voici mon code je voudrais pouvoir choisir les listes déroulantes remplir le champs et insérer dans la base de données sur la même page sans que la page soit recharger.
juste en appuyant sur le bouton enregistré sa insère dans la base.
est ce que quelqu'un peut m'aider
<?php
/*echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n "); */
/* Variables de connexion : ajustez ces paramétres selon votre propre environnement */
$serveur = "localhost";
$admin = "root";
$mdp = "";
$base = "asterisk";
/* On récupére si elle existe la valeur de la région envoyée par le formulaire */
$idr = isset($_POST['categorie'])?$_POST['categorie']: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%">
<?php
if(isset($_POST['ok']) && isset($_POST['nature']) && $_POST['nature'] != "")
{
$cat_selectionnee = $_POST['categorie'];
$nat_selectionne = $_POST['nature'];
?>
<p>Vous avez sélectionné le département <?php echo($nat_selectionne); ?> dans la région <?php echo($cat_selectionnee); ?></p>
<?php
}
?>
<h3>Choisissez une categorie puis une nature</h3>
<?php
/* On établit la connexion à MySQL avec mysql_pconnect() plutot qu'avec mysql_connect()
* car on aura besoin de la connexion un peu plus loin dans le script */
$connexion = mysql_pconnect($serveur, $admin, $mdp);
if($connexion != false)
{
$choixbase = mysql_select_db($base, $connexion);
$sql1 = "SELECT 'id_cat', 'categorie'".
" FROM 'categorie'".
" ORDER BY 'id_cat'";
$rech_cat = mysql_query($sql1);
$code_cat = array();
$cat = array();
/* On active un compteur pour les régions */
$nb_cat = 0;
if($rech_cat != false)
{
while($ligne = mysql_fetch_assoc($rech_cat))
{
array_push($code_cat, $ligne['id_cat']);
array_push($cat, $ligne['categorie']);
/* On incrémente de compteur */
$nb_cat++;
}
}
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">
<select name="categorie" id="categorie" onchange="document.forms['chgdept'].submit();">
<option value="-1">- - - Choisissez une categorie - - -</option>
<?php
for($i = 0; $i < $nb_cat; $i++)
{
?>
<option value="<?php echo($code_cat[$i]); ?>"<?php echo((isset($idr) && $idr == $code_cat[$i])?" selected=\"selected\"":null); ?>><?php echo($cat[$i]); ?></option>
<?php
}
?>
</select>
<?php
mysql_free_result($rech_cat);
/* 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 = "SELECT 'id_nat', 'titre'".
" FROM 'nature'".
" WHERE 'id_cat' = ". $idr ."".
" ORDER BY 'id_nat';";
if($connexion != false)
{
$rech_nat = mysql_query($sql2, $connexion);
/* 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_nat = array();
$nom_nat = array();
/* On va mettre les numéros et noms des départements dans les deux tableaux */
while($ligne_nat = mysql_fetch_assoc($rech_nat))
{
array_push($code_nat, $ligne_nat['id_nat']);
array_push($nom_nat, $ligne_nat['titre']);
$nd++;
}
/* Maintenant on peut construire la liste déroulante */
?>
<select name="nature" id="nature">
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option value="<?php echo($code_nat[$d]); ?>"<?php echo((isset($nat_selectionne) && $nat_selectionne == $code_nat[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_nat[$d]." "); ?></option>
<?php
}
?>
</select>
<?php
}
/* Un petit coup de balai */
mysql_free_result($rech_nat);
}
?>
<br />
<p>
<tr>
<td>
<textarea rows="2" name="areaSaisie" cols="30">
</textarea>
</td>
</tr>
</p>
<br /><input type="submit" name="ok" id="ok" value="Enregistrer" />
</form>
<?php
/* Terminé, on ferme la connexion */
mysql_close($connexion);
}
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
}
?>
</body>
</html>
A voir également:
Remplir un formulaire et inserer dans la base de donnees dans l