Aide intégration PHP + SQL
Hugo122413
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
lorsque j'intègre une liste déroulante pour choisir l'ordre de tri d'un tableau, et que je récupère le choix sélectionné grâce à la commande
$tri_souhaité = $bdd->quote($_POST['tri_souhaité']);
il s'avère que lorsque que j'essaie d'intégrer cette variable à la requête SQL, la ligne
ORDER BY $tri_souhaité ASC, N° ASC");
est toute simplement ignorée
Besoin d'aide avant dimanche svp
<html>
<meta charset="utf-8" />
<head>
<title>Liste des membres</title>
<link rel="stylesheet" type="text/css" href="AAHH.css">
</head>
<body>
<style>
body {
background-color: #9CC;
}
</style>
<ul class="back">
<li><a href="base.php">Retour au menu</a></li>
</ul>
<?php
session_start();
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
$bdd->exec("set names utf8");
if ($bdd == NULL)
echo "Problème de connection";
if (isset($_SESSION['login'])) {
if(isset($_POST['tri_souhaité'])){
$tri_souhaité = $bdd->quote($_POST['tri_souhaité']);
echo "<h1><em>Tableau de bord des employés </em></h1><BR>";
$req = $bdd->query("SELECT *, N°, NOM, SUM(NOMBRE_HEURE) as TOTAL_HEURE , AVG(NOMBRE_HEURE) AS MOYENNE_HEURE
FROM
(SELECT NOM, N°
FROM employe) AS t1
NATURAL JOIN
(SELECT NOMBRE_HEURE FROM tache GROUP BY EMPLOYE) AS t2
GROUP BY N°
ORDER BY $tri_souhaité ASC, N° ASC");
?>
<div class=ListeProjet>
<table>
<tr>
<th>N° d'employé</th>
<th>Nom</th>
<th>Maximum d'heure</th>
<th>Heure moyenne</th>
</tr>
<?php
while ($tuple = $req->fetch()) {
echo ("<tr>");
echo ("<td>" . $tuple['N°'] . "</td>");
echo ("<td>" . $tuple['NOM'] . "</td>");
echo ("<td>" . $tuple['TOTAL_HEURE'] . "</td>");
echo ("<td>" . $tuple['MOYENNE_HEURE'] . "</td>");
echo ("</tr>");
}
}
?>
</table>
</div>
<form method="post" action="test.php">
<p>
<select name="tri_souhaité">
<option value=N°>N° d'employé</option> <BR>
<option value=NOM>Nom d'employé</option> <BR>
<option value=TOTAL_HEURE>Maximum d'heures</option> <BR>
<option value=MOYENNE_HEURE>Moyenne des heures</option> <BR>
<input type="submit" value="Choisir le tri du tableau" />
</p>
</form>
<form method="post" action="base.php">
<p2>
<input type="hidden" name="disconnect" value="yes">
<input type="submit" value="Deconnection" />
</p2>
</form>
<?php
} else {
?>
<h1>Veuillez entrer vos identifiants</h1>
<form method="post" action="base.php">
<p>
<input type="text" name="login" required>
<input type="password" name="pass" required>
<input type="submit" value="Envoyer" />
</p>
</form>
<?php
}
?>
</body>
</html>
lorsque j'intègre une liste déroulante pour choisir l'ordre de tri d'un tableau, et que je récupère le choix sélectionné grâce à la commande
$tri_souhaité = $bdd->quote($_POST['tri_souhaité']);
il s'avère que lorsque que j'essaie d'intégrer cette variable à la requête SQL, la ligne
ORDER BY $tri_souhaité ASC, N° ASC");
est toute simplement ignorée
Besoin d'aide avant dimanche svp
<html>
<meta charset="utf-8" />
<head>
<title>Liste des membres</title>
<link rel="stylesheet" type="text/css" href="AAHH.css">
</head>
<body>
<style>
body {
background-color: #9CC;
}
</style>
<ul class="back">
<li><a href="base.php">Retour au menu</a></li>
</ul>
<?php
session_start();
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
$bdd->exec("set names utf8");
if ($bdd == NULL)
echo "Problème de connection";
if (isset($_SESSION['login'])) {
if(isset($_POST['tri_souhaité'])){
$tri_souhaité = $bdd->quote($_POST['tri_souhaité']);
echo "<h1><em>Tableau de bord des employés </em></h1><BR>";
$req = $bdd->query("SELECT *, N°, NOM, SUM(NOMBRE_HEURE) as TOTAL_HEURE , AVG(NOMBRE_HEURE) AS MOYENNE_HEURE
FROM
(SELECT NOM, N°
FROM employe) AS t1
NATURAL JOIN
(SELECT NOMBRE_HEURE FROM tache GROUP BY EMPLOYE) AS t2
GROUP BY N°
ORDER BY $tri_souhaité ASC, N° ASC");
?>
<div class=ListeProjet>
<table>
<tr>
<th>N° d'employé</th>
<th>Nom</th>
<th>Maximum d'heure</th>
<th>Heure moyenne</th>
</tr>
<?php
while ($tuple = $req->fetch()) {
echo ("<tr>");
echo ("<td>" . $tuple['N°'] . "</td>");
echo ("<td>" . $tuple['NOM'] . "</td>");
echo ("<td>" . $tuple['TOTAL_HEURE'] . "</td>");
echo ("<td>" . $tuple['MOYENNE_HEURE'] . "</td>");
echo ("</tr>");
}
}
?>
</table>
</div>
<form method="post" action="test.php">
<p>
<select name="tri_souhaité">
<option value=N°>N° d'employé</option> <BR>
<option value=NOM>Nom d'employé</option> <BR>
<option value=TOTAL_HEURE>Maximum d'heures</option> <BR>
<option value=MOYENNE_HEURE>Moyenne des heures</option> <BR>
<input type="submit" value="Choisir le tri du tableau" />
</p>
</form>
<form method="post" action="base.php">
<p2>
<input type="hidden" name="disconnect" value="yes">
<input type="submit" value="Deconnection" />
</p2>
</form>
<?php
} else {
?>
<h1>Veuillez entrer vos identifiants</h1>
<form method="post" action="base.php">
<p>
<input type="text" name="login" required>
<input type="password" name="pass" required>
<input type="submit" value="Envoyer" />
</p>
</form>
<?php
}
?>
</body>
</html>
A voir également:
- Aide intégration PHP + SQL
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Logiciel sql - Télécharger - Bases de données
- Alert php ✓ - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
2 réponses
Bonjour
Pour commencer, retire tous les caractères accentués dans le nom de tes variable PHP et dans les attributs name de ton HTML...
Pour commencer, retire tous les caractères accentués dans le nom de tes variable PHP et dans les attributs name de ton HTML...
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
as-tu testé la requête SQL hors PHP?
as-tu testé la requête SQL hors PHP?