<html>
<head>
<title>Insertion d'un eleve</title>
</head>
<body>
<form name="insertion" action="ajout_eleve.php" method="POST">
<table border="0" align="center" cellspacing="2" cellpadding="2">
<tr align="center">
<td>nom</td>
<td><input type="text" name="nom"></td>
</tr>
<tr align="center">
<td>prenom</td>
<td><input type="text" name="prenom"></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="insérer"></td>
</tr>
</table>
</form>
</body>
</html>
Je le met ou ce que tu me dit ??
echo "<SELECT NAME='liste_deroulante' onChange='FocusObjet()'>";
J'ai trouver cette info en farfouillant sur le net. Mais je ne comprend pas exactement ce qu'elle fait pouvez vous m'expliquer car dans cette ligne nul part on dit de metre le resultat de la requete dans une liste deroulante car sur cette ligne nul part apparait la variable resulat.
<?php
//connection au serveur
$serveurBD = "localhost";
$nomUtilisateur = "root";
$motDePasse = "";
$baseDeDonnees = "intranet";
$idConnexion = mysql_connect($serveurBD,
$nomUtilisateur,
$motDePasse);
//sélection de la base de données:
$connexionBase = mysql_select_db($baseDeDonnees);
echo "<SELECT NAME='liste_deroulante' onChange='FocusObjet()'>";
$selection_classe = "SELECT nom FROM classe";
$resultat = mysql_query($selection_classe);
while ($row = mysql_fetch_array($resultat))
{
echo "<option value=\"".$row[0]."\">".$row[0]."</option>";
}
?>
Et si tu pouvais m'expliquer , me commenter les dernieres lignes de $selection_classe jusqu'au Echo $var = htmlentities(htmlspecialchars($var));
if( !get_magic_quotes_gpc() )
{
$var = addslashes($var); // remplacer $var par ta variable et ensuite l'utiliser ...
}
et le code met-le soit dans une deuxième page après avoir récupéré les variables en get et les avoirs filtré avec le code que je vient de mettre ci-dessus ...
if(isset($_POST['nom']) AND isset($_POST['prenom']) AND !empty($_POST['nom']) AND !empty($_POST['nprenom']) )
{
//ajoute à la base de donnée ...
}
else
{
//code html pour ajouter avec le code qui liste les classe
}
<?php
//connection au serveur
$serveurBD = "localhost";
$nomUtilisateur = "root";
$motDePasse = "";
$baseDeDonnees = "intranet";
$idConnexion = mysql_connect($serveurBD,
$nomUtilisateur,
$motDePasse);
//sélection de la base de données:
$connexionBase = mysql_select_db($baseDeDonnees);
$selection_classe = "SELECT nom FROM classe";
$resultat = mysql_query($selection_classe);
//code de travail pour visualiser l'envoi du post
if (!empty($_POST))
{
echo '<pre>';
print_r($_POST);
echo '</pre>';
}
?>
<html>
<head>
<title>Insertion d'un eleve</title>
</head>
<body>
<form name="insertion" action="#" method="POST">
<table border="0" align="center" cellspacing="2" cellpadding="2">
<tr align="center">
<td>nom</td>
<td><input type="text" name="nom"></td>
</tr>
<tr align="center">
<td>prenom</td>
<td><input type="text" name="prenom"></td>
</tr>
<tr><td>
<select name="nom_classe">
<?php
while ($row = mysql_fetch_array($resultat))
{
echo "<option value=\"".$row['nom']."\">".$row['nom']."</option>";
}
?>
</select>
</td></tr>
<tr align="center">
<td colspan="2"><input type="submit" value="insérer"></td>
</tr>
</table>
</form>
</body>
</html>
Testes et tu finiras bien par comprendre.
$sql = "INSERT INTO eleves (nom,prenom,age,numclasse)
VALUES ( '$nomeleve', '$prenomeleve','$ageeleve','[b]XXXXXXX[/b]') " ;
1- A la place des XXXX je met quoi ??
<?php
//connection au serveur
$serveurBD = "localhost";
$nomUtilisateur = "root";
$motDePasse = "";
$baseDeDonnees = "intranet";
$idConnexion = mysql_connect($serveurBD,
$nomUtilisateur,
$motDePasse);
//sélection de la base de données:
$connexionBase = mysql_select_db($baseDeDonnees);
//ligne ci-dessous modifiée
$selection_classe = "SELECT numclasse, nomclasse FROM classe";
$resultat = mysql_query($selection_classe);
//code de travail pour visualiser l'envoi du post
if (!empty($_POST))
{
echo '<pre>';
print_r($_POST);
echo '</pre>';
}
?>
<html>
<head>
<title>Insertion d'un eleve</title>
</head>
<body>
<form name="insertion" action="#" method="POST">
<table border="0" align="center" cellspacing="2" cellpadding="2">
<tr align="center">
<td>nom</td>
<td><input type="text" name="nom"></td>
</tr>
<tr align="center">
<td>prenom</td>
<td><input type="text" name="prenom"></td>
</tr>
<tr><td>
<!--ligne ci-dessous modifiée-->
<select name="num_classe">
<?php
while ($row = mysql_fetch_array($resultat))
{
//ligne ci-dessous modifiée
echo "<option value=\"".$row['numclasse']."\">".$row['nomclasse']."</option>";
}
?>
</select>
</td></tr>
<tr align="center">
<td colspan="2"><input type="submit" value="insérer"></td>
</tr>
</table>
</form>
</body>
</html>
J'ai indiqué les trois lignes modifiées (par rapport au code précédent) pour que tu puisse construire ta requête d'insertion facilement. //ligne ci-dessous modifiée
$selection_classe = "SELECT numclasse, nomclasse FROM classe";
La en gros je comprend tu me dit si je me trompe mais on fait la requete sur la table complete pour choper le numclasse. <select name="num_classe">
<?php
while ($row = mysql_fetch_array($resultat))
{
//ligne ci-dessous modifiée
echo "<option value=\"".$row['numclasse']."\">".$row['nomclasse']."</option>";
}
?>
</select>
Ci dessus c'est la que je comprend pas ce qui se passe exactement. while ($row = mysql_fetch_array($resultat))
{
//ligne ci-dessous modifiée
echo "<option value=\"".$row['numclasse']."\">".$row['nomclasse']."</option>";
}
est une boucle qui passe en revue chaque ligne de ta table classe. (ou plus précisement le tableau $row[] renvoyé par ta requête SQL)
Effectivement on a besoin de récupérer "numclasse" puisqu'il va te servir comme valeur dans les options que tu récupères pour faire ta requête d'insertion.La en gros je comprend tu me dit si je me trompe mais on fait la requete sur la table complete pour choper le numclasse.//ligne ci-dessous modifiée $selection_classe = "SELECT numclasse, nomclasse FROM classe";
Ensuite
J'imagine qu'a la 6eme ligne si apres les $row on mettais comme au début ['nom'] et ['nom'] en recuperer la variables on aurait recuperer le nom de la classe et non l'id correspondant a celle ci mais je comprend pas le code ^^<select name="num_classe"> <?php while ($row = mysql_fetch_array($resultat)) { //ligne ci-dessous modifiée echo "<option value="".$row['numclasse']."">".$row['nomclasse']."</option>"; } ?> </select>
$ligne1 = mysql_fetch_assoc($resultat);
echo $ligne1['numclasse'].' '.$ligne1['nomclasse'].'<br />';
$ligne2 = mysql_fetch_assoc($resultat);
echo $ligne2['numclasse'].' '.$ligne2['nomclasse'].'<br />';
$ligne3 = mysql_fetch_assoc($resultat);
echo $ligne3['numclasse'].' '.$ligne3['nomclasse'].'<br />';
//etc.
Donc pour lister toutes les lignes on fait une boucle avec while() qui corresond à :while ($ligne = mysql_fetch_array($resultat))
{
echo "<option value="".$ligne['numclasse']."">".$ligne['nomclasse']."</option>";
}<?php
while ($row = mysql_fetch_array($resultat))
{ echo "<option value=\"".$row['numclasse']."\">".$row['nom']."</option>"; }
?>
Code : Tout sélectionner
<form action="#" method="POST">
<select name = "surnom">
<option value="toto">pseudo1</option>
<option value="titi">pseudo2</option>
</select>
<input type ="submit " value " envoyer" />
</form>