Probléme de syntaxe SQL avec php
Fermé
Meon48
-
15 janv. 2009 à 11:01
doumham Messages postés 116 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 13 mars 2013 - 15 janv. 2009 à 15:05
doumham Messages postés 116 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 13 mars 2013 - 15 janv. 2009 à 15:05
A voir également:
- Probléme de syntaxe SQL avec php
- Easy php - Télécharger - Divers Web & Internet
- Php natif - Forum PHP
- Sql server recovery - Télécharger - Gestion de données
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- Logiciel sql - Télécharger - Bases de données
12 réponses
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
15 janv. 2009 à 11:06
15 janv. 2009 à 11:06
$req=mysql_query("SELECT * FROM clients ORDER BY '".$tri."' DESC ;");
rajoute des quotes autour de ton tri
rajoute des quotes autour de ton tri
doumham
Messages postés
116
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
13 mars 2013
1
15 janv. 2009 à 11:13
15 janv. 2009 à 11:13
Relever le ";" a l'interieur
$req=mysql_query("SELECT * FROM clients ORDER BY ".$tri." DESC ");
$req=mysql_query("SELECT * FROM clients ORDER BY ".$tri." DESC ");
WOA merci de ta réponse rapide
effectivement en faisan ceci mon tableau s'affiche mais la le tri dynamique que j'ai fait en lien sur les entête de tableau ne marche plus.
je m'explique je veut que quand je clic sur l'entête d'un des colonnes sa tri le tableau dans l'ordre décroissant de la colonne sélectionné.
aurai tu une autre solution??
merci d'avance.
Meon48
effectivement en faisan ceci mon tableau s'affiche mais la le tri dynamique que j'ai fait en lien sur les entête de tableau ne marche plus.
je m'explique je veut que quand je clic sur l'entête d'un des colonnes sa tri le tableau dans l'ordre décroissant de la colonne sélectionné.
aurai tu une autre solution??
merci d'avance.
Meon48
Désolé mais la solution de Doumham ne marche pas non plus merci quand même
la même erreur revient.
Meon48
la même erreur revient.
Meon48
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
15 janv. 2009 à 11:46
15 janv. 2009 à 11:46
normal étant donné que dans sa "réponse" il a retiré la solution que je t'avais donné...
d'ailleurs, si on veut être strict avec la syntaxe sql, il faut mettre ce ";", même si la plupart des sgbdr s'en sortent sans.
Dans un premier temps retourne donc à la solution que je t'avais donné et rajoute echo devant la ligne :
echo $req=mysql_query("SELECT * FROM clients ORDER BY '".$tri."' DESC ;");
de cette façon, la requête va apparaître, tu vas donc voir si le problème est dans la requête ou dans ton code.
d'ailleurs, si on veut être strict avec la syntaxe sql, il faut mettre ce ";", même si la plupart des sgbdr s'en sortent sans.
Dans un premier temps retourne donc à la solution que je t'avais donné et rajoute echo devant la ligne :
echo $req=mysql_query("SELECT * FROM clients ORDER BY '".$tri."' DESC ;");
de cette façon, la requête va apparaître, tu vas donc voir si le problème est dans la requête ou dans ton code.
j'ai placé le "echo" en gardant ta syntax comme tu la suggéré et voila ce qui en resulte:
Notice: Undefined index: tri in C:\wamp\www\Test et exo\tableau.php on line 13
Resource id #3
avec le tableau en dessous sans le tri dynamique actif.
j'avoue que je suis perdu je comprend pas les erreur affichers. :(
Meon48
Notice: Undefined index: tri in C:\wamp\www\Test et exo\tableau.php on line 13
Resource id #3
avec le tableau en dessous sans le tri dynamique actif.
j'avoue que je suis perdu je comprend pas les erreur affichers. :(
Meon48
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
15 janv. 2009 à 12:03
15 janv. 2009 à 12:03
dans ton code tu récupères la valeur de $_GET['tri'], mais la première fois que tu te rends sur cette page, cette valeur existe ?
Je ne pense pas.
Dans ce cas, tu dois soit lui donner une valeur par défaut, soit faire évoluer ta requête suivant que cette valeur existe ou non.
je conseille la valeur par défaut :
remplace
par
Je ne pense pas.
Dans ce cas, tu dois soit lui donner une valeur par défaut, soit faire évoluer ta requête suivant que cette valeur existe ou non.
je conseille la valeur par défaut :
remplace
$tri=$_GET['tri'];
par
$tri = 'ta valeur par défaut'; if ($_GET['tri']) { $tri = htmlentities($_GET['tri']); }
doumham
Messages postés
116
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
13 mars 2013
1
15 janv. 2009 à 12:08
15 janv. 2009 à 12:08
Bonjour,
Pour effectuer le tri il faut ajouter au entete de tableau ce que suit:
<table >
<tr>
<?php
if($_GET['tri']=="ASC" && $_GET['col']=="nom_champ_ds_la_base_de_données"){
?>
<td><a href="tonpagephp.php?col="nom_champ_ds_la_base_de_données"&tri="DESC">Nom_champ</a><td>
<?php
}else{
?>
<tr><td><a href="tonpagephp.php?col="nom_champ_ds_la_base_de_données"&tri="ASC">Nom_champ</a><td>
<?php } ?>
et ainsi de suite
Pour effectuer le tri il faut ajouter au entete de tableau ce que suit:
<table >
<tr>
<?php
if($_GET['tri']=="ASC" && $_GET['col']=="nom_champ_ds_la_base_de_données"){
?>
<td><a href="tonpagephp.php?col="nom_champ_ds_la_base_de_données"&tri="DESC">Nom_champ</a><td>
<?php
}else{
?>
<tr><td><a href="tonpagephp.php?col="nom_champ_ds_la_base_de_données"&tri="ASC">Nom_champ</a><td>
<?php } ?>
et ainsi de suite
Bonjour,
D'abord merci de m'aider.
Doumham
ton code marche certainement bien et a l'air plus simple mais si j'ai bien compris ce morceau de code si j'ai un tableau avec 15 colonne il va falloir que je répète l'action plusieurs fois et sa finira par faire un code très lourd.
désolé je suis plutot fainéant dsl .
TheBishop
quand tu écris $tri= 'ta valeur par défaut';
qu'elles valeur je peut mettre? j'ai essayer plusieurs valeur et sa na rien donnée alors je n'ai peu etre pas mit de valeur valable
encore merci
Meon48
D'abord merci de m'aider.
Doumham
ton code marche certainement bien et a l'air plus simple mais si j'ai bien compris ce morceau de code si j'ai un tableau avec 15 colonne il va falloir que je répète l'action plusieurs fois et sa finira par faire un code très lourd.
désolé je suis plutot fainéant dsl .
TheBishop
quand tu écris $tri= 'ta valeur par défaut';
qu'elles valeur je peut mettre? j'ai essayer plusieurs valeur et sa na rien donnée alors je n'ai peu etre pas mit de valeur valable
encore merci
Meon48
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
15 janv. 2009 à 14:11
15 janv. 2009 à 14:11
moi je ne sais pas, visiblement les tri que tu donnes vient de la base de données : $tabchamps[$i]
donc prends une de tes valeurs et ça devrait être bon
donc prends une de tes valeurs et ça devrait être bon
Bon j'ai essayer tous un tas de valeur quels soit de la base ou d'ailleurs et je commence a baisser les bras sa fait plusieur jour que j'y suis et je commence a avoir envie de me pendre avec un flingue donc je vais essayer de vous donner un max d'info pour que l'on puisse m'aider.
ma base de donné sous MySql:
Nom: test
table: clients
champs: NumCli (int), Nomcli (text), PNomCli (text), Adresse_Cli (text), Etat_Cli (text), Tel_Cli (text).
mon code:
je vous ai deja montrer tous se que javé
merci encore
Meon48
ma base de donné sous MySql:
Nom: test
table: clients
champs: NumCli (int), Nomcli (text), PNomCli (text), Adresse_Cli (text), Etat_Cli (text), Tel_Cli (text).
mon code:
je vous ai deja montrer tous se que javé
merci encore
Meon48
doumham
Messages postés
116
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
13 mars 2013
1
15 janv. 2009 à 15:05
15 janv. 2009 à 15:05
Oui je t'ai donné tous simplement la base que tu dois suivre:
<?php
$tabchamps= array('nomchamp1','nomchamp2','nomchamp3',.....);
?>
<table >
<tr>
<?php
for($i = 0;$i<count($tabchamps);$i++){
if($_GET['col']==$tabchamps[$i]){
if($_GET['tri']=="ASC"){
?>
<td><a href="tonpagephp.php?col=<?php echo $tabchamps[$i];?>&tri="DESC"><?php echo $tabchamps[$i];?></a><td>
<?php
}else{?>
<td><a href="tonpagephp.php?col=<?php echo $tabchamps[$i];?>&tri="DESC"><?php echo $tabchamps[$i];?></a><td>
<?php
}
}
}?>
</tr>
<?php
$tabchamps= array('nomchamp1','nomchamp2','nomchamp3',.....);
?>
<table >
<tr>
<?php
for($i = 0;$i<count($tabchamps);$i++){
if($_GET['col']==$tabchamps[$i]){
if($_GET['tri']=="ASC"){
?>
<td><a href="tonpagephp.php?col=<?php echo $tabchamps[$i];?>&tri="DESC"><?php echo $tabchamps[$i];?></a><td>
<?php
}else{?>
<td><a href="tonpagephp.php?col=<?php echo $tabchamps[$i];?>&tri="DESC"><?php echo $tabchamps[$i];?></a><td>
<?php
}
}
}?>
</tr>