Code php
Résolu
                    
        
     
             
                    ana7
    
        
    
                    Messages postés
            
                
     
             
            16
        
            
                                    Statut
            Membre
                    
                -
                                     
ana7 Messages postés 16 Statut Membre -
        ana7 Messages postés 16 Statut Membre -
        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']; 
}
                
                