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   -
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();
A voir également:

2 réponses

le père
 
Bonjour

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']; 
}
1
ana7 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup ça marche nickel.
0