Page 1 sur 1

php et base de donnée

Posté : 27 nov. 2010, 17:51
par corinne
Bonjour,
je possède 2 table sql classe(id, nom) et eleve (champ: id, nom, prenom, classe)
je dois créer un formulaire ou en saisissant une classe cela me fait apparaitre les eleves de cette classe.
Je n'arrive pas a voir comment d'un formulaire je peux peux faire apparaître d'autre colonne de la table.
j'ai chercher un peu et je pense qu'il faut determiner la requete SELECT nom, prenom from eleves Where (c'est la que je coince comment lui faire comprendre que le where correspond à mon formulaire...
merci de votre aide

Re: php et base de donnée

Posté : 27 nov. 2010, 18:01
par moogli
Salut

Dans le formulaire un champ qui demande le nom de lanclasse et la requete : where classe=' valzur du formulaire'

@+

Re: php et base de donnée

Posté : 27 nov. 2010, 18:49
par corinne
j'essaye mais.... voila ce que j'ai
if(isset($_POST['classe'])) {
$val = "VALUES ( NULL, '".$_POST['classe']."')";
$sql2 = "SELECT nom, prenom, FROM eleves where classe=''";
$tmp = mysql_query($sql2);

<?php if (isset($_POST['classe'])) { echo $sql2; } ?>

<form action="fonctionnalites.php" method="post">
<p >
<input type="text" name="classe" value="" size="30">
<p > <input type="submit" name="validation" value="Envoyer">
</form>
</p>
<TABLE BORDER="1">
<CAPTION> liste des eleves de la classe choisie </CAPTION>
<TR>
<TH> Nom </TH>
<TH> Pr&eacute;nom </TH>
<TH> classe </TH>
</TR>
<?php
/* pour chaque classe on affiche la ligne de tableau qui lui correspond */
while ( $ligne = mysql_fetch_array($result) ) {
echo "<TD> ".$ligne['nom']."</TD> \n <TD> ".$ligne['prenom']."</TD> \n </TR>";
}
?>
</TABLE>

Re: php et base de donnée

Posté : 27 nov. 2010, 18:57
par xTG
//$val = "VALUES ( NULL, '".$_POST['classe']."')";   ?????????????????????????
$classe = $_POST['classe'];
$sql2 = "SELECT nom, prenom, FROM eleves where classe='$classe'";
Voilà plutôt comment je vois la chose pour ma part.

Re: php et base de donnée

Posté : 27 nov. 2010, 19:51
par corinne
J'ai progressé , j'en suis la, en faite lors que je valide, mon tableau se rempli mais en m'affichant prenom et nom si je rentre 3 dans mon formulaire, ça m'en 3 comme ça...
<?php
/* connection au serveur mysql */
$connect = mysql_connect("mysql.alwaysdata.com","cla5_college", "patate") or die("Impossible de se connecter : " . mysql_error());
/* connection ˆ la bdd */
$db = mysql_select_db('clairebregeon_college', $connect);
/* Si erreur connexion */
if(!$db){ die ('Impossible d\'utiliser la base : ' . mysql_error());}
/* dŽfinition de la requete */


if(isset($_POST['classe'])) {
$val = $_POST['classe'];
$sql2 = "select 'prenom', 'nom' from eleves where classe='$val'";
$tmp = mysql_query($sql2);
}
/* on execute la requete */
$result = mysql_query($sql2);

?>

<html>
<body>

<p><center><h1> Saisir une classe </h1></center></p>

<?php if (isset($_POST['classe'])) { echo $sql2; } ?>

<form action="ggg.php" method="post">
<p>

<input type="text" name="classe" value="classe" size="5">
<p align="left"> <input type="submit" name="validation" value="Envoyer">
</form>
</p>


<TABLE BORDER="1">
<CAPTION> Tableau des eleves de la classe choisie </CAPTION>
<TR>
<TH> Nom </TH>
<TH> prenom</TH>
</TR>
<?php
/* pour chaque Žtudiant on affiche la ligne de tableau qui lui correspond */
while ( $ligne = mysql_fetch_array($result) ) {
echo "<TD> ".$ligne['nom']."</TD> \n <TD> ".$ligne['prenom']."</TD> \n </TR>";
}
?>
</TABLE>

</body>
</html>

<?php
/* Deconnection */
mysql_close($connect);
?>

Re: php et base de donnée

Posté : 27 nov. 2010, 20:18
par xTG
Ton organisation n'a aucun sens actuellement.
Si tu n'as pas posté la classe tu n'as aucune requête...
$sql2 = "select `prenom`, `nom` from `eleves`"; // requête quoi qu'il arrive
if(isset($_POST['classe'])) {
$val = $_POST['classe'];
$sql2 = $sql2 . " where classe='$val'"; // classe sélectionnée, modification de la requête
}
/* on execute la requete */
$result = mysql_query($sql2);