Bonjour a tous ,
je suis planté face a un problème indétectable depuis des jours alors que j'ai une bonne connaissance de mysql et php et du coup je me tourne vers vous pour me sauvé !
j'ai une base de données qui comporte une table "etudiants" avec les colonnes "num_etu","nom_etu","date_naiss","sexe"" ou l'objectif est que j'affiche la table de ma base via une requête préparé mais surtout que je puissent utilisé des variable via "GET" ou "POST" sur les requête SQL, voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 <?php try{$bdd = new PDO('mysql:host=localhost;dbname=base_etudiants;charset=utf8', 'root', '');} catch(Exception $e){die('Erreur : '.$e->getMessage());} $element = $_GET['tri']; //on récupère une variable via l'URL $req = $bdd->prepare( ' SELECT * FROM etudiants ORDER BY :element '); // organisation du resultat selon la variable element $req->execute( array('element' => $element) ); echo '<html><body><table border="1" cellspacing="0" bordercolor="#222" id="list" style="text-align:center", <tr> <th>',htmlspecialchars('num_etu'), '</th> <th>',htmlspecialchars('nom_etu'), '</th> <th>',htmlspecialchars('date_naiss') , '</th> <th>',htmlspecialchars('sexe') , '</th> </tr> '; while ($donnees = $req->fetch()) { echo '<tr>', '<td>',htmlspecialchars($donnees['num_etu']) ,'</td>', '<td>',htmlspecialchars($donnees['nom_etu']), '</td>', '<td>',htmlspecialchars($donnees['date_naiss']) , '</td>', '<td>',htmlspecialchars($donnees['sexe']) , '</td>', '</tr>'; } echo '</table></body></html>'; $req->closeCursor(); ?>
alors le code est correct quand je n'utilise pas d'argument et que je met diretementpar exemple, mais des que j'utilise une variable exterieure, mysql ne la prend pas en compte et m'affiche la table de ma base sans l'organisé selon le champs imposé par la variable bien que je met cette adresse :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ORDER BY sexe
http://localhost/tp/afficher_etu_tri1.php?tri=sexe
j'ai même crée un formulaire avec une methose GET et puis POST mais rien, j'ai même verifié que la variable venue de GET ou POST arrivé bien a mon script en l'affichant avec un print , j'ai même mis le $_GET[tri] dans le "execute" mais rien, ce qui est bizzar c'est que je n'est même pas une erreur ! j'ai aussi tenter le "?" au lieu du :element ...... merci pour votre aide !
j'obtient toujours le résultat suivant :
![]()
Partager