Code php
Résolu
ana7
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
ana7 Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
ana7 Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un petit soucis avec un code, il faudrait qu'il me retourne des informations dans un tableau en se basant sur un critere, mais il me retourne toute les entrees de la table.
Merci.
Voici le code:
//Requete pour trouver le niveau
$req = ("SELECT * FROM classe WHERE libelle LIKE '%$classe%';");
$result_req = mysql_query($req) or die ('Erreur : '.mysql_error() );
$niveau_elev = $result_req['niveau'];
//Requete pour trouver les activite pour le niveau
$req1 = ("SELECT * FROM activite WHERE niveau LIKE '%$niveau_elev%';");
$result_req1 = mysql_query($req1) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result_req1);
// si on a récupéré un résultat on l'affiche.
if($total) {
// debut du tableau
echo( "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">\n" );
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<td bgcolor="#669999"><b><u>Numéro</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Activite</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Description</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Niveau</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Salle</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Nbr_part</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Nom_prof</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Prenom_prof</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Nbr_seance</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Date_debut</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Date_fin</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Jour</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Heure_debut</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Heure_fin</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result_req1)) {
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$row["id"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["libelle"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["description"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["niveau"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["salle"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["nbrmaxpart"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["nom_profass"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["prenom_profass"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["period"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["datedebut"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["datefin"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["joursem"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["heuredebut"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["heurefin"].'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else { echo 'Pas d\'enregistrements dans cette table...'; }
// on libère le résultat
mysql_free_result($result_req1);
//On ferme la cession SQL avec le serveur
mysql_close();
J'ai un petit soucis avec un code, il faudrait qu'il me retourne des informations dans un tableau en se basant sur un critere, mais il me retourne toute les entrees de la table.
Merci.
Voici le code:
//Requete pour trouver le niveau
$req = ("SELECT * FROM classe WHERE libelle LIKE '%$classe%';");
$result_req = mysql_query($req) or die ('Erreur : '.mysql_error() );
$niveau_elev = $result_req['niveau'];
//Requete pour trouver les activite pour le niveau
$req1 = ("SELECT * FROM activite WHERE niveau LIKE '%$niveau_elev%';");
$result_req1 = mysql_query($req1) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result_req1);
// si on a récupéré un résultat on l'affiche.
if($total) {
// debut du tableau
echo( "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">\n" );
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<td bgcolor="#669999"><b><u>Numéro</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Activite</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Description</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Niveau</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Salle</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Nbr_part</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Nom_prof</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Prenom_prof</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Nbr_seance</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Date_debut</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Date_fin</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Jour</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Heure_debut</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Heure_fin</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result_req1)) {
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$row["id"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["libelle"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["description"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["niveau"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["salle"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["nbrmaxpart"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["nom_profass"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["prenom_profass"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["period"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["datedebut"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["datefin"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["joursem"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["heuredebut"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["heurefin"].'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else { echo 'Pas d\'enregistrements dans cette table...'; }
// on libère le résultat
mysql_free_result($result_req1);
//On ferme la cession SQL avec le serveur
mysql_close();
A voir également:
- Code php
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
2 réponses
Bonjour
C'est que $niveau_elev est vide
en effet, tu fais :
C'est que $niveau_elev est vide
en effet, tu fais :
$result_req = mysql_query($req) or die ('Erreur : '.mysql_error() ); $niveau_elev = $result_req['niveau'];mais $result_req n'est pas un tableau, c'est une ressource. Il faut extraire une ligne de résultat de cette ressource avec mysql_fetch_array pour obtenir un tableau :
$result_req = mysql_query($req) or die ('Erreur : '.mysql_error() ); if ($ligne=mysql_fetch_array($result_req); { $niveau_elev = $ligne['niveau']; }