Syntaxe php/sql

Résolu
francdrum Messages postés 853 Date d'inscription   Statut Membre Dernière intervention   -  
Yaninho Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je débute en php/sql ...
Normalement, ce bout de code ne devrait pas donner d'erreur, non ? :
(Je dis ça, vu que je viens de le trouver sur phpdebutant.org)
$query = "SELECT date,name,email,comment FROM $table ORDER BY date DESC";

Merci pour vos réponses, vu qu'il m'affiche :
Erreur SQL : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY date DESC' at line 1
A voir également:

9 réponses

doctormad Messages postés 430 Date d'inscription   Statut Membre Dernière intervention   99
 
Salut,

Pour débugger du sql rien de plus simple, tu affiches ta requete :

$query = "SELECT date,name,email,comment FROM $table ORDER BY date DESC";

echo '$query;

Et tu envoie le résultat sur ton interface MySql, ça te donnera une diée d'ou le problème vient.
A première vue je dirais que la variable $table est invalide.

Sinon un conseil d'optimisation les chaines php il vaut mieux les faire de cette manière :

$query = 'SELECT date,name,email,comment FROM '.$table.' ORDER BY date DESC';

C'est beaucoup + rapide à l'exécution.

Et si ta variable $table vient d'une saisie utilisateur il faut la protéger en utilisant

$query = 'SELECT date,name,email,comment FROM '.mysql_real_escape_string($table).' ORDER BY date DESC';
2
francdrum Messages postés 853 Date d'inscription   Statut Membre Dernière intervention   48
 
ok
super merci ;-)
Je viens de continuer à mettre ce code à ma sauce

Pour pouvoir par exemple modifier le sens (ascendant, ou descendant), je pensais à kke cose comme ça :
$query = 'SELECT lien,titre,name,niveau,format FROM '.$table.' ORDER BY name '.$sens.'';
Bizarrement, je n'ai pas d'erreur, mais ça ne change pas le sens ...

Ceci avec un lien du genre :
/index.php?page=part&sens=desc

Pô facile de coder avec des moufles .... ;-)
0
francdrum Messages postés 853 Date d'inscription   Statut Membre Dernière intervention   48
 
Quelqu'un aurait il une petite idée, svp ?
Merci ;-)
0
Yaninho Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   63
 
as tu récupéré ta variable sens ?

$sens = $_GET['sens'];
0
francdrum Messages postés 853 Date d'inscription   Statut Membre Dernière intervention   48
 
Oooops .... :-)
Je focalisait sur la syntaxe, et j'oubliais le principal
Merci
0
Yaninho Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   63
 
De rien ;)
0
Yaninho Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   63 > Yaninho Messages postés 484 Date d'inscription   Statut Membre Dernière intervention  
 
Penses a mettre le sujet en résolu ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
francdrum Messages postés 853 Date d'inscription   Statut Membre Dernière intervention   48
 
Pour aller un peu plus loin
Mais là, c'est sur, je sais vraiment pas ! C'est pas mes yeux qui vont mal !! LOL

Est ce possible losqu'on click sur les liens en haut de tableau, d'inverser automatiquement l'ordre
Je m'explique :
Avec un lien du genre :
/index.php?page=part&tri=name&sens=desc
si on reclick dessus, ça fait :
/index.php?page=part&tri=name&sens=asc

Par exemple dans mon mon phpMyAdmin, ça marche comme ça
Merci
0
Yaninho Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   63
 
dans ta case du tableau tu peux mettre (mais ya surement plus propre...)

<?php
if($_SERVER['REQUEST_URI'] == "/index.php?page=part&tri=name&sens=desc "
{
?>
  <a href="/index.php?page=part&tri=name&sens=asc ">blabla</a>
<?php } else { ?>
   <a href="/index.php?page=part&tri=name&sens=desc">blabla</a>
<?php } ?>
0
francdrum Messages postés 853 Date d'inscription   Statut Membre Dernière intervention   48
 
Ah ok, avec else ...
J'essaie de mettre ça
Ca ne fait rien si c'est mélangé avec tout le reste du code qui va chercher les données dans la base ?
0
Yaninho Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   63
 
Tout dépend comment ton site est organisé. Je veux dire par la est-ce que ton affichage et ton traitement sont dans le même fichier ou pas ?
0
francdrum Messages postés 853 Date d'inscription   Statut Membre Dernière intervention   48
 
Oui, tout est dans le même
Ok, impec, pour le 1er click
avec une ")" à la fin de la 1ere ligne ;-)

Mais en fait, je voudrait que à chaque fois, ça inverse
Genre if asc => desc, if desc => asc
En remettant la même chose, mais inversée ?
Hihi, ça va finir par faire 15 kms ça, vu que je le mets sur 4 liens :-)
0
Yaninho Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   63
 
Oui pour le ) c'est un tit oubli ^^

Heu ben normalement ca doit marcher pour le retour aussi avec le else, sinon a la place du else, tu met
<?php } elseif($_SERVER['REQUEST_URI'] == "........=asc")
{
?>
  <a href=".........=desc">blabla</a>
<?php } ?>
0
francdrum Messages postés 853 Date d'inscription   Statut Membre Dernière intervention   48
 
Je viens tout simplement de tout rassembler, entre les <? ---- ?> avec le 1er code.
C'était peut être ça, ou sinon, il y avait un espace en trop, avant des ", dans ce que tu avais écris, et j'ai enlevé les / en début de lien.
Donc, en gros, je sais pas vraiment ce qui a fait que ça marche. ^_^
En tous cas, merci pour ton aide, ça va impecc :-)
0
Yaninho Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   63
 
De rien, n'oublies pas de mettre le sujet en résolu ;)
0