paginazione dati

claudia

Utente Attivo
30 Gen 2006
39
0
0
Ho un problema nella paginazione dei dati...ho trovato questo interessante articolo
http://php.html.it/articoli/leggi/857/paginazione-di-dati/3/
mi sembrava tutto chiaro ma mi da questo errore

Codice:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/mhd-01/www..........php on line 30


la linea 30 corrisponde a

Codice:
$count = mysql_query("SELECT COUNT(id) FROM nome_tabella");

nella quale naturalmente ho inserito i miei dati
Qualcuno mi può aiutare?
 

claudia

Utente Attivo
30 Gen 2006
39
0
0
Scusate ho sbagliato a scrivere la linea di codice 30...
Codice:
$res_count = mysql_fetch_array($count);
questa è quella giusta
 

claudia

Utente Attivo
30 Gen 2006
39
0
0
Ho provato a modificarla con
Codice:
$res_count = mysql_fetch_row($count);
ma niente
 

claudia

Utente Attivo
30 Gen 2006
39
0
0
Sto provando e riprovando, ma niente....ora ho optato per quest'altra soluzione. Scrivo la pagina intera
Codice:
<?php 
$db_host=""; 
$db_user=""; 
$db_password=""; 
$db_database=""; 

$connessione=mysql_connect($db_host,$db_user,$db_password) or die ("Errore nella connessione al Mysql:" . mysql_error()); 
mysql_select_db($db_database,$connessione) or die ("Errore nella selezione del db:" . mysql_error()); 
$recordxpag = 5; 

$query=mysql_query("SELECT AnnoRipresa, Regione FROM fotoaereeverticali WHERE AnnoRipresa LIKE '%$_POST[AnnoRipresa]%' 
AND Regione LIKE '%$_POST[Regione]%'"); 

$risultato=mysql_query($query,$connessione) or die ("Errore nella query:" . mysql_error()); 
$righe = mysql_num_rows($risultato); 
$numpag = ceil($righe/$recordxpag); 
include 'paginazione.inc.php'; 
if ($righe<1) 
  { 
   echo "non ci sono dati"; 
    } 
else 
{ 
 $da = (($pag-1) * $recordxpag); 
  $a = $da + $recordxpag; 
  if ($a > $righe){$a=$righe;} 
 for ($i = $da; $i < $a; $i++) 
{ 
while($riga=mysql_fetch_array($risultato)) 
{?> 
<tr> 
<td colspan="2"> 
<?php 
print ("<img src=".$riga[Foto].">");?> 
</tr> 
<tr> 
<td height="22" width="20%"><h4><b>Anno Ripresa</b></td> 
<td height="22" width="20%"><h4><b>Regione</b></td> 
</tr> 
<tr><?php print("<tr>"); 
print ("<td>$riga[AnnoRipresa]</td>"); 
print ("<td>$riga[Regione]</td>"); 
print("</tr>");?>
:

Questa è la pagina paginazione.inc.php
Codice:
: <?php 
   //numero di link da visualizzare nel menu. 
$num_link=5; 
$querystring = ""; 
// Recupero il numero di pagina corrente. 
$pag = isset($_GET['pag'])? $_GET['pag'] : 1; 

//se ho meno link di quanti ne voglio visualizzare li visualizzo tutti 
if($numpag <= $num_links) 
  { 
   for ($pagina = 1; $pagina <= $numpag; $pagina++) 
     { 
      if ($pagina == $pag) 
        echo "<a class=\"pag_selected\" href\"=?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> "; 
      else 
        echo "<a class=\"pag_link\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> "; 
     } 
  } 
//se la pag corrente è tra le prime $num_links/2 --> stampo i primi $nun_links link 
else if($pag <= ceil($num_links/2)) 
  { 
   for ($pagina=1; $pagina<=$num_links; $pagina++) 
     { 
      if ($pagina == $pag) 
        echo "<a class=\"pag_selected\" href\"=?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> "; 
      else 
        echo "<a class=\"pag_link\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> "; 
     } 
   echo "<a class=\"pag_link\" href=\"?pag={$numpag}{$querystring}\" title=\"Vai all'ultima pagina\"> >> </a> "; 
  } 

//se la pag corrente è tra le ultime $num_links/2 --> stampo gli ultimi $nun_links link 
else if($pag > ($numpag-ceil($num_links/2))) 
  { 
   echo "<a class=\"pag_link\" href=\"?pag=1{$querystring}\" title=\"Vai alla prima pagina\"> << </a> "; 
   for ($pagina=$numpag-$num_links+1; $pagina<=$numpag; $pagina++) 
     { 
      if ($pagina == $pag) 
        echo "<a class=\"pag_selected\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> "; 
      else 
        echo "<a class=\"pag_link\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> "; 
     } 
  } 

//Altrimenti la pagina corrente è una dell centrali --> stampo i $nun_links/2 link prima ed $nun_links/2 link dopo 
else 
  { 
   echo "<a class=\"pag_link\" href=\"?pag=1{$querystring}\" title=\"Vai alla prima pagina\"> << </a> "; 
   for ($pagina = $pag-ceil($num_links/2-1); $pagina <= $pag+ceil($num_links/2-1); $pagina++) 
     { 
      if ($pagina == $pag) 
        echo "<a class=\"pag_selected\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> "; 
      else 
         echo "<a class=\"pag_link\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> "; 
     } 
   echo "<a class=\"pag_link\" href=\"?pag=$numpag\" title=\"Vai all'ultima pagina\"> >> </a> "; 
  } ?>
:


L'errore che mi da è
Codice:
:    Parse error: syntax error, unexpected $end in /home/mhd-01/www.......php on line 137
La linea 137 corrisponde all'ultima linea di codice della prima pagina che ho postato....(ho abbreviato la query, che in realtà coinvolgeva allo stesso modo più campi, per non annoiarvi troppo)
 

claudia

Utente Attivo
30 Gen 2006
39
0
0
Avevo dimenticato di chiudere una }...comunque non funziona.
Continuo a cercare da giorni su internet materiale su come paginare i risultati di una query...provo ad applicare i codici che trovo, adattandoli alle mie esigenze e non mi funziona nulla.....ora ho abbandonato il codice precedentemente postato e sto provando ad elaborarne un altro
Codice:
<?php 
$db_host="..."; 
$db_user="..."; 
$db_password="..."; 
$db_database="..."; 
$connessione=mysql_connect($db_host,$db_user,$db_password) or die ("Errore nella connessione al Mysql:" . mysql_error()); 
mysql_select_db($db_database,$connessione) or die ("Errore nella selezione del db:" . mysql_error()); 

$numero_record = 3; 
if(!isset($GET["inizio"])){ 
    $inizio = 0; 
}else{ 
    $inizio = $GET["inizio"]; 
}   
$query_limit="SELECT AnnoRipresa, Id,  Foto FROM nome_tabella WHERE AnnoRipresa LIKE '%$_POST[AnnoRipresa]%' 
order by Id desc limit $inizio, $numero_record" or die ("Errore :" . mysql_error());; 

$query = mysql_query($query_limit); 

$select = "SELECT AnnoRipresa, Id, FROM nome_tabella WHERE AnnoRipresa LIKE '%$_POST[AnnoRipresa]%'"; 

$query2 = mysql_query($select); 

$numero_record_totali = mysql_numrows($query2);   

$numero_pagine = ceil($numero_record_totali/$numero_record);   
$risultato=mysql_query($query_limit,$connessione) or die ("Errore nella query:" . mysql_error()); 
while($riga=mysql_fetch_array($risultato)) 
{?> 
<tr> 
<td height="22" width="20%"><h4><b>Anno Ripresa</b></td> 
<td height="22" width="20%"><h4><b>Id</b></td> 
</tr> 
<tr> 
<?php echo "<tr>"; 
echo "<td>". $riga['AnnoRipresa'] . "</td>"; 
echo "<td>" . $riga['Id'] . "</td>"; 
echo "</tr>"; 
} 
if($numero_pagine > 1){ 
     for($pagina = 1; $pagina <= $numero_pagine; $pagina++){ 
          if($pagina == $pagina_corrente){ 
               echo"<b>".$pagina."</b>"; 
          }else{ 
               echo"<a href='default.php?inizio=".(($pagina - 1) * $numero_record)."'>".$pagina."</a>"; 
          } 
     } 
} 
?>


Il risultato? Mi fa vedere i primi 3 risultati in una pagina...quando clicco sulla successiva mi compaiono i primi 3 records del DB e così per le altre.....pensavo di esserci riuscita...ma niente anche stavolta.
Vi prego.....c'è qualcuno che può aiutarmi?
 

claudia

Utente Attivo
30 Gen 2006
39
0
0
Ho finalmente risolto il problema......posto la pagina, forse a qualcuno potrebbe servire.
Comunque grazie a tutti per i consigli
Codice:
<?php 
$db_host="..........";
$db_user=".........";
$db_password="...........";
$db_database="...........";

$connessione=mysql_connect($db_host,$db_user,$db_password) or die ("Errore nella connessione al Mysql:" . mysql_error());
mysql_select_db($db_database,$connessione) or die ("Errore nella selezione del db:" . mysql_error());

$numero_record = 3; 
if(!isset($_GET["inizio"])){ 
    $inizio = 0; 
}else{ 
    $inizio = $_GET["inizio"]; 
}  
$Foto = (isset($_POST["Foto"]) ? $_POST["Foto"] : base64_decode($_GET["Foto"]));
$AnnoRipresa = (isset($_POST["AnnoRipresa"]) ? $_POST["AnnoRipresa"] : base64_decode($_GET["AnnoRipresa"]));
$Id = (isset($_POST["Id"]) ? $_POST["Id"] : base64_decode($_GET["Id"]));

$query_limit="SELECT AnnoRipresa, Id, Foto 
FROM nome_tabella 
WHERE AnnoRipresa LIKE '%".addslashes($AnnoRipresa)."%'
order by Id limit $inizio, $numero_record"; 

$query = mysql_query($query_limit) or die(mysql_error());

$select="SELECT count(*) FROM nome_tabella 
WHERE AnnoRipresa LIKE '%".addslashes($AnnoRipresa)."%'"; 

$query2 = mysql_query($select); 

$numero_record_totali = mysql_fetch_row($query2);
$numero_record_totali = $numero_record_totali[0];
$numero_pagine = ceil($numero_record_totali/$numero_record);  

$pagina_corrente = ceil(($inizio/$numero_record) + 1);

$this_Foto = "";
$this_AnnoRipresa = "";
$this_Id = "";

while($riga=mysql_fetch_array($query))
{
$this_Foto=$riga['Foto'];
$this_AnnoRipresa=$riga['AnnoRipresa'];
$this_Id=$riga['Id'];
?>
<img src="ridimensiona.php?Foto=<?php print ("$this_Foto");?>">
<?php 
echo . $this_AnnoRipresa .;
echo . $this_Id .;
} 

 if($numero_pagine > 1){ 
     for($pagina = 1; $pagina <= $numero_pagine; $pagina++){ 
          if($pagina == $pagina_corrente){ ?>
              <b><?echo $pagina;?></b> <br>
         <?php  }else{
echo"<a href=\"pagina.php?inizio=".(($pagina - 1) * $numero_record)."&amp;AnnoRipresa=".base64_encode($AnnoRipresa).
"&amp;Id=".base64_encode($Id).
"&amp;Foto=".base64_encode($Foto)."\">".$pagina."</a>";
          
} 
} 
} 

?>
 

claudia

Utente Attivo
30 Gen 2006
39
0
0
Recuperando il mio post precedente vorrei chiedere a qualcuno come fare per modificare la visualizzazione della paginazione....mi spiego meglio: con il codice da me postato io riesco a visualizzare il numero totale dei record e il numero delle pagine (1 2 3 4.....) è possibile sostituire questi ultimi con due < > che mi consentano di navigare avanti e indietro nei risultati?
 

claudia

Utente Attivo
30 Gen 2006
39
0
0
Ho risolto.....posto il codice modificato
Codice:
if($numero_pagine > 1){ 

     if ($pagina_corrente > 1) 
    echo"<a href=\"pagina.php?inizio=".(($pagina_corrente - 2) * $numero_record)."&amp;AnnoRipresa=".base64_encode($AnnoRipresa). 
        "&amp;Id=".base64_encode($Id). 
        "&amp;Foto=".base64_encode($Foto)."\">&lt;&lt;</a>"; 
     
     if ($pagina_corrente < $numero_pagine)
    echo"<a href=\"pagina.php?inizio=".(($pagina_corrente) * $numero_record)."&amp;AnnoRipresa=".base64_encode($AnnoRipresa). 
            "&amp;Id=".base64_encode($Id). 
            "&amp;Foto=".base64_encode($Foto)."\">&gt;&gt;</a>"; 
  
}
 
Discussioni simili
Autore Titolo Forum Risposte Data
elpirata [PHP] Paginazione dati estratti da una query con più condizioni PHP 17
L articolo: Paginazione dei dati presenti in un file di testo - informazioni PHP 2
D Paginazione dati PDO PHP 8
L testare una paginazione "Creazione di 1000 dati random in una tabella" PHP 7
L Problema paginazione che ripete i dati doppi PHP 1
L probelma paginazione dati PHP 3
P paginazione dati mysql PHP 2
S Paginazione di dati con ASP e MySQL Classic ASP 3
D Paginazione dei dati estratti da un db MySQL PHP 5
C Paginazione dei dati presenti in un file di testo PHP 2
K Paginazione dati PHP 1
C Paginazione dei dati presenti in un file di testo PHP 0
I Errore 80040220 nella newsletter con paginazione Classic ASP 0
motleyrulez Paginazione Tabella Bootstrap Javascript 2
B [Java] Paginazione in risposta HTTP Java 0
L [PHP] paginazione con classi vendor PHP 2
K [PHP] Paginazione Wordpress: passare variabile PHP 6
A [PHP] If e Else paginazione ok ci sono risultati no ma avanti lo stesso PHP 15
paloppa [PHP] paginazione con ajax PHP 1
O paginazione php mysql PHP 10
A [PHP] limitare counter paginazione PHP 7
V [ASP] paginazione-risultati-query-grandi-dimensioni Classic ASP 8
A [PHP] Problema paginazione motore di ricerca PHP 48
A [PHP] inserire paginazione su script php/mysql PHP 6
Marcello.Fiore Paginazione jQuery - PHP jQuery 2
X come modificare paginazione del tutorial PHP 0
MarcoGrazia Problema con bootstrap, saltata tutta la paginazione in IE8 HTML e CSS 1
F paginazione record di una query Classic ASP 5
Luca13 ASP Easy-News paginazione Classic ASP 2
G Problema di Indice e Paginazione PHP 5
M Paginazione di risultati query mysql PHP 2
zorro Help paginazione PHP 10
M Problema su numerazione paginazione php PHP 6
D [risolto] Problemi di paginazione dei risultati con una determinata query Classic ASP 4
L paginazione testo senza troncare le parole PHP 3
L problema paginazione con valori -1 -2 -3 -4 PHP 0
N Paginazione con invio modulo PHP 0
L Paginazione file di testo PHP 3
N Script paginazione PHP 0
N Paginazione PHP 2
felino Pagina di ricerca: la paginazione non funziona WordPress 0
xone Evitare Meta Tag duplicati su paginazione php PHP 2
filippino Paginazione file txt con PHP? PHP 1
felino PHP e Paginazione Jquey PHP 2
H [RISOLTO] paginazione PHP + mysql PHP 15
M Problema Paginazione con Mod_rewrite .htaccess PHP 0
J Paginazione PHP in jQuery UI Tabs jQuery 13
ste80 interazione PHP Access con paginazione PHP 7
W Problema eliminazione ultimo record da ultima pagina di crud con paginazione PHP 2
L Paginazione con pdo. PHP 8

Discussioni simili