Paginazzione / ricerca nell' archivio

  • Creatore Discussione Creatore Discussione S. Sim
  • Data di inizio Data di inizio

S. Sim

Nuovo Utente
23 Dic 2006
17
0
0
Salve, utenti.

ho appena finito di creare un archivio di programmi, che prende i dadi dal db, con un motore di ricerca, il probblema e che per il motori di ricerca ho usato la funzione explode() divedento la chiavi in spazzi, ma ora non mi funziona, vi scrivo qui il codice dei file che ho usato:

il primo file quello che quando clikki sul pulsante submit del form di ricerca di visualiza i lisultati altrimenti di visualiza una lista completa dei downloadin ve lo scrivo qui:
PHP:
<script language="JavaScript">
function newWindow(mypage,myname,w,h,features) {
  if(screen.width){
  var winl = (screen.width-w)/2;
  var wint = (screen.height-h)/2;
  }else{winl = 0;wint =0;}
  if (winl < 0) winl = 0;
  if (wint < 0) wint = 0;
  var settings = 'height=' + h + ',';
  settings += 'width=' + w + ',';
  settings += 'top=' + wint + ',';
  settings += 'left=' + winl + ',';
  settings += features;
  win = window.open(mypage,myname,settings);
  win.window.focus();
}
</script>
<table align="center" width="80%" cellpadding="0" cellspacing="0" background="img/stab.png">
 <tr align="center">
  <td width="32%" style="border:solid #003366 1px"><strong>Nome programma </strong></td>
  <td width="37%" style="border:solid #003366 1px"><strong>Piattaforma</strong></td>
  <td width="31%" style="border:solid #003366 1px"><strong>Azioni</strong></td>
 </tr>
</table>
<?
$count = "SELECT COUNT(Id) FROM Download WHERE Visibile = '1'";
$res_count = mysql_query($mysql);
// numero totale di records
$tot_records = $res_count[0];
// risultati per pagina(secondo parametro di LIMIT)
$per_page = 10;
// numero totale di pagine
$tot_pages = ceil($tot_records / $per_page);
// pagina corrente
$current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
// primo parametro di LIMIT
$primo = ($current_page - 1) * $per_page;
// esecuzione seconda query con LIMIT
$query_limit = mysql_query("SELECT * FROM Download LIMIT $primo, $per_page");
while($rs = mysql_fetch_array($query_limit)) {
 echo "<table align='center' width='80%' cellpadding='0' cellspacing='0'><tr align='center'><td width='32%' style='border:solid #003366 1px; border-top:none'>$rs[Nome]</td><td width='37%' style='border:solid #003366 1px; border-top:none'>$rs[Piattaforma]</td><td width='31%' style='border:solid #003366 1px; border-top:none'><a title='Visualizza Descrizioni' href=\"\" onclick=\"javascript:newWindow('dsc_download.php?dsc=$rs[Id]','popup',300,200,'')\"><img border='0' src='img/dsc.gif' /></a>&nbsp;<a title='Scarica Programma' href='$rs[link]'><img border='0' src='img/dwl.gif' />&nbsp;<a title='Segnala Programma' href='$rs[link]'><img border='0' src='img/posta.gif' /></a></td></tr></table>" ;
}
$pag_tot = $tot_pages ;
if($current_page == 1) { // se siamo nella prima pagina
$precedente = "&laquo; precedente";
} else { // altrimenti
$previous_page = ($current_page - 1);
$precedente = "<a href=\"index.php?Dir=download&page=$previous_page\" title=\"Pagina precedente\">&laquo; precedente</a>";
}
if($current_page == $tot_pages) { // se siamo nell'ultima pagina
$successiva = "successiva >>";
} else { // altrimenti
$next_page = ($current_page + 1);
$successiva = "<a href=\"index.php?Dir=download&page=$next_page\" title=\"Pagina successiva\">successiva >></a>";
}
$paginazione = "$precedente · $successiva";
?>
<br />
<table align="right" cellpadding="0" cellspacing="0" style="border:solid #003366 1px">
 <tr>
  <td style="border-left:solid #003366 1px; background:url(img/stab.png)">&nbsp;Pagina <?=$current_page ?> di <?=$pag_tot ?>&nbsp;</td>
  <td style="border-left:solid #003366 1px">&nbsp;<?=$paginazione ?></td>
 </tr>
</table>
mentre il file dove visualiza i risultati di ricerca ve lo scrivo qui sotto:
PHP:
<style type="text/css">
<!--
.Stile1 {
	font-size: 18px;
	font-weight: bold;
}
-->
</style>
<center>
  <span class="Stile1">Risultati ricerca</span>:
</center>
<?
if ($result_s != $result) {
 echo "<table align='center' width='80%' cellpadding='0' cellspacing='0'><tr align='center'><td>Nessun risultato trovato</td></tr></table>" ;
}else {
echo "<table align=\"center\" width=\"80%\" cellpadding=\"0\" cellspacing=\"0\" background=\"img/stab.png\">
 <tr align=\"center\">
  <td width=\"32%\" style=\"border:solid #003366 1px\"><strong>Nome programma </strong></td>
  <td width=\"37%\" style=\"border:solid #003366 1px\"><strong>Piattaforma</strong></td>
  <td width=\"31%\" style=\"border:solid #003366 1px\"><strong>Azioni</strong></td>
 </tr>
</table>" ;
while ($rs = mysql_fetch_array($result)) {
 echo "<table align='center' width='80%' cellpadding='0' cellspacing='0'><tr align='center'><td width='32%' style='border:solid #003366 1px; border-top:none'>$rs[Nome]</td><td width='37%' style='border:solid #003366 1px; border-top:none'>$rs[Piattaforma]</td><td width='31%' style='border:solid #003366 1px; border-top:none'><a title='Visualizza Descrizioni' href='dsc_download.php'><img border='0' src='img/dsc.gif' /></a>&nbsp;<a title='Scarica Programma' href='$rs[link]'><img border='0' src='img/dwl.gif' />&nbsp;<a title='Segnala Programma' href='$rs[link]'><img border='0' src='img/posta.gif' /></a></td></tr></table>" ;
}
}
?>
se provo a eseguire lo script non mi restituische un errore, ma mi restituisce immediatamente la query che uso per la ricerca uguale a FALSE, potete vedere voi?


Nel primo codice PHP scritto qui sopra e presente anche alla fine una barra di navigazione che presenta e seguenti errori:
· Il totale pagine mi conta le pagine, ma il suo conteggio mi parte dalla segondo pagina
· il link che mi va alla pagina suggessiva mi si visualiza anche quando sono all' ultima pagina

Mi saprete risolvere queste cose?
 
Se nella seconda pagina stampi la variabile $rs ti restituisce:

PHP:
array
?
 
Se nella seconda pagina stampi la variabile $rs ti restituisce:

PHP:
array
?
no, mi stampa solo la query, cmq io quella lo usato solo per vedere che mi leggeva la query, cmq, ho modificato la query perche ho trovato due AND, ma ora mi visualiza lo stesso la query uguale a FALSE

spiegatime pure il probblema della paginazione?
 
Ultima modifica:

Discussioni simili