01cod10
Messages postés110Date d'inscriptionmardi 30 août 2005StatutMembreDernière intervention13 août 2007
-
22 août 2006 à 12:14
01cod10
Messages postés110Date d'inscriptionmardi 30 août 2005StatutMembreDernière intervention13 août 2007
-
24 août 2006 à 23:45
salut ¨¤ tous,
J'ai un souci je n'arrive pas ¨¤ retrouver l'erreur dans cette requ¨ºte:
requ¨ºte SQL:
SELECT id, description, lieu, DATE_FORMAT( dateevent, '%d-%m-%Y' ) AS dateevent
FROM event
WHERE ville = '$ville'
ORDER BY id ASC
LIMIT '.$_GET['debut '].', '.$nb_affichage_par_page'
LIMIT 0 , 30
Voici le message d'erreur
#1064 - Erreur de syntaxe prÙrde ''.$_GET['debut'].','.$nb_affichage_par_page' LIMIT 0, 30' ?a ligne 1
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 22 août 2006 à 13:20
Yop!
Pourquoi y'a deux LIMIT?
@++
R@f
www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
01cod10
Messages postés110Date d'inscriptionmardi 30 août 2005StatutMembreDernière intervention13 août 2007 22 août 2006 à 13:29
bonne question c'est quand j'ai ex¨¦cut¨¦ ma requete que j'ai eu cela. sinon cela ne fait pas parti de ma requete
SELECT id, description, lieu, DATE_FORMAT( dateevent, '%d-%m-%Y' ) AS dateevent
FROM event
WHERE ville = '$ville'
ORDER BY id ASC
LIMIT '.$_GET['debut '].', '.$nb_affichage_par_page'
echo"SELECT id, description, lieu, DATE_FORMAT( dateevent, '%d-%m-%Y' ) AS dateevent FROM event WHERE ville = '$ville' ORDER BY id ASC LIMIT '.$_GET['debut '].', .'$nb_affichage_par_page.' "
01cod10
Messages postés110Date d'inscriptionmardi 30 août 2005StatutMembreDernière intervention13 août 2007 22 août 2006 à 14:07
Quand j'enlève la partie en rouge ma requete fonctionne bien.
$sql = 'SELECT description,lieu,DATE_FORMAT(dateevent, '%d-%m-%Y') as dateevent FROM event WHERE ville='$ville' ORDER BY id ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_eXon
Messages postés166Date d'inscriptionlundi 17 janvier 2005StatutMembreDernière intervention 8 avril 20071 23 août 2006 à 01:59
Ce que ton message d'erreur dit est simple: le echo" " n'a pas d'affaire dans la fonction MySQL. Revise bien ton code parce que dans:
#1064 - Erreur de syntaxe prÙrde 'echo "SELECT id, description, lieu, DATE_FORMAT( dateevent, '%d-' ?a ligne 1
Si MySQL répond un echo dans la syntaxe, c'est que tu lui as envoyer avec le restant.
----------------
eXon
http://www.lookstrike.com
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 23 août 2006 à 08:18
Salut!
eXon >> Dans le message initial: Voici le message d'erreur
#1064 - Erreur de syntaxe prÙrde ''.$_GET['debut'].','.$nb_affichage_par_page' LIMIT 0, 30' ?a ligne 1
Où est echo???
01cod10 >> "SELECT id, description, lieu, DATE_FORMAT( dateevent, '%d-%m-%Y' ) AS dateevent
FROM event
WHERE ville = '$ville'
ORDER BY id ASC
LIMIT $_GET[debut], $nb_affichage_par_page"
@++
R@f
www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 23 août 2006 à 16:49
Je m'explique :
Voici sa requète initiale :
SELECT id, description, lieu, DATE_FORMAT( dateevent, '%d-%m-%Y' ) AS dateevent
FROM event
WHERE ville = '$ville'
ORDER BY id ASC
LIMIT '.$_GET['debut '].', '.$nb_affichage_par_page'
LIMIT 0 , 30
Il y a un problème la dedand.
Je croyais que tu ouvrais ta requète en simple guillement mais en faite, tu le fais en double.
L'erreur est donc juste après :
LIMIT '.$_GET['debut '].', '.$nb_affichage_par_page'
Pourquoi mettre des . . . . un peu partout ?
La vrai syntaxe est celle ci :
"SELECT id, description, lieu, DATE_FORMAT( dateevent, '%d-%m-%Y' ) AS dateevent
FROM event
WHERE ville = '$ville'
ORDER BY id ASC
LIMIT $_GET['debut'], $nb_affichage_par_page"
Comme celle de coockiesch en faite :)
Quoi que, pour être vraiment sûr, j'aurais fait :
SELECT
id, description, lieu,
DATE_FORMAT( dateevent, '%d-%m-%Y' ) as dateevent
FROM
event
WHERE
ville = '".$ville."'
ORDER BY id ASC
LIMIT ".$_GET['debut'].", ".$nb_affichage_par_page;
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 24 août 2006 à 09:00
Yop!
FhX >> du coup, y'a pas de ' ' pour $_GET ;)
@++
R@f
www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
01cod10
Messages postés110Date d'inscriptionmardi 30 août 2005StatutMembreDernière intervention13 août 2007 24 août 2006 à 12:37
quand j'exécute mon script voici ce que j'ai comme message
Parse error: parse error in c:\easyphp1-8\www\events\evenement.php on line 160
voici la ligne
$sql = "SELECT id,description,lieu,DATE_FORMAT(date, '%d-%m-%Y') as dateevent FROM event WHERE ville='$ville' ORDER BY id ASC
LIMIT ".$_GET['debut '].", ".$nb_affichage_par_page";
// on calcul le premier numero de la barre qui va s'afficher, ainsi que le dernier ($cpt_deb et $cpt_fin)
// exemple : 2 3 4 5 6 7 8 9 10 11 << $cpt_deb = 2 et $cpt_fin = 11
"SELECT id,description,lieu,ville,prix,DATE_FORMAT(date, '%d-%m-%Y') as dateevent FROM event WHERE ville='$ville' AND ORDER BY ville ASC
LIMIT "
.
$_GET
[
'debut '
].
", "
.
$nb_affichage_par_page
";
//ORDER BY id ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;
// on envoie la requête
$req =
mysql_query ($sql) or die('Erreur SQL !
'.$sql.'
'.
mysql_error ());
if($req) {
echo '
0
\" bgcolor=\"\">'.\"
n
\";
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($row =
01cod10
Messages postés110Date d'inscriptionmardi 30 août 2005StatutMembreDernière intervention13 août 2007 24 août 2006 à 18:57
Voici ce que j'ai comme message
Parse error: parse error in c:\easyphp1-8\www\dossier\evenement.php on line 148 ce qui correspond à la ligne de la requete
01cod10
Messages postés110Date d'inscriptionmardi 30 août 2005StatutMembreDernière intervention13 août 2007 24 août 2006 à 19:46
j'ai corrigé la requete comme ceci
$sql = "SELECT id,description,lieu,ville,prix,DATE_FORMAT(dateevent, '%d-%m-%Y') as dateevent FROM event WHERE ville='".$ville."' ORDER BY id ASC
LIMIT ".$_GET["debut"].", ".$nb_affichage_par_page;
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
Voici ce que cela me donne
SELECT id,description,lieu,ville,prix,DATE_FORMAT(dateevent, '%d-%m-%Y') as dateevent FROM evenement WHERE ville='' ORDER BY id ASC LIMIT 0, 3
01cod10
Messages postés110Date d'inscriptionmardi 30 août 2005StatutMembreDernière intervention13 août 2007 24 août 2006 à 23:45
je viens de régler le problème du moins en partie . exactement le problème est un peu eu niveau de mon formulaire te de ma base de données. par ailleurs j'ai toujour un souci au niveau du javascript qui me doit me permettre d'afficher 3 enregistrement par page. La premiere page s'affiche correctement. mais quand j'appuie sur le N° 2 RAS. je m'excuse je réaffiche le code au complet car il manquait la fin.
<html>
<head>
</head>
<title></title>
<?
function barre_navigation ($nb_total,
$nb_affichage_par_page,
$debut,
$nb_liens_dans_la_barre) {
$barre = '';
// on recherche l'URL courante munie de ses paramètre auxquels on ajoute le paramètre 'debut' qui jouera le role du premier élément de notre LIMIT
if ($_SERVER['QUERY_STRING'] == "") {
$query = $_SERVER['PHP_SELF'].'?debut=';
}
else {
$tableau = explode ("debut=", $_SERVER['QUERY_STRING']);
$nb_element = count ($tableau);
if ($nb_element == 1) {
$query = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&debut=';
}
else {
if ($tableau[0] == "") {
$query = $_SERVER['PHP_SELF'].'?debut=';
}
else {
$query = $_SERVER['PHP_SELF'].'?'.$tableau[0].'debut=';
}
}
}
// on calcul le numéro de la page active
$page_active = floor(($debut/$nb_affichage_par_page)+1);
// on calcul le nombre de pages total que va prendre notre affichage
$nb_pages_total = ceil($nb_total/$nb_affichage_par_page);
// on calcul le premier numero de la barre qui va s'afficher, ainsi que le dernier ($cpt_deb et $cpt_fin) // exemple : 2 3 4 5 6 7 8 9 10 11 << $cpt_deb 2 et $cpt_fin 11
if ($nb_liens_dans_la_barre%2==0) {
$cpt_deb1 = $page_active - ($nb_liens_dans_la_barre/2)+1;
$cpt_fin1 = $page_active + ($nb_liens_dans_la_barre/2);
}
else {
$cpt_deb1 = $page_active - floor(($nb_liens_dans_la_barre/2));
$cpt_fin1 = $page_active + floor(($nb_liens_dans_la_barre/2));
}
if ($nb_pages_total <= $nb_liens_dans_la_barre) {
$cpt_deb=1;
$cpt_fin=$nb_pages_total;
}
// si le premier numéro qui s'affiche est différent de 1, on affiche << qui sera un lien vers la premiere page
if ($cpt_deb != 1) {
$cible = $query.(0);
$lien = '['.$cible.' <<] ';
}
else {
$lien='';
}
$barre .= $lien;
// on affiche tous les liens de notre barre, tout en vérifiant de ne pas mettre de lien pour la page active
for ($cpt = $cpt_deb; $cpt <= $cpt_fin; $cpt++) {
if ($cpt == $page_active) {
if ($cpt == $nb_pages_total) {
$barre .= $cpt;
}
else {
$barre .= $cpt.' - ';
}
}
else {
if ($cpt == $cpt_fin) {
$barre .= "['.$cible.' >>]';
}
else {
$lien='';
}
$barre .= $lien;
@mysql_pconnect($BD_serveur, $BD_utilisateur, $BD_motDePasse)
or die("Impossible de se connecter au serveur de bases de données.");
@mysql_select_db($BD_base)
or die("Impossible de se connecter à la base de données.");
// on prépare une requête permettant de calculer le nombre total d'éléments qu'il faudra afficher sur nos différentes pages
$sql = 'SELECT count(*) FROM event';
// on exécute cette requête
$resultat = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
// on récupère le nombre d'éléments à afficher
$nb_total = mysql_fetch_array($resultat);
// on teste si ce nombre de vaut pas 0if (($nb_total $nb_total[0]) 0) {
echo 'Aucune réponse trouvée';
}
else {
// sinon, on regarde si la variable $debut (le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, on l'initialise à 0
if (!isset($_GET['debut'])) $_GET['debut'] = 0;
$nb_affichage_par_page = 3;
// Préparation de la requête avec le LIMIT
$sql = "SELECT id,description,lieu,ville,prix,DATE_FORMAT(dateevent, '%d-%m-%Y') as dateevent FROM event WHERE ville='".$ville."' ORDER BY id ASC
LIMIT ".$_GET["debut"].", ".$nb_affichage_par_page;
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());