o meu problema é o seguinte, eu criei um formulário de pesquisa e queria que os resultados aparecessem em várias páginas.
Até aqui tudo bem.
O que acontece é que ele devolve os primeiros 30 registos e até aparece próxima página, mas quando eu carrego em proxima página e diz que não existem registo, o que não é verdade.
Eu penso que ele perde as definições da pesquisa quando carrego em proxima página.
Aqui fica o código.
if(!$query){ // Advanced search ... if(!empty($nome_sel)) $query[] = "nome like'%".$nome_sel."%'"; if(!empty($categoria_sel)) $query[] = "categoria='".$categoria_sel."'"; if(!empty($morada_sel)) $query[] = "morada like'%".$morada_sel."%'"; if(!empty($localidade_sel)) $query[] = "localidade='".$localidade_sel."'"; if(!empty($cp_sel)) $query[] = "cp='".$cp_sel."'"; if(!empty($telefone_sel)) $query[] = "telefone like'%".$telefone_sel."%'"; if(!empty($telemovel_sel)) $query[] = "telemovel like'%".$telemovel_sel."%'"; if(!empty($fax_sel)) $query[] = "fax like'%".$fax_sel."%'"; if(!empty($email_sel)) $query[] = "email like'%".$email_sel."%'"; if(count($query)>0 && is_array($query)) $qry = implode(" AND ", $query); $lpp = 30; $sql = sql_query("select id, nome from ".$prefix."_empresas where ".$qry, $dbi); $res = sql_query($sql,$dbi); $total = sql_num_rows($sql,$dbi); $paginas = ceil($total / $lpp); if(!isset($pagina)) { $pagina = 0;} $inicio = $pagina * $lpp; $limit = "LIMIT $inicio,$lpp"; if($qry) $result = sql_query("select id, nome from ".$prefix."_empresas where ".$qry.$limit, $dbi); $sql = sql_query("select id, nome from ".$prefix."_empresas where ".$qry.$limit, $dbi); $res = sql_query($sql,$dbi); OpenTable(); echo "<center><font class=\"title\"><b>"._EMPRESASTITLE."</b></font>"; CloseTable(); echo "<br>"; OpenTable(); echo "<center><b>"._EMPRESASRESULTADOSPESQUISA." </b></center><br><br><br>"; if (!$qry || sql_num_rows($result, $dbi) == 0) { echo _EMPRESASNAORESULTADOS."<br>"; } else { echo "<table align=\"center\" width=\"100%\" border=\"0\" cellspacing=\"4\" cellpadding=\"2\"><tr>"; while(list($id, $nome) = sql_fetch_row($result, $dbi)) { $i = 0; if ($count == 1) { echo "<tr>\n"; $count = 0; } echo "<td width=\"100%\" valign=\"top\">"; echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\" bgcolor=\"$bgcolor3\">"; echo "<TR><TD width=\"10\"><img src=\"modules/$module_name/images/bullet.gif\" width=\"15\" height=\"10\" alt=\"\"></td>"; echo "<TD bgcolor=\"$bgcolor2\">"; echo "<a href=# ONCLICK=window.open('modules.php?name=Empresas&file=ViewEmpresa&id=$id','empresa','width=400,height=600,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,copyhistory=0,target=blank,class=bluelink')><b>$nome"; echo "</b></a>"; echo "</td></tr>"; $count++; if ($count == 1) { echo "</tr>\n"; } if ($count == 1) { echo "</table>\n"; } else { echo "</td></tr></tr></table>\n"; } } echo "</table>"; } echo "<br><center><b>"; if ($pagina > 0) { $menos = $pagina - 1; $url = "modules.php?name=Empresas&file=search&adv=1&pagina=$menos"; echo " <a href='$url'>Página Anterior</a>"; } if ($pagina < ($paginas - 1)) { $mais = $pagina + 1; $url = "modules.php?name=Empresas&file=search&adv=1&pagina=$mais"; echo " | <a href='$url'>Proxima Página</a>"; } echo "</center></b>"; ...
Alguém pode dar uma ajuda? Ficaria muito agradecido.