begin process at 2012 05 31 15:00:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Requete de tri


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Requete de tri

mercredi 6 avril 2011 à 22:00:46 | Requete de tri

casper77610

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>
<body background="Images/WB02134_.GIF">
<?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 !<br>'.$sql.'<br>'.mysql_error());

echo '<div align="center">';

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></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><a href="?modifier='.$data['id'].'">Modifier</a> -- <a href="?supprimer='.$data['id'].'">Supprimer</a></td></tr>';
}

echo '</table>';

echo '</div><hr>';

/*actions*/
if(isset($_GET['supprimer']) && !empty($_GET['supprimer'])){
$id_suppr = (int)$_GET['supprimer'];
$_GET['supprimer']=null;
$sql="delete from `Adherents`.`enfants` where id='".$id_suppr."' limit 1";
mysql_query($sql) or die('DEMANDE SUPPRESSION ?');
unset($_GET);
//header('Location: Adherents.php');exit;
echo $_SERVER['PHP_SELF'];
}
if(isset($_GET['modifier']) && !empty($_GET['modifier'])){
$id_modi = (int)$_GET['modifier'];
$_GET['modifier']=null;
$sql="select * from `Adherents`.`enfants` where id='".$id_modi."' limit 1";
$query=mysql_query($sql) or die('DEMANDE SELECTION ?');
$ligne=mysql_fetch_array($query);

/*conversion de la date au format Français
$a = substr($ligne['Date_naissance'], 0, 4);
$m = substr($ligne['Date_naissance'], 5, 2);
$j = substr($ligne['Date_naissance'], 8, 2);
$ligne['Date_naissance'] = $j.'-'.$m.'-'.$a; */

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

?>
<div align="center">
<form method="POST" action="">
<table>
<tr><td>Nom</td><td>
<input type="text" name="Nom" size="20" value="<?php echo $ligne['Nom'];?>" maxlength="20"></td>
</tr>
<tr><td>Prenom</td><td>
<input type="text" name="Prenom" size="20" value="<?php echo $ligne['Prenom'];?>" maxlength="35"></td>
</tr>
<tr><td>Classe</td><td>
<input type="text" name="Classe" size="20" value="<?php echo $ligne['Classe'];?>" maxlength="6"></td>
</tr>
<tr><td>Telephone</td><td>
<input type="text" name="Telephone" size="20" value="<?php echo $ligne['Telephone'];?>" maxlength="10"></td>
</tr>
<tr><td>Portable_M</td><td>
<input type="text" name="Portable_M" size="20" value="<?php echo $ligne['Portable_M'];?>" maxlength="10"></td>
</tr>
<tr><td>Portable_P</td><td>
<input type="text" name="Portable_P" size="20" value="<?php echo $ligne['Portable_P'];?>" maxlength="10"></td>
</tr>
<tr><td>Adresse</td><td>
<input type="text" name="Adresse" size="20" value="<?php echo $ligne['Adresse'];?>" maxlength="255"></td>
</tr>
<tr><td>Date de naissance</td><td>
<input type="text" name="Date_naissance" size="20" value="<?php echo $ligne['Date_naissance'];?>" maxlength="15"></td>
</tr>
<tr><td>E-mail</td><td>
<input type="text" name="E_mail" size="20" value="<?php echo $ligne['E_mail'];?>" maxlength="50"></td>
<tr><td>Autorisation de sortie</td><td>
<input type="text" name="Sortie" size="20" value="<?php echo $ligne['Sortie'];?>" maxlength="10"></td>
<tr><td>Autorisation de publication de photos</td><td>
<input type="text" name="Photos" size="20" value="<?php echo $ligne['Photos'];?>" maxlength="10"></td>
</table>
<p>
<input type="submit" value="Modification" name="Modifier">
<br />
</p>
</form>

</div>
<?php
echo '<center><a href="?">Lister les éleves</a></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><font color="red">Attention, seul le champs <b>Telephone</b> peut rester vide !</font>';
echo '<br /><font color="red">Attention, seul le champs <b>Portable_M</b> peut rester vide !</font>';
echo '<br /><font color="red">Attention, seul le champs <b>Portable_P</b> peut rester vide !</font>';
echo '<br /><font color="red">Attention, seul le champs <b>E_mail</b> peut rester vide !</font>';
echo '<br /><a href="javascript:history.back();">Retour</a></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.'<br>'.mysql_error());
// on affiche le résultat pour le visiteur
echo '<center>Vos infos on été modifié !<br />';
mysql_close(); // on ferme la connexion
echo '<a href="?">Ajouter un éléve</a><br /></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><font color="red">Attention, seul le champs <b>Telephone</b> peut rester vide !</font>';
echo '<br /><font color="red">Attention, seul le champs <b>Portable_M</b> peut rester vide !</font>';
echo '<br /><font color="red">Attention, seul le champs <b>Portable_P</b> peut rester vide !</font>';
echo '<br /><font color="red">Attention, seul le champs <b>E_mail</b> peut rester vide !</font>';
echo '<br /><a href="javascript:history.back();">Retour</a></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.'<br>'.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 '<a href="?">Ajouter un éléve</a>';
}


} else { ?>


<div align="center">
<form method="POST" action="">

<center><p><strong> Saisir les Adhérents dans les cases prevues a cette effet. </strong></p></center>
<center><p><strong> Format de la date de naissance "00-00-0000". </strong></p></center>
<center><p><strong> Laissez vide les cases non utilisées.</strong></p>
<p>&nbsp;</p>
</center>
<table>
<tr><td>Prenom</td><td>
<input type="text" name="Prenom" size="20" value="" maxlength="20"></td>
</tr>
<tr><td>Nom</td><td>
<input type="text" name="Nom" size="20" value="" maxlength="20"></td>
</tr>
<tr><td>Classe</td><td>
<input type="text" name="Classe" size="20" value="" maxlength="20"></td>
</tr>
<tr><td>Telephone</td><td>
<input type="text" name="Telephone" size="20" value="" maxlength="20"></td>
</tr>
<tr><td>Portable de la mere</td><td>
<input type="text" name="Portable_M" size="20" value="" maxlength="20"></td>
</tr>
<tr><td>Portable du pere</td><td>
<input type="text" name="Portable_P" size="20" value="" maxlength="20"></td>
</tr>
<tr><td>Adresse</td><td>
<input type="text" name="Adresse" size="20" value="" maxlength="20"></td>
</tr>
<tr><td>Date de naissance</td><td>
<input type="text" name="Date_naissance" size="20" value="" maxlength="20"></td>
</tr>
<tr><td>E-mail</td><td>
<input type="text" name="E_mail" size="20" value="" maxlength="20"></td>
</tr>
<tr><td>Autorisation de sortie</td><td>
<input type="text" name="Sortie" size="20" value="" maxlength="20"></td>
</tr>
<tr><td>Autorisation de publication de photos</td><td>
<input type="text" name="Photos" size="20" value="" maxlength="20"></td>
</tr>

</table>
<p><input type="submit" value="Envoyer" name="envoyer"><br /></p>
</form>
</div>

<?php
mysql_close();
}
?>


</body>
</html>

Merci par avance.
jeudi 7 avril 2011 à 13:53:16 | Re : Requete de tri

cod57

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 <body background="Images/WB02134_.GIF">
et
/*action*/

Code PHP :
 

/*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>
<input type="submit" value="Trier par classe" name="sub_classe" />
</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 !<br>'.$sql.'<br>'.mysql_error());


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></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><a href="?modifier='.$data['id'].'">Modifier</a> -- <a href="?supprimer='.$data['id'].'">Supprimer</a></td></tr>'; 
} 

echo '</table>'; 

echo '</div><hr>'; 


}else{

$sql = 'SELECT * FROM enfants ORDER by Classe'; /*pareil*/ 
$req=mysql_query($sql) or die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo '<div align="center">'; 

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></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><a href="?modifier='.$data['id'].'">Modifier</a> -- <a href="?supprimer='.$data['id'].'">Supprimer</a></td></tr>'; 
} 

echo '</table>'; 

echo '</div><hr>'; 
}

jeudi 7 avril 2011 à 16:19:30 | Re : Requete de tri

cod57


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++
jeudi 7 avril 2011 à 22:06:38 | Re : Requete de tri

casper77610

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
samedi 9 avril 2011 à 17:27:50 | Re : Requete de tri

casper77610

Réponse acceptée !
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 !<br>'.$sql.'<br>'.mysql_error());
$pseudo = 'SELECT * FROM tbl_user';
echo '<div align="center">';

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><a href="?modifier='.$data['id'].'">Modifier</a> -- <a href="?supprimer='.$data['id'].'">Supprimer</a></td><td>'.$pseudo[''].'</td></tr>';

Merci par avance

Alain


Cette discussion est classée dans : date, data, echo, portable, naissance


Répondre à ce message

Sujets en rapport avec ce message

renvois valeurs vers table sql [ par casper77610 ] Bonsoir à tous, Choix.php [code=php]<?php $db = mysql_connect('localhost', 'root', '') or die('HOST ?'); mysql_select_db('Adherents',$db) or die('DB Checkbox [ par casper77610 ] Bonjour à tous, J'insert mon code et je vous explique mon probleme: //tri.php requete avec check box [ par casper77610 ] Bonjour à tous, J'insert mon code et je vous explique mon probleme: //tri.php Requete pour un UPDATE [ par casper77610 ] Bonjour à tous, J'ai un tableau qui s'affiche quand je sélectionne une classe, un nouveau tableau apparait avec un colonne supplémentaire "Participat aide script [ par winroro98 ] bonjour, je un script qui me tri ma requete par ordre alphabetique et par lettre mais j'aurai voulu savoir comment peut on le mettre en forme comm limiter les réservations de mon formulaire [ par ecolom ] Bonjour, je suis occupé à créer un formulaire de réservation pour des formations. j'ai 6 sessions de 12 personnes maximum. Seulement voilà, pour l'in Probleme SQL PHP - effectuer une requête avec inférieur ou égale et une date ... [ par FXPHANTOM ] Bonjour , Je vous remets entre les mains un petit problème facheux ... Ma requête fonctionne très bien lorsque $date = date (DD-MM-YYYY)et quand $da HELP ME - Compte a rebour jquery php [ par FXPHANTOM ] Bonjour , j'ai tenté de concevoir un compte a rebours en jquery et php, donc tout va bien pour lui mais le seul soucis c'est que celui ci ne se raffr Calendrier [ par faabulous ] Bonsoir ! J'ai, à l'aide d'un livre acheté, essayé de coder un calendrier. J'avais plusieurs erreurs, donc j'ai recopié à la lettre le code du livre Problème de variables en dehors d'une class [ par yukimura27 ] Bonjour à tous, J'ai un problème pour utiliser une variable en dehors de ma class. Voici mon code: class pouet { public function SelectAll () {


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales