Requete de tri [Résolu]

Signaler
Messages postés
28
Date d'inscription
dimanche 27 mars 2011
Statut
Membre
Dernière intervention
28 octobre 2012
-
Messages postés
28
Date d'inscription
dimanche 27 mars 2011
Statut
Membre
Dernière intervention
28 octobre 2012
-
Bonsoir à tous,

Je cherche comment faire pour : exemple

une base Adherents table enfants
Dedans des eleves de la maternelle au CM2
Et dans un menu deroulant avec les classes, je doit voir que les CM2 par exemple apparaitre dans un tableau.
Et pouvoir re-choisir une autre classe de cette page.

Voici ma page ( grave à COD57):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<meta http-equiv= "content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="Dreamweaver CS4">
<title>
</title>
<style type="text/css">
<!--
.nom {
font-family: Georgia, "Times New Roman", Times, serif;
}
.nom {
font-size: x-small;
}
.nom {
font-weight: bold;
}
.nom {
font-size: xx-small;
}
-->
</style>
</head>

<?php
$db = mysql_connect('localhost', 'xxxx', 'xxxx') or die('HOST ?');
mysql_select_db('Adherents',$db) or die('DB ?');


/*listage des eleves*/
$sql = 'SELECT * FROM enfants ORDER by Classe'; /*pareil*/
$req=mysql_query($sql) or die ('Erreur SQL !
'.$sql.'
'.mysql_error());

echo '
';

echo '';

echo '----
ID, Nom, Prenom, Classe, Date_naissance, Telephone, Portable_M, Portable_P, Adresse, E_mail, Sortie, Photos, Action, ';

while($data = mysql_fetch_assoc($req)){
/*conversion de la date au format Français */

$date=explode('-',$data['Date_naissance']);
$date=$data['Date_naissance']=$date[2].'-'.$date[1].'-'.$date[0];
/*
$a = substr($data['Date_naissance'], 0, 4);
$m = substr($data['Date_naissance'], 5, 2);
$j = substr($data['Date_naissance'], 8, 2);
$date = $j.'-'.$m.'-'.$a;
*/

echo '----
'.$data['id'].', '.$data['Nom'].', '.$data['Prenom'].', '.$data['Classe'].
', '.$date.', '.$data['Telephone'].', '.$data['Portable_M'].', '.$data['Portable_P'].', '.$data['Adresse'].', '.$data['E_mail'].
', '.$data['Sortie'].', '.$data['Photos'].', [? Lister les éleves]</center>';
?>
<?php
}

if(isset($_POST['Modifier']) && $_POST['Modifier']==="Modification" && $_SERVER['REQUEST_METHOD']==='POST'){
/*LE FORMULAIRE EST POSTE*/

extract($_POST);


// je vérifie si les champs sont vides

if(empty($Prenom) OR empty($Nom) OR empty($Classe) OR empty($Adresse) OR empty($Date_naissance) OR empty($Sortie) OR empty($Photos))
{
echo '<center>Attention, seul le champs Telephone peut rester vide !';
echo '
Attention, seul le champs Portable_M peut rester vide !';
echo '
Attention, seul le champs Portable_P peut rester vide !';
echo '
Attention, seul le champs E_mail peut rester vide !';
echo '
[javascript:history.back(); Retour]</center>';
}

// Aucun champ n'est vide, je peut enregistrer dans la table
else
{

$date_naiss = explode('-',$Date_naissance);
$Date_naissance = $date_naiss[2].'-'.$date_naiss[1].'-'.$date_naiss[0];


$sql =" UPDATE `Adherents`.`enfants` SET


`Nom`= '$Nom' ,
`Prenom`= '$Prenom' ,
`Classe`= '$Classe',
`Telephone`= '$Telephone',
`Portable_M`= '$Portable_M',
`Portable_P`= '$Portable_P' ,
`Adresse`= '$Adresse' ,
`Date_naissance`= '$Date_naissance',
`E_mail`= '$E_mail',
`Sortie`= '$Sortie',
`Photos`= '$Photos'
WHERE id='".$id."' ";



// on insere les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());
// on affiche le résultat pour le visiteur
echo '<center>Vos infos on été modifié !
';
mysql_close(); // on ferme la connexion
echo '[? Ajouter un éléve]
</center>';
unset($_POST);
//header('Location: Adherents.php');exit;
echo $_SERVER['PHP_SELF'];
}

}

else if(isset($_POST['envoyer']) && $_POST['envoyer']==="Envoyer" && $_SERVER['REQUEST_METHOD']==='POST'){
/*LE FORMULAIRE EST POSTE*/

extract($_POST);


// je vérifie si les champs sont vides

if(empty($Prenom) OR empty($Nom) OR empty($Classe) OR empty($Adresse) OR empty($Date_naissance) OR empty($Sortie) OR empty($Photos))
{
echo '<center>Attention, seul le champs Telephone peut rester vide !';
echo '
Attention, seul le champs Portable_M peut rester vide !';
echo '
Attention, seul le champs Portable_P peut rester vide !';
echo '
Attention, seul le champs E_mail peut rester vide !';
echo '
[javascript:history.back(); Retour]</center>';
}

// Aucun champ n'est vide, je peut enregistrer dans la table
else
{

$date_naiss = explode('-',$Date_naissance);
$Date_naissance = $date_naiss[2].'-'.$date_naiss[1].'-'.$date_naiss[0];
$sql =" INSERT INTO `Adherents`.`enfants` (

`id` ,
`Nom` ,
`Prenom` ,
`Classe` ,
`Telephone` ,
`Portable_M` ,
`Portable_P`,
`Adresse` ,
`Date_naissance` ,
`E_mail`,
`Sortie`,
`Photos`
)VALUES (NULL , '$Prenom', '$Nom', '$Classe', '$Telephone', '$Portable_M', '$Portable_P', '$Adresse', '$Date_naissance', '$E_mail', '$Sortie', '$Photos')";



// on insere les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());
// on affiche le résultat pour le visiteur
unset($_POST);
//header('Location: Adherents.php');exit;
echo $_SERVER['PHP_SELF'];
echo 'Vos infos on été ajoutées.';
mysql_close(); // on ferme la connexion
echo '[? Ajouter un éléve]';
}


} else { ?>




<form method="POST" action="">

<center> Saisir les Adhérents dans les cases prevues a cette effet.

</center>
<center> Format de la date de naissance "00-00-0000".

</center>
<center> Laissez vide les cases non utilisées.





</center>
Prenom, ,

----
Nom, ,

----
Classe, ,

----
Telephone, ,

----
Portable de la mere, ,

----
Portable du pere, ,

----
Adresse, ,

----
Date de naissance, ,

----
E-mail, ,

----
Autorisation de sortie, ,

----
Autorisation de publication de photos,




</form>



<?php
mysql_close();
}
?>



</html>

Merci par avance.

4 réponses

Messages postés
28
Date d'inscription
dimanche 27 mars 2011
Statut
Membre
Dernière intervention
28 octobre 2012

Bonjour,

Un petit rajout à tout ça, en rouge ce que j'ai rajoute
Je voudrais faire apparaitre, le pseudo de la personne logger,sur la colonne 'utilisateur'.
Les login viennent d'une autre table (tbl_user).
Et au passage faire un input de deconnexion vers une autre page.

$sql = 'SELECT * FROM enfants ORDER by Classe'; /*pareil*/
$req=mysql_query($sql) or die ('Erreur SQL !
'.$sql.'
'.mysql_error());
$pseudo = 'SELECT * FROM tbl_user';
echo '
';

echo '<table border="1">';

echo '<tr><td>ID</td><td>Nom</td><td>Prenom</td><td>Classe</td><td>Date_naissance</td><td>Telephone</td><td>Portable_M</td><td>Portable_P</td><td>Adresse</td><td>E_mail</td><td>Sortie</td><td>Photos</td><td>Action</td><td>Utilisateur</td></tr>';

while($data = mysql_fetch_assoc($req)){
/*conversion de la date au format Français */

$date=explode('-',$data['Date_naissance']);
$date=$data['Date_naissance']=$date[2].'-'.$date[1].'-'.$date[0];
/*
$a = substr($data['Date_naissance'], 0, 4);
$m = substr($data['Date_naissance'], 5, 2);
$j = substr($data['Date_naissance'], 8, 2);
$date = $j.'-'.$m.'-'.$a;
*/


echo '<tr><td>'.$data['id'].'</td><td>'.$data['Nom'].'</td><td>'.$data['Prenom'].'</td><td>'.$data['Classe'].
'</td><td>'.$date.'</td><td>'.$data['Telephone'].'</td><td>'.$data['Portable_M'].'</td><td>'.$data['Portable_P'].'</td><td>'.$data['Adresse'].'</td><td>'.$data['E_mail'].
'</td><td>'.$data['Sortie'].'</td><td>'.$data['Photos'].'</td><td>[?modifier='.$data['id'].' Modifier] -- [?supprimer='.$data['id'].' Supprimer]</td><td>'.$pseudo[''].'</td></tr>';

Merci par avance

Alain
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
bonjour

pour aller plus loin
je vois que tu as ajouté des champs ...
en respectant la nomenclature des classes du select
remettre tes identifiants host,login ...

mais si tu ajoutes une table classe se serait plus facile

id
classe
professeur
id_eleve

tu pourrais faire evoluer ton script
et generer un select dynamique dans les formulaires
mais pour pas trop d'embrouiller
essaye de comprendre la query where= ...

a++


entre
et
/*action*/

 

/*le nouveau code*/

<form method="post" action="">
<select name="classe">
<option value="cpa">cpa</option>
<option value="cpb">cpb</option>
<option value="ce1a">ce1a</option>
<option value="ce1a">ce1a</option>
<option value="ce2a">ce2a</option>
<option value="ce2b">ce2b</option>
<option value="cm1a">cm1a</option>
<option value="cm1b">cm1b</option>
<option value="cm2a">cm2a</option>
<option value="cm2b">cm2b</option>
<option value="clis">clis</option>
</select>

</form>

<?php 
$db = mysql_connect('localhost', 'root', '') or die('HOST ?'); 
mysql_select_db('Adherents',$db) or die('DB ?'); 


/*listage des eleves*/ 


if(isset($_POST['sub_classe']) && $_SERVER['REQUEST_METHOD']==='POST'){
$classe = $_POST['classe']; 
$sql = 'SELECT * FROM enfants where Classe='.$classe; /*pareil*/ 
$req=mysql_query($sql) or die ('Erreur SQL !
'.$sql.'
'.mysql_error());


echo '';

echo '----
ID, Nom, Prenom, Classe, Date_naissance, Telephone, Portable_M, Portable_P, Adresse, E_mail, Sortie, Photos, Action, ';

while($data = mysql_fetch_assoc($req)){
/*conversion de la date au format Français */

$date=explode('-',$data['Date_naissance']);
$date=$data['Date_naissance']=$date[2].'-'.$date[1].'-'.$date[0];
/*
$a = substr($data['Date_naissance'], 0, 4);
$m = substr($data['Date_naissance'], 5, 2);
$j = substr($data['Date_naissance'], 8, 2);
$date = $j.'-'.$m.'-'.$a;
*/

echo '----
'.$data['id'].', '.$data['Nom'].', '.$data['Prenom'].', '.$data['Classe'].
', '.$date.', '.$data['Telephone'].', '.$data['Portable_M'].', '.$data['Portable_P'].', '.$data['Adresse'].', '.$data['E_mail'].
', '.$data['Sortie'].', '.$data['Photos'].', Modifier -- Supprimer, ';
}

echo '
'; 

echo '
<hr>'; 


}else{

$sql = 'SELECT * FROM enfants ORDER by Classe'; /*pareil*/ 
$req=mysql_query($sql) or die ('Erreur SQL !
'.$sql.'
'.mysql_error());
echo '
'; 

echo '';

echo '----
ID, Nom, Prenom, Classe, Date_naissance, Telephone, Portable_M, Portable_P, Adresse, E_mail, Sortie, Photos, Action, ';

while($data = mysql_fetch_assoc($req)){
/*conversion de la date au format Français */

$date=explode('-',$data['Date_naissance']);
$date=$data['Date_naissance']=$date[2].'-'.$date[1].'-'.$date[0];
/*
$a = substr($data['Date_naissance'], 0, 4);
$m = substr($data['Date_naissance'], 5, 2);
$j = substr($data['Date_naissance'], 8, 2);
$date = $j.'-'.$m.'-'.$a;
*/

echo '----
'.$data['id'].', '.$data['Nom'].', '.$data['Prenom'].', '.$data['Classe'].
', '.$date.', '.$data['Telephone'].', '.$data['Portable_M'].', '.$data['Portable_P'].', '.$data['Adresse'].', '.$data['E_mail'].
', '.$data['Sortie'].', '.$data['Photos'].', Modifier -- Supprimer, ';
}

echo '
'; 

echo '
<hr>'; 
}

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
pour pas de confusion ' et "

fait ta requete plutot comme ça

if(isset($_POST['sub_classe']) && $_SERVER['REQUEST_METHOD']==='POST'){
$classe = $_POST['classe'];
$sql = "SELECT * FROM enfants where Classe='".$classe."' "; /*pareil*/

...


a++
Messages postés
28
Date d'inscription
dimanche 27 mars 2011
Statut
Membre
Dernière intervention
28 octobre 2012

Bonsoir COD57,

Je ne c'est pas si c'est ton métier ou une passion, mais tu es vraiment très bon. Cela marche parfaitement encore une fois. Merci beaucoup.
tu me parle de générer un select dynamique dans les formulaires. Cela sert à quoi.
Je suis débutant dans le PHP et je ne demande que à apprendre.

Encore merci beaucoup

Alain