Erreur dans mon code PHP

Fermé
cheslot Messages postés 113 Date d'inscription mercredi 22 juillet 2009 Statut Membre Dernière intervention 9 décembre 2012 - 23 août 2011 à 15:13
aciddev Messages postés 173 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 24 août 2011 - 23 août 2011 à 15:38
Bonjour CCMiens,

J'ai une erreur qui intervient dans ma page et je n'arrive pas à la résoudre :
Parse error: syntax error, unexpected '}' in /home/u612267238/public_html/desktop/search.php on line 49


Voici le fichier en question :
<?php

include("toolbar.php");
include("../conf.inc.php"); 
$limit = 10;
if($debut == ""){$debut=0;}
$debut = $pge*$limit;
$requete = "select * from users where prenom like '%$search%' limit $debut, $limit";
$total = mysql_query($requete);
$nb_tot = mysql_num_rows($total);
$nbpages = ceil($nb_tot/$limit);
$resultat = mysql_query($requete. 'limit, $debut, $limit); 

while ($rows=mysql_fetch_array($resultat)) {
?>
<table style="text-align: left; width: 800px; height: 150px; border="1" cellpadding="2" cellspacing="2">
  <tbody>
    <tr>
      <td style="width: 150px; height: 150px;"></td>
      <td style="width: 650px; height: 150px;">
      <div style="text-align: center;"><big><big><? echo $rows["prenom"]; ?> <? echo $rows["nom"]; ?></big></big><br />
      </div>
      <br />
      <br />
      <br />
      <div style="float: left;"><img
 style="width: 32px; height: 32px;" alt=""
 src="file:///C:/Users/William/Pictures/user.bmp" /> <span
 style="font-family: Arial; font-weight: bold;">Genre
: <?php if ($rows["genre"] == "m") {echo "Homme";} if ($rows["genre"] == "f") {echo "Femme";} ?></span></div>
      <div style="float: right;"><img
 style="width: 32px; height: 32px;" alt=""
 src="file:///C:/Users/William/Pictures/birthdate.bmp" /><span
 style="font-family: Arial; font-weight: bold; float: right;">Date
de naissance : <? echo $rows["month"]; ?>/<? echo $rows["day"]; ?>/<? echo $rows["year"]; ?></span></div>
      </td>
    </tr>
  </tbody>
</table>
<?php }

if($nbpages>>3 and $pge>2){
        echo  "<a href=\"?pge=0&search=$search\"><b>Début</b></a>";
        }

if ($pge>0){
        $precedent=$pge-1;
        echo  "<a href=\"?pge=$precedent&search=$search\"><b><fontcolor='#993366'>Précédente</font></b></a>";
        }

$i=0;$j=1;
if($nb_tot>$limit){
        while($i<($nbpages))
                { 
                        if ($i>$pge-3 and $i<$pge+3)
                        {
                                if($i!=$pge){echo "<a href=\"?pge=$i&search=$search\">$j</a>";}
                                else {echo "<b>$j</b> ";}
                        }
                        $i++;$j++;
                }
}

if($pge<$nbpages-1){
        $suivant=$pge+1;
        echo "<a href=\"?pge=$suivant&search=$search"><b></b></a>";
        }        

if($nbpages>3 and $pge<$nbpages-3){
$fin=$nbpages-1;
        echo  "<a href=\"?pge=$fin&search=$search\"><b>fin</b> ($nbpages)</a>";
        } 

?>


<? include "../blocker.php"; ?>


Merci d'avance!

3 réponses

aciddev Messages postés 173 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 24 août 2011 25
23 août 2011 à 15:16
Ligne 12 :

$resultat = mysql_query($requete. 'limit, $debut, $limit);

Remplace cette ligne par

$resultat = mysql_query($requete. 'limit, $debut, $limit');

Tu as oublié une ' en fin de ligne. Attention à cette erreur lors des concaténations.
1
cheslot Messages postés 113 Date d'inscription mercredi 22 juillet 2009 Statut Membre Dernière intervention 9 décembre 2012 14
23 août 2011 à 15:19
Merci!
0
aciddev Messages postés 173 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 24 août 2011 25
Modifié par aciddev le 23/08/2011 à 15:20
Une autre erreur aussi à la ligne 66 :

echo "<a href=\"?pge=$suivant&search=$search"><b></b></a>";

a remplacer par :

echo '<a href=\"?pge=$suivant&search=$search"><b></b></a>';

Attention à l'utilisation des quotes en PHP, c'est source de pas mal de problèmes en cas de mauvaise combinaison au HTML

Edit : et ça recommence ligne 71, même souci
0
aciddev Messages postés 173 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 24 août 2011 25
23 août 2011 à 15:23
Tant que j'y suis, fais très attention à tes requêtes SQL.
La requête que tu utilises actuellement peut être source d'injections SQL.
Il est préférable d'utiliser les requêtes préparées.

Regarde du côté de PDO :

http://www.manuelphp.com/php/pdo.prepared-statements.php
0
momohuri Messages postés 235 Date d'inscription lundi 6 juillet 2009 Statut Membre Dernière intervention 9 février 2012 8
Modifié par momohuri le 23/08/2011 à 15:18
tu peut préciser quel est la ligne 49? la flemme de les comptes....
0
cheslot Messages postés 113 Date d'inscription mercredi 22 juillet 2009 Statut Membre Dernière intervention 9 décembre 2012 14
23 août 2011 à 15:32
Encore une erreur...
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/u612267238/public_html/desktop/search.php on line 14
0
cheslot Messages postés 113 Date d'inscription mercredi 22 juillet 2009 Statut Membre Dernière intervention 9 décembre 2012 14
23 août 2011 à 15:32
$requete = "select * from users where prenom like '%$search%' limit $debut, $limit";
$total = mysql_query($requete);
$nb_tot = mysql_num_rows($total);
$nbpages = ceil($nb_tot/$limit);
$resultat = mysql_query($requete. 'limit, $debut, $limit');

while ($rows=mysql_fetch_array($resultat)) {
0
aciddev Messages postés 173 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 24 août 2011 25
23 août 2011 à 15:34
Ligne 8, remplace ta requete par celle-ci :

$requete = 'SELECT * FROM users WHERE prenom LIKE '.$search.' limit '.$debut.', '.$limit.'';
0
cheslot Messages postés 113 Date d'inscription mercredi 22 juillet 2009 Statut Membre Dernière intervention 9 décembre 2012 14
23 août 2011 à 15:38
Merci encore!
0
aciddev Messages postés 173 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 24 août 2011 25
23 août 2011 à 15:38
Pas de souci :)
0