Condividi:        

[Php] Impaginazione risultato

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Anthony47, Triumph Of Steel, archimede

[Php] Impaginazione risultato

Postdi Xavier » 27/10/06 16:15

Salve a tutti voi..

Ho un problema, io tramite una query estraggo da un db mysql dei valori.

Ora vorrei fare in modo che per pagina si visualizzano 5 risultati, mentre i rimanenti si distribuiscono su più pagine accessibili attraverso dei pulsanti..

spero di essermi spiegato, per maggiori info vi allego la pagina in cui vorrei fare questa impaginazione..
Codice: Seleziona tutto
<html>
<head>

<link rel="stylesheet" type="text/css" href="template/my_css.css">

<title>Index - Home Page - Prima Pagina</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<style>
body
 {
 color:#FFF00;
 font-weight:bold;
 }

a {color:#00000;}
</style>

<script type="text/javascript">
function cursor(text)
{
trail.innerHTML=text
trail.style.visibility="visible"
//trail.style.position="absolute"
trail.style.left=event.clientX+10
trail.style.top=event.clientY
}

function hidecursor()
{
trail.style.visibility="hidden"
}
</script>
</head>

<body>
<br>
<table width="60%" border="0" align="center">
  <tr>
    <td><div align="center"><img src="*****" width="100%"></div></td>
  </tr>
</table>
<br>
<br>
<br>
<br>
<table width="60%" border="0" align="center">
  <tr>
    <td><div align="center"><h1 class="title">Home Page<h1></div></td>
  </tr>
</table>
<br>
<br>
<br>
<br>
<br>
<p align="center">

<div align="center" width="80%">

<table width="40%" border="0" align="center">
  <tr>
    <td>
<div align="center"><strong><a href="login.php" onmousemove="cursor('Consente di registrarti al sito o di usufruire dei servizi')" onmouseout="hidecursor()">Login</a></strong></div></td>
  </tr>
</table>
<br>
<br>
<br>

<table width="60%" border="0" align="center">
  <tr>
    <td><div align="center"><img src="*******" width="100%"></div></td>
  </tr>
</table>

<span id="trail" style="visibility:hidden" align="right"></span>
<br>
<br>
<br>
<form name="news" >
<?php
//includo il file di configurazione
include("dbconfig.php");

//creo la connessione con il database
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
  die ("Errore nella connesione ".mysql_error());
//seleziono il database desiderato
mysql_select_db($db_database, $db)
or die ("Errore nella selezione del database ".mysql_error());

$sql = "SELECT * FROM tbl_news";

//seleziono tutte le news contenute nel sito..
$result = mysql_query ($sql, $db);
//ricavo i dati dal db
$row = mysql_fetch_array ($result);
//numero di riche contenente i dati
$num = mysql_num_rows($result);

echo"
<table width='25%' border='1' align='center'>
  <tr>
    <td><div align='left'><h1 class='title'>News<h1></div></td>
  </tr>
</table>

<br>";

if ($num == 0)
  { //non sono presenti delle news
  echo"
    <table width='25%' border='1' align='center'>
      <tr>
         <td><div align='center'>Non ci sono Novità riguardanti il gestore. <br> Gli amministratori aspettano vostri consigli per migliorare il servizio./div></td>
      </tr>
    </table>";
  }
  else
  {//sono presenti delle news
    do{ //while per ripetere le news
    echo"
    <table width='25%' border='1' align='center'>
      <tr>
          <td width='40%' class='panel'>Titolo: <b>".$row['titolo']."</></td>
       </tr>
       <tr>      
         <td width='10%'>Data: ".$row['data']."</td>
      </tr>
      <tr>
         <td colspan='2' class='panel'>Oggetto: ".$row['oggetto']."</td>
      </tr>
      <tr>
         <td colspan='2'>Testo:<br>".$row['testo']."</td>
      </tr>
     </table><br>";
        
    } while($row = mysql_fetch_array ($result));
  }

?>
</form>

<span id="trail" style="visibility:hidden" align="right"></span>
</div>
</body>
</html>
grazie infinite per il vostro aiuto
alessandro
Ciò che molti non capiscono è una banalità per altri..
----------------------------------------------------------
Siederò sulla sponda del fiume aspettando che passi il tuo cadavere.
Xavier
Utente Junior
 
Post: 55
Iscritto il: 11/08/06 13:53

Sponsor
 

Postdi Triumph Of Steel » 27/10/06 17:50

ti posso proporre il codice che utilizzo io:

Da inserire all'inizio della pagina:
Codice: Seleziona tutto
// Set The Page //
$maxPerPage   =  10;
$startP   = (isset($_REQUEST['startP']))   ? $_REQUEST['startP']   : 0;
$step   = (isset($_REQUEST['step']))   ? $_REQUEST['step']   : $maxPerPage;

SPIEGAZIONE ha scritto:maxPerPage = quanti risultati per pagina
startP = variabile di navigazione
step = variabile di navigazione


nella tua Query principale, devi aggiungere:

Codice: Seleziona tutto
LIMIT ".$startP.",".$step."



dopo la query principale, e alla fine della pagina (oppure dove vuoi posizionare la navigazione)
Codice: Seleziona tutto
//####    NUM PAGES      ####//
$tabella   = "NOME_DELLA_TUA_TABELLA";
$qry      = "   SELECT COUNT(*) AS tot
         FROM ".$tabella."  ";
$res      = mysql_query($qry,$conn);
$row      = mysql_fetch_array($res);
$mTot      = $row['tot'];
$pages      = intval(($row['tot']-1) / $step) + 1;


// START Put Next & Back //
$nextBack      = "";
$useJumpMenu   = "";
if ($startP > 0)   {
   $start_back = $startP - $step;
   $nextBack .= "<a href="pagina.php?startP=".start_back."">precedente</a></span> ";
}

for ($i=0; $i<$pages; $i++)   {
      $start_page = $i * $step;
      //$start_page   = $i;
      $zz      = $i + 1;
      $br      = (($zz % 25) == 0)   ? " | <br>" : "";
      $nextBack   .= ($start_page == $startP)   ?
            " | <strong>".($zz)."".$br."</strong></span> " :
            " | <a href="pagina.php?startP=".$start_page."" class="nextLink">".($zz)."</a>".$br."";
}
if ($startP + $step < $row['tot']) {
   $start_next = $startP + $step;
   $nextBack   .= "<a href="pagina.php?startP=".$start_next."" class="nextLink">prossimo</a>";
}
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Postdi alice1 » 30/10/06 09:45

Ciao,
ho provato il tuo codice....ma non riesco a visualizzare la navigazione, e soprattutto non riesco a capire qual'è la parte di codice che si riferisce alla visualizzazione della navigazione.
Grazie Alice1
alice1
Utente Junior
 
Post: 28
Iscritto il: 29/03/06 12:51

Postdi alice1 » 30/10/06 09:52

Ho capito qual'è...ma non riesco a visualizzarla
alice1
Utente Junior
 
Post: 28
Iscritto il: 29/03/06 12:51

Postdi Triumph Of Steel » 30/10/06 17:36

la variabile della navigazione è

Codice: Seleziona tutto
$nextBack


ti basta fare un
Codice: Seleziona tutto
echo $nextBack;
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00


Torna a Programmazione


Topic correlati a "[Php] Impaginazione risultato":


Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti