Newsgroup: it.comp.www.php
Titolo: problema paginazione

Salve a tutti.... ho il problema della paginazione e purtroppo non
riesco a capire come mai non funziona!!!
Mi potreste dire cosa c'è di sbagliato?
Non mi visualizza i dati. Mi conta solo i dati presenti nella mia
tabella (tutti non seguendo la query impostata). Mi visualizza le
pagine (quelle della paginazione) e basta.
code:
// esecuzione prima query
$query = "SELECT  * " .
         "FROM ".$prefix."_dati , ".$prefix."_regioni ,
".$prefix."_provincie ".
		 "WHERE ".$prefix."_dati.Regione = ".$prefix."_regioni.r_id " .
         "AND ".$prefix."_dati.Provincia = ".$prefix."_provincie.p_id "
.
         "ORDER BY Nome";
$records = mysql_query($query)
  or die(mysql_error());
// numero totale di records
$tot_records = mysql_num_rows($records);
// risultati per pagina(secondo parametro di LIMIT)
$per_page = 4;
// 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;
echo "<div align=\"center\">\n<table width=\"90%\"  border=\"0\"
cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n";
// esecuzione seconda query con LIMIT
$query_limit = mysql_query("SELECT regioni, provincie, Provincia, Nome,
Descrizione, Informazioni FROM ".$prefix."_dati, ".$prefix."_regioni ,
".$prefix."_provincie WHERE ".$prefix."_dati.Regione =
".$prefix."_regioni.r_id AND ".$prefix."_dati.Provincia =
".$prefix."_provincie.p_id AND Provincia = '$_GET[prov]' AND Regione =
'$_GET[rg]' LIMIT $primo, $per_page");
$totale = mysql_num_rows($records);
$i=1;
while($results = mysql_fetch_array($query_limit)) {
extract($row);
if ($i==1) {
echo "<center><b>"._Title." </b><br><br></center><br>";
echo "Sono presenti nel nostro archivio <b>".$records."</b> dati per la
provincia di <b>$provincie </b><br><br>";
}
$i++;
echo " <tr>\n <td>";
 echo "<font class=\"dati\"><center>" . $results['Nome'] .
"</center></font>";
  echo "<table width=\"90%\"  border=\"0\" cellspacing=\"0\"
cellpadding=\"0\" align=\"center\">"
    . "  <tr>"
  . "    <td bgcolor=\"#B0C6B8\" align=\"left\"
width=\"20%\">Descrizione:</td>"
  . "    <td width=\"80%\">" . $results['Descrizione'] . "</td>"
  . "  </tr>"
  . "  <tr>"
  . "    <td bgcolor=\"#C1DDBA\" align=\"left\"
width=\"20%\">Informazioni:</td>"
  . "    <td width=\"80%\">" . $results['Informazioni'] . "</td>"
  . "  </tr>"
  . "</table><br>";
echo "</td>\n </tr>\n";
}
// includiamo uno dei files contenenti la paginazione, commentate
l'altro ovviamente
include("paginazione_2.php");
//include("paginazione_2.php");
// in questa cella inseriamo la paginazione
echo " <tr>\n <td height=\"50\" valign=\"bottom\"
align=\"center\">$paginazione</td>\n";
echo " </tr>\n</table>\n</div>";
------------------------------------------------------------------
Mentre questo è il codice della paginazione:
code:
$paginazione = "Pagine totali: <b>" . $tot_pages . "</b>  [";
for($i = 1; $i <= $tot_pages; $i++) {
if($i == $current_page) {
$paginazione .= $i . " ";
} else {
$paginazione .= "<a
href=\"?name=sagre&rg=$Regione&prov=$Provincia&page=$i\" title=\"Vai
alla pagina $i\">$i</a> ";
}
}
$paginazione .= "]";
------------------------------------------------------------------
Avrei urgenza di risolvere questo problema, sono giorni che non riesco
a trovare una soluzione!!!
Ringrazio chi mi risponderà!!! 
Ciao

 [spezzoni di sorgente malamente formattati da googlegroups]
Primo spezzone:
1:  <?
2:  // esecuzione prima query
3:  $query = "SELECT  * " .
4:           "FROM ".$prefix."_dati , ".$prefix."_regioni ,
         "FROM ".$prefix."_dati , ".$prefix."_regioni ,
                         \_ HERE
**** 4: ERROR: variable `$prefix' has not been assigned
5:  ".$prefix."_provincie ".
6:           "WHERE ".$prefix."_dati.Regione =
7:           ".$prefix."_regioni.r_id " .
8:       "AND ".$prefix."_dati.Provincia = ".$prefix."_provincie.p_id "
9:  .
10:      "ORDER BY Nome";
11: 
12: $records = mysql_query($query)
13:   or die(mysql_error());
  or die(mysql_error());
        \_ HERE
**** 13: ERROR: `exit' (aka `die') isn't a function, it is an instruction
14: 
15: // numero totale di records
16: $tot_records = mysql_num_rows($records);
$tot_records = mysql_num_rows($records);
                                       \_ HERE
**** 16: ERROR: calling function `mysql_num_rows', argument no. 1: found 
`boolean', required `resource'
17: 
18: // risultati per pagina(secondo parametro di LIMIT)
19: $per_page = 4;
20: 
21: // numero totale di pagine
22: $tot_pages = ceil($tot_records / $per_page);
23: 
24: // pagina corrente
25: $current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
$current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
                                \_ HERE
**** 25: ERROR: invalid argument of type mixed for the boolean operator `!'. 
Expected boolean value.
26: 
27: // primo parametro di LIMIT
28: $primo = ($current_page - 1) * $per_page;
29: 
30: echo "<div align=\"center\">\n<table width=\"90%\"  border=\"0\"
31: cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n";
32: 
33: // esecuzione seconda query con LIMIT
34: $query_limit = mysql_query("SELECT regioni, provincie, Provincia, Nome,
35: Descrizione, Informazioni FROM ".$prefix."_dati, ".$prefix."_regioni ,
36: ".$prefix."_provincie WHERE ".$prefix."_dati.Regione =
37: ".$prefix."_regioni.r_id AND ".$prefix."_dati.Provincia =
38: ".$prefix."_provincie.p_id AND Provincia = '$_GET[prov]' AND Regione =
39: '$_GET[rg]' LIMIT $primo, $per_page");
40: $totale = mysql_num_rows($records);
$totale = mysql_num_rows($records);
                                  \_ HERE
**** 40: ERROR: calling function `mysql_num_rows', argument no. 1: found 
`boolean', required `resource'
41: $i=1;
42: while($results = mysql_fetch_array($query_limit)) {
while($results = mysql_fetch_array($query_limit)) {
                                                 \_ HERE
**** 42: Warning: `while(EXPR)': expected expression of the type boolean, but 
found an array value. Remember that an array with zero elements evaluates to 
FALSE, and an array with one or more elements evaluates to TRUE. Suggest to 
use `count(EXPR) > 0'.
43: extract($row);
extract($row);
             \_ HERE
**** 43: ERROR: variable `$row' has not been assigned
44: if ($i==1) {
45: echo "<center><b>"._Title."
echo "<center><b>"._Title."
                          \_ HERE
**** 45: ERROR: undeclared constant `_Title'. I will assume type mixed and 
value undefined and continue anyway.
46: </b><br><br></center><br>";
47: echo "Sono presenti nel nostro archivio <b>".$records."</b>
echo "Sono presenti nel nostro archivio <b>".$records."</b>
                                                      \_ HERE
**** 47: ERROR: operator `.', right side: invalid value of type boolean, 
expected a string
48: dati per la
49: provincia di <b>$provincie </b><br><br>";
provincia di <b>$provincie </b><br><br>";
                                        \_ HERE
**** 49: ERROR: variable `$provincie' has not been assigned
50: }
51: $i++;
52: 
53: echo " <tr>\n <td>";
54:  echo "<font class=\"dati\"><center>" . $results['Nome'] .
55: "</center></font>";
56:   echo "<table width=\"90%\"  border=\"0\" cellspacing=\"0\"
57: cellpadding=\"0\" align=\"center\">"
58:     . "  <tr>"
59:   . "    <td bgcolor=\"#B0C6B8\" align=\"left\"
60: width=\"20%\">Descrizione:</td>"
61:   . "    <td width=\"80%\">" . $results['Descrizione']
62:   . "</td>"
63:   . "  </tr>"
64:   . "  <tr>"
65:   . "    <td bgcolor=\"#C1DDBA\" align=\"left\"
66: width=\"20%\">Informazioni:</td>"
67:   . "    <td width=\"80%\">" . $results['Informazioni']
68:   . "</td>"
69:   . "  </tr>"
70:   . "</table><br>";
71: echo "</td>\n </tr>\n";
72: 
73: }
74: 
75: // includiamo uno dei files contenenti la paginazione, commentate l'altro 
ovviamente
76: include("paginazione_2.php");
include("paginazione_2.php");
                             \_ HERE
**** 76: Warning: include "paginazione_2.php" use relative pathfile, check 
`include_path' in php.ini
77: //include("paginazione_2.php");
78: 
79: // in questa cella inseriamo la paginazione
80: echo " <tr>\n <td height=\"50\" valign=\"bottom\"
81: align=\"center\">$paginazione</td>\n";
align=\"center\">$paginazione</td>\n";
                                     \_ HERE
**** 81: ERROR: variable `$paginazione' has not been assigned
82: 
83: echo " </tr>\n</table>\n</div>";
84: ?>
Overall test results: 10 errors, 2 warnings.
Secondo spezzone di codice:
1:  <?
2:  $paginazione = "Pagine totali: <b>" . $tot_pages . "</b>  [";
$paginazione = "Pagine totali: <b>" . $tot_pages . "</b>  [";
                                                  \_ HERE
**** 2: ERROR: variable `$tot_pages' has not been assigned
3:  for($i = 1; $i <= $tot_pages; $i++) {
for($i = 1; $i <= $tot_pages; $i++) {
                             \_ HERE
**** 3: Warning: comparing (int) <= (unknown): cannot check the comparison 
between unknown types
4:  if($i == $current_page) {
if($i == $current_page) {
                       \_ HERE
**** 4: ERROR: variable `$current_page' has not been assigned
if($i == $current_page) {
                       \_ HERE
**** 4: Warning: comparing (int) == (unknown): cannot check the comparison 
between unknown types
5:  $paginazione .= $i . " ";
6:  } else {
7:  $paginazione .= "<a
8:  href=\"?name=sagre&rg=$Regione&prov=$Provincia&page=$i\"
9:  title=\"Vai
10: alla pagina $i\">$i</a> ";
alla pagina $i\">$i</a> ";
                         \_ HERE
**** 10: ERROR: variable `$Regione' has not been assigned
alla pagina $i\">$i</a> ";
                         \_ HERE
**** 10: ERROR: variable `$Provincia' has not been assigned
11: }
12: }
13: $paginazione .= "]";
14: ?>
Overall test results: 4 errors, 2 warnings.
Ciao,
 ___ 
/_|_\  Umberto Salsi
\/_\/  
www.icosaedro.it