Bonjour tout le monde, je suis graphiste et j'ai un p'tit souci avec un code php de pagination pour un site que je fais pour un client. Vous pourrez voir le site en question à cette adresse http://newsite.commerce-a-vendre.fr/fr/ (qui est loin d'être fini mais je préfère épurer les pbm au fur et a mesure surtout quand on est pas codeur...) . Le moteur de recherche n'est pas terminé mais il fonctionne sur la 1ère liste, pour bien voir mon pbm choisissez commerces divers sur cette liste. Tout à l'air de fonctionner mais la page qui est validée xhtml par le w3c ne l'est plus à cause de mon code de pagination dont voici la source :
<?php
function pagine(
&$sql
,$mpp
,$query
,$url
,$long=10
) {
$res = mysql_query("SELECT count(*) ".$sql);
$nbres = mysql_result($res,0,0);
$nbpage = ceil($nbres/$mpp);
$p=@$_GET[$query]; if(!$p) $p=1;
$url= str_replace('?p='.$p,'',$url);
$url= str_replace('&p='.$p,'',$url);
$t = (strpos($url,"?"))?"&":"?";
if($p>$nbpage) $p = $nbpage;
$deb = max(1,$p-$long);
$fin = min($nbpage,$p+$long);
$pagine = "";
if($nbpage>1) {
for($i=$deb;$i<=$fin;$i++) {
if($i==$p) $pagine.="<span class=page_active> ".$i." </span>";
elseif($i==1) $pagine.="<A href='".$url."'> ".$i." </A>";
else $pagine.="<A href='".$url.$t.$query."=".$i."'> ".$i." </A>";
}
if($pagine) $pagine = " Page".$pagine;
if($pagine&&($p>1)) {
if($p==2) $pagine ="<A href='".$url."'> << </A>".$pagine;
else $pagine ="<A href='".$url.$t.$query."=".($p-1)."'> << </A>".$pagine;
if($p>2) $pagine ="<A href='".$url."'> |< </A>".$pagine;
}
if($pagine&&($p<$nbpage)) {
$pagine.="<A href='".$url.$t.$query."=".($p+1)."'> >> </A>";
if($p<$nbpage-1) $pagine.="<A href='".$url.$t.$query."=".($nbpage)."'> >| </A>";
}
$sql .= " LIMIT ".(($p-1)*$mpp).",".$mpp;
}
return $pagine;
}
?>
//affichagedes numéros de page >
WHERE id_cat = %s ORDER BY nom_departement ASC", GetSQLValueString($colname_rproduits, "int"));
$pagine = pagine($rq,10,"p",$_SERVER['REQUEST_URI']);
$rproduits = mysql_query("SELECT * ".$rq);
$row_rproduits = mysql_fetch_assoc($rproduits);
echo $pagine;
?>
Je sais qu'une petite modif du code me permettra de valider ma page mais ma compréhension de ce langage reste très limitée et si je peux le manipuler je ne le développe pas. Merci d'avance à tout le monde pour vos réponses