php et base de donnée

corinne
Invité n'ayant pas de compte PHPfrance

27 nov. 2010, 17:51

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

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

27 nov. 2010, 18:01

Salut

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

@+
Il en faut peu pour être heureux ......

corinne
Invité n'ayant pas de compte PHPfrance

27 nov. 2010, 18:49

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>

ViPHP
xTG
ViPHP | 7331 Messages

27 nov. 2010, 18:57

//$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.

corinne
Invité n'ayant pas de compte PHPfrance

27 nov. 2010, 19:51

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);
?>

ViPHP
xTG
ViPHP | 7331 Messages

27 nov. 2010, 20:18

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);