Au secours ! problème avec mysql_fetch_object qui me prend la tête !

cs_Audreypf Messages postés 2 Date d'inscription jeudi 11 décembre 2008 Statut Membre Dernière intervention 31 juillet 2009 - 31 juil. 2009 à 13:07
cs_47 Messages postés 197 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 20 février 2013 - 31 juil. 2009 à 15:02
Bonjour,

J'ai fait le tour des forums et je n'ai pas trouvé la réponse pour mon cas perso.
Voila le pb :

J'ai créé un site d'annonces et un formulaire de recherche multi-critères. les résultats s'affichent mais il me manque systématiquement le résultat de l'annonce la plus récente (jai fait un ORDER BY ... DESC).

Ainsi, quand il y a 3 résultats, le nb de résultats indiqués est bien 3 mais il n'y a que 2 lignes qui s'affichent.

Voici mon code en partie. J'espère que je n'en dis ni trop ni trop peu. Je débute. Un grand merci d'avance à tous ceux qui pourront m'aider.

[i]----------------------------------------
$increment = 20;
function nbp($total,$increment){
$reste=$total % $increment;
$total=$total-$reste;

$j=0;
for($i=0;$i<=$total; $i=$i+$increment){
$j++;
}
if($reste==0){$j--;}
return $j;
}
-------------------------------------------
if(!empty($_POST)){
$_SESSION['tab']=$_POST;
$tab=$_POST;
extract($tab);
$page=1;
}
if($_GET['flag']==1){
extract($_SESSION['tab']);
}
-------------------------------------------
if($i>0){

$sql=mysql_query("SELECT numero FROM menage_annonces WHERE membre_dpt LIKE '%$membre_dpt%' AND categorie LIKE '%$categorie%' AND numero LIKE '%$numero%'");
$nb_de_lignes=mysql_num_rows($sql);
$nb_de_pages=nbp($nb_de_lignes, $increment);


if($_GET['page']){ //test si un lien a été cliqué
$flagpage=1; // on met le drapeau à 1
$page=$_GET['page'];
}
else{$page=1;}

$debut= ($page-1)*$increment +1;

$depart_boucle=1;

if($max_pages_vues>$nb_de_pages){$max_pages_vues=$nb_de_pages;}
$fin_boucle=$max_pages_vues;

if($flagpage==1){
$depart_boucle=$page-intval($max_pages_vues/2);
$fin_boucle=$page+intval($max_pages_vues/2);

if($fin_boucle>$nb_de_pages){
$fin_boucle=$nb_de_pages;
$depart_boucle=$fin_boucle-$max_pages_vues;
}

if($depart_boucle<=0){
$depart_boucle=1;
$fin_boucle=$depart_boucle+$max_pages_vues;
}
}
}
?>
-----------------------------------------
<?php

if($i>0){

if(!$nb_de_lignes){echo "Désolé, il n'y a aucun résultat pour ces critères.";
exit;
}
echo "Nombre de résultats : ";
echo "$nb_de_lignes
";
echo "Nombre de pages : ";
echo " $nb_de_pages
";

$sql=mysql_query("SELECT * FROM menage_annonces WHERE membre_dpt LIKE '%$membre_dpt%' AND categorie LIKE '%$categorie%' AND numero LIKE '%$numero%' ORDER BY numero DESC LIMIT $debut, $increment");
?>
-----------------------------------------
N°,
titre,
ville,
detail,
[i]>/tr>

<?php while($res=mysql_fetch_object($sql)){?>

----

<?php echo $res->numero ?>,
<?php echo $res->titre ?>,
<?php echo $res->ville ?>,
<?php echo $res->detail ?>,

<?php } ?>


<?php } ?>/i

1 réponse

cs_47 Messages postés 197 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 20 février 2013 1
31 juil. 2009 à 15:02
Bonjour,

$sql=mysql_query("SELECT * FROM menage_annonces WHERE membre_dpt LIKE '%$membre_dpt%' AND categorie LIKE '%$categorie%' AND numero LIKE '%$numero%' ORDER BY numero DESC LIMIT $debut, $increment"); 


$increment étant fixe, il y a peut être quelque chose avec le calcul dans $debut

bonne journée
0
Rejoignez-nous