erreur de syntax

ViPHP
ViPHP | 5462 Messages

12 mai 2010, 10:08

pareil faut afficher ton erreur, je t'ai dis que tu devais faire
or exit($marequete . <br /> . mysql_error());
et ca faut le mettre a chaque fois que tu fais une requête,
mais je comprend pas comment tu construis tes pages on dirait que t'ecris tout d'un coup et que juste a la fin tu tests :shock:

Eléphant du PHP | 388 Messages

12 mai 2010, 14:20

je suis désolé mais je doit mal comprendre pour afficher l'erreur sur mes 2 requetes j'ai fait cela

Code : Tout sélectionner

$retour_total = mysql_query($retour_total) or exit(mysql_error())
;

et en fait si je te suis tu veut que je face

Code : Tout sélectionner

$retour_total = mysql_query($retour_total) or exit($retour_total . <br /> . mysql_error());

ou encore cela

Code : Tout sélectionner

$retour_total = mysql_query($retour_total) or die('Erreur SQL !<br>'.$retour_total.'<br>'.mysql_error());
est ce exact, car si c'est le cas je ne l'est pas fait dans mes deux requete.

:roll: Oui effectivement je doit mal procéder pour dévellopé car j'écrit tout mon code et aprés je test

ViPHP
ViPHP | 5462 Messages

12 mai 2010, 14:23

ouai, mais par contre c'est pas bien faire dans la même variable
$retour_total_req = mysql_query($retour_total) or die('Erreur SQL !<br>'.$retour_total.'<br>'.mysql_error());

Eléphant du PHP | 388 Messages

12 mai 2010, 14:42

Maintenant aprés modification mon code ressemble a cela
 <?php
$annoncesparpages=1;
include 'php/connect.php';
$retour_total="SELECT COUNT(*) AS total FROM annonces WHERE categorie = 'immobilier'";
$retour_total_req = mysql_query($retour_total)  or die('Erreur SQL !<br>'.$retour_total.'<br>'.mysql_error());


$donnees_total=mysql_fetch_assoc($retour_total_req);
$total=$donnees_total['total'];
$nombredepages=ceil($total/$annoncesparpages);
if(isset($_GET['pages']))
{
	$pagesactuelle=intval($_GET['pages']);
		
		if($pagesactuelle>$nombredepages)
		{	
			$pagesactuelle=$nombredepages;
		}
}
else
{
	$pageactuelle=1;
}

$premiereentree=($pageactuelle-1)*$annoncesparpages;

$retourannonce = "SELECT

    annonces.region ,
    annonces.titreannonce ,
    annonces.descriptionannonce ,
    annonces.numannonce ,
    annonces.prix ,
    annonces.date ,

    images.miniature,
    images.id_img

    FROM annonces

    LEFT JOIN images
    ON images.numannonce = annonces.numannonce

    WHERE annonces.categorie = 'immobilier'

  ORDER BY DATE DESC LIMIT ".$premiereentree.", ".$annoncesparpages."";
   



$retourannonce_req = mysql_query($retourannonce)  or die('Erreur SQL !<br>'.$retourannonce.'<br>'.mysql_error());
echo $retourannonce;

while($data=mysql_fetch_assoc($retourannonce_req))
{
$numannonce=$data['numannonce']

?>
<table>		   
	<tr>			
		<td class="titreannonce" colspan="2"><a href="agrandissementannonces.php?numannonce=<?php echo $numannonce  ?>"><?php echo $data  ['titreannonce']; ?></a></td>		
				
    </tr>	
    <tr>
		<td class="region"><?php echo $data ['region']; ?></td>	
		<td class="prix"><?php echo $data ['prix'],'€'; ?></td>				
    </tr>	
	<tr>			
		<td class="miniature"><img src="<?php  echo substr($data['miniature'],24); ?>"/></td>
		<?php				
                 $descriptionannonce = $data ['descriptionannonce'];
                 $descriptionannonce = substr($descriptionannonce, 0, 100 );
				echo '<td class="description" >' . $descriptionannonce,'...' . '</td>';	
			?>
			</tr>	
    <tr>
		<td class="date"><?php echo $data ['date']; ?></td>
		<td class="pseudo"><?php echo $data ['pseudo']; ?></td>					
    </tr>  
 </table>

 
 <div id="lienpages">
 <?php
 
 echo '<p align="center">Pages : '; //Pour l'affichage, on centre la liste des pagess
for($i=1; $i<=$nombredepages; $i++) //On fait notre boucle
{
     //On va faire notre condition
     if($i==$pagesactuelle) //Si il s'agit de la pages actuelle...
     {
         echo ' [ '.$i.' ] '; 
     }	
     else //Sinon...
     {
          echo ' <a href="paginationtest.php?pages='.$i.'">'.$i.'</a> ';
     }
}
echo '</p>';
?>
<?php
  }

  ?>
lorsque j'éxécute cela me donne
  Erreur SQL !<br>SELECT

    annonces.region ,
    annonces.titreannonce ,
    annonces.descriptionannonce ,
    annonces.numannonce ,
    annonces.prix ,
    annonces.date ,

    images.miniature,
    images.id_img

    FROM annonces

    LEFT JOIN images
    ON images.numannonce = annonces.numannonce

    WHERE annonces.categorie = 'immobilier'

   ORDER BY DATE DESC LIMIT
    LIMIT -1, 1<br>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 '-1, 1' at line 21

Modifié en dernier par spidercrash le 12 mai 2010, 15:16, modifié 2 fois.

Eléphant du PHP | 388 Messages

12 mai 2010, 15:15

A priori le probléme viens de cette ligne
 ORDER BY DATE DESC LIMIT ".$premiereentree.", ".$annoncesparpages."";

ViPHP
ViPHP | 5462 Messages

12 mai 2010, 15:29

ouai c'est egale a -1 ton calule est pas bon ca devrai de donné au minmum 0

Eléphant du PHP | 388 Messages

12 mai 2010, 16:28

Donc c'est ici que sa pose problème

else
{
	$pageactuelle=1;
}

$premiereentree=($pageactuelle-1)*$annoncesparpages;
car en liaison de page j'ai cela
ORDER BY DATE DESC LIMIT -2, 2<br>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 '-2, 2' at line 20</div>
Modifié en dernier par spidercrash le 12 mai 2010, 16:35, modifié 1 fois.

ViPHP
ViPHP | 5462 Messages

12 mai 2010, 16:33

faut croire puisque c'est égale a -1

Eléphant du PHP | 388 Messages

12 mai 2010, 16:37

et pourquoi il me dit vous avez une erreur de syntax sql :roll:

ViPHP
ViPHP | 5462 Messages

12 mai 2010, 16:40

et pourquoi il me dit vous avez une erreur de syntax sql :roll:
parce que le LIMIT ne peux pas être négatif, ton calcule est pas bon,
si ta pas mis de ?pages=truc en haut

inval($_GET['pages']) == 0

(0 - 1) * 2 = -2

Eléphant du PHP | 388 Messages

12 mai 2010, 16:42

:oops: la honte j'ai trouvé j'vais mit cela
if($pagesactuelle>$nombredepages)
		{	
			$pagesactuelle=$nombredepages;
		}
}
else
{
	$pageactuelle=1;
}

$premiereentree=($pageactuelle-1)*$annonceparpages;

ce n'est pas pageactuelle mais pagesactuelle le S était en obtions :D

Merci pour votre aide et votre patience =D>

Eléphant du PHP | 388 Messages

12 mai 2010, 16:47

petite question supplémentaire on peut remplacer les chiffres 1 2 3 4 par des images et mettre le chiffre par dessus ?

ViPHP
ViPHP | 5462 Messages

12 mai 2010, 16:53

petite question supplémentaire on peut remplacer les chiffres 1 2 3 4 par des images et mettre le chiffre par dessus ?
ou ca ?

Eléphant du PHP | 388 Messages

12 mai 2010, 16:55

petite question supplémentaire on peut remplacer les chiffres 1 2 3 4 par des images et mettre le chiffre par dessus ?
ou ca ?
vu que la pagination de mes annonce sont faite exemple :
en bas de ma page j'ai pages 1 2 3 4 5
Je souhaiterai mettre a la place du 1 mettre un petit logo avec le chiffre 1 par dessus
puis pour le chiffre 2 le meme logo avec le chiffre 2 par dessus ....

exemple sur le forum quand tu a page deux ta un petit carré en dessous

Eléphant du PHP | 388 Messages

12 mai 2010, 17:00

Je pence que dans le lien
<a href="paginationtest.php?pages='.$i.'">'.$i.'</a> ';
je devrai pouvoir placer un img source non ?