Salve a tutti
Ho una pagina php che estrae i dati da un database e li visualizza su una tabella filtrandoli con dei parametri inseriti dall'utente. Tutto funziona correttamente. Sucessivamente ho inserito del codice per paginare i risultati della query, ma nonostante i collegamenti vengono creati e visualizzati correttamente non mi viene mostrato il risultato corretto.
In pratica succede questo.
ES. :
* l'utente insrisce i parametri di ricerca
* la query estrae i dati e i primi 10 vengono stampati nella tabella
* viene creato il collegamento alle pagine rimanenti. es: 1 2 3
* Se clicco sul due la tabella scompare e per vedere i risultati selezionati (dal 11 al 20) devo cliccare sul submit "Cerca"
Questo il codice della pagina
Perche non mi funziona? Qualcuno può darmi qualche dritta?
Grazie a tutti per la pazienza
Carlo
Ho una pagina php che estrae i dati da un database e li visualizza su una tabella filtrandoli con dei parametri inseriti dall'utente. Tutto funziona correttamente. Sucessivamente ho inserito del codice per paginare i risultati della query, ma nonostante i collegamenti vengono creati e visualizzati correttamente non mi viene mostrato il risultato corretto.
In pratica succede questo.
ES. :
* l'utente insrisce i parametri di ricerca
* la query estrae i dati e i primi 10 vengono stampati nella tabella
* viene creato il collegamento alle pagine rimanenti. es: 1 2 3
* Se clicco sul due la tabella scompare e per vedere i risultati selezionati (dal 11 al 20) devo cliccare sul submit "Cerca"
Questo il codice della pagina
PHP:
<?php
include 'header.php';
?>
<div id="wrapper1">
<?php
if(!isset($_POST['cerca'])){ ?>
<form method="post" action="#" id="formcerca">
<ul>
<li>
<label for="isbn">ISBN del libro.</label>
<input type="number" name="isbn" id="isbn" value=""/>
</li>
<li>
<label for="testo">Parola contenuta nel titolo del libro.</label>
<input type="text" name="testo" id="testo" />
</li>
<br>
<input type="submit" name="cerca" id="cerca" value="Cerca" />
</ul>
</form>
<div id="divinfo">
<center><img src="Immagini/info.jpeg" style=pos/></center>
<h5>
<p>Per la ricerca di un testo di tuo interesse puoi usare tutto o parte del codice ISBN e/o titolo del libro.</p>
</h5>
</div>
<?php } else {
$isbn = mysql_real_escape_string($_POST['isbn']);
$testo = mysql_real_escape_string($_POST['testo']);
?>
<form method="post" action="#" id="formcerca">
<ul>
<li>
<label for="isbn">ISBN del libro.</label>
<input type="number" name="isbn" id="isbn" value="" />
</li>
<li>
<label for="testo">Parola contenuta nel titolo del libro.</label>
<input type="text" name="testo" id="testo" />
</li>
<br>
<input type="submit" name="cerca" id="cerca" value="Cerca" />
</ul>
</form>
<div id="divinfo">
<center><img src="Immagini/info.jpeg" style=pos/></center>
<h5>
<p>Per la ricerca di un testo di tuo interesse puoi usare tutto o parte del codice ISBN e/o titolo del libro.</p>
<p>Usa il link sulla colonna "Contatti" della tabella sottostante per inviare una email al venditore. </p>
</h5>
</div>
</div>
<?php echo "<p1></p1>";?>
<div id="table" class="tabella">
<?php
$cerca = mysql_query("SELECT * FROM libri WHERE isbn LIKE '%$isbn%' AND titolo LIKE '%$testo%'");
$contacerca= mysql_num_rows($cerca);
//inizio codice paginazione.Il codice paginazione è stato aggiunto per inserire la paginazione della tabella
// per ripristinare eliminare tutto codice paginazione
$per_pagina = 10 ;
$tot_pagine=ceil($contacerca / $per_pagina);
//pausa codice paginazione e continua codice originale
if($contacerca > 0){
echo "<p1> <h3>Sono stati trovati <strong>".$contacerca."</strong> libri in vendita.</h3></p1>";
//continua codice paginazione
//pagina corrente
if (isset($_GET['idpag'])){
$idpag=$_GET['idpag'];
} else {
$idpag = 1 ;
}
//calcolo numero iniziale e finale che andranno a limitare la query
if($idpag == 1){
$inizio = 0 ;
} else {
$inizio = ($idpag * $per_pagina) - $per_pagina;
}
// ripeto query con limitazioni record
$result=mysql_query("SELECT * FROM libri WHERE isbn LIKE '%$isbn%' AND titolo LIKE '%$testo%' LIMIT $inizio, $per_pagina");
//pausa codice paginazione e continua codice originale
?>
<table id="table">
<tr>
<TH colspan="8" scope="colgroup" align="center">Elenco dei libri corrispondenti alla tua ricerca.</TH>
</tr>
<tr align="center">
<td><b>ISBN</b></td>
<td><b>Titolo</b></td>
<td><b>Autore</b></td>
<td><b>Editore</b></td>
<td><b>Prezzo Copertina</b></td>
<td><b>Prezzo Richiesto</b></td>
<td><b>Stato</b></td>
<td><b>Contatti</b></td>
</tr>
<?php
while($row=mysql_fetch_assoc($result)){ // sostituire $result con $cerca per ripristinare modifiche paginazione
?>
<tr align="center" >
<td><?php echo $row['isbn']?></td>
<td><?php echo $row['titolo']?></td>
<td><?php echo $row['autore']?></td>
<td><?php echo $row['editore']?></td>
<td><?php echo $row['prezzo_cop']?></td>
<td><?php echo $row['prezzo_ric']?></td>
<td><?php echo $row['stato']?></td>
<!--<?php $id=$row['id'] ?>-->
<td><a href= "email.php?cod=<?php echo $id?>">Contatta il venditore</a></td>
</tr>
<?php }} else {
echo "Attualmente non risulta inserito nessun libro corrispondente ai tuoi criteri di ricerca. ";
exit();
}
?>
</div> <!--fine div tabella-->
<!-- inizio codice paginazione-->
<div style="float: right;">
<?php
if($idpag>1){?>
<span style="text-decoration: underline; margin-right: 10px"><a href="?idpag=<?php echo ($idpag-1);?>"><</a></span>
<?php }else{?>
<span><</span>
<?php }
$i=1;
do{
//Link per scorrere le pagine: la pagina corrente ha un aspetto diverso
if($i==$idpag){?>
<span style="text-decoration: none; font-weight: bold; margin-right: 10px"><a href="?idpag=<?php echo $i;?>"><?php echo $i;?></a></span>
<?php }else{?>
<span style="text-decoration: underline; margin-right: 10px"><a href="?idpag=<?php echo $i;?>"><?php echo $i;?></a></span>
<?php }
$i++;
}while($i<=$tot_pagine);
if($idpag<$tot_pagine){?>
<span style="text-decoration: underline; margin-right: 10px"><a href="?idpag=<?php echo ($idpag+1);?>">></a></span>
<?php }else{?>
<span>></span>
<?php }?>
</div>
<!--fine codice paginazione-->
<?php
}
?>
</body>
</html>
Perche non mi funziona? Qualcuno può darmi qualche dritta?
Grazie a tutti per la pazienza
Carlo