Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    10

    Richiesta Di Aiuto Per Paginazione Dati Estratti Da Database Mysql

    Ciao a tutti , chiedo gentilmente se qualcuno mi puo' aiutare a paginare il seguente listato:




    <html>
    <head>
    <title>Estrazione record</title>
    <link rel="stylesheet" type="text/css" href="style.css">
    </head>
    <body bgcolor="#99CCCC">
    <table width="750" bgcolor="#0000FF" align="center" cellpadding="0" cellspacing="5" border="0">
    <tr>
    <td>
    <div align="center"><h1><font color="#FFFFFF">ARTICOLI TROVATI</font></h1></div>
    <table align=center border=1 bgcolor=ffffff><tr>
    <td width=25>id</td><td width=50>cod.art</td><td width=450>descrizione</td><td width=50>cd_marca</td><td width=60>listino</td><td width=30>sc. 1</td><td width=30>sc. 2</td><td width=60>prezzo_netto</td></tr></table>



    </td>
    </tr>
    </table>


    <table bgcolor="#FFFFCC" border="1" cellpadding="4" cellspacing="0" width="750" align="center">
    <?php




    $cerca2=$_POST["cerca"];
    $cerca2=trim($cerca2);
    include("mysql.php");
    $dati = mysql_query("select id, cod_art, descrizione from condi where descrizione LIKE '%".$cerca2."%' OR descrizione LIKE '%".$cerca2."%'");
    while ($array = mysql_fetch_array($dati))


    {
    echo "<tr>";
    echo "<td>$array[descrizione]</td> ";
    echo "<td><a href=\"06_dettagli.php?id=$array[id]\">dettagli</td> ";
    echo "</tr>";
    }




    mysql_close();
    ?>
    </table>
    </body>
    </html>


    gradirei dividere le pagine visualizzando 20 record per pagina e poi avere i link
    cliccabili per andare avanti e indietro .
    Ringrazio sin d'ora quanti vorranno darmi aiuto .

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Il codice qui sotto non è stato testato comunque è un buon spunto.
    Si premette che la pagina si chiami :http://www.miosito.it/visualizzadati.php
    La connessione al DB non è scritta ma comunque va fatta all'inizio della pagina.
    La variabile che contiene il numero del record da cui iniziare la visualizzazione si chiama "cominciada".

    codice:
       <?php 
    	 //-------- All'inizio della pagina
    	 if (isset($_GET['cominciada'])) {
    	  if (is_numeric($_GET['cominciada'])) {
    		 $start = $_GET['cominciada'];
    		} else {
    		 $start = 0;
    		} // 
    	 } else {
    	  $start = 0;
    	 } // if (isset($_GET['cominciada'])) 
    	 //------- N° di record per pagina
    	 $recordPerPagina = 20; ?>
    
       <?php 
    	  //-------- Conta dei records della tabella
    		$queryList = "select count(*) as compteEnreg "
                   . " from mia_tabella";
        $resList   = mysql_query($queryList) or die(mysql_error());
        list($contaRecord) = mysql_fetch_array($resList); ?>
    
    	 <?php 
    	  //------- Query con limit
    		$queryList = "select * "
                  . " from mia_tabella"
                  . " LIMIT $start, $recordPerPagina";
    	  //------- Qui il codice che stampa a video i records  ?>
    
        
        <table cellspacing=1 bordercolor="black">
         <tr>
    		  <td class="text">Pagine :</td> 
    			<td class="text"><?
           //----- Calcolo del numero di pagine
           $x	  = $contaRecord/$recordPerPagina ;
           $y   = (integer) $x;
           //----- Nel caso in cui ci fosse una pagina residua
           if ( $x <> $y ) { $x++; }
           $numero_pagine = $x;
           $index         = 1;
           while ($index <= $numero_pagine) {
            $cominciaDa = ($index - 1) * $recordPerPagina; ?>		
    			  "><? print $index?> <?
            $index++;	
    			 } // while ($index <= $numero_pagine) ?>
    			</td>
    		 </tr>
        </table>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Sempre non testato.

    codice:
    <?php
    	 //-------- All'inizio della pagina
    	 if (isset($_GET['cominciada'])) {
    	  if (is_numeric($_GET['cominciada'])) {
    		 $start = $_GET['cominciada'];
    		} else {
    		 $start = 0;
    		} // 
    	 } else {
    	  $start = 0;
    	 } // if (isset($_GET['cominciada'])) 
    	 //------- N° di record per pagina
    	 $recordPerPagina = 20;  
    	 
    	 if (isset($_POST["cerca"])) {
      	$cerca2 = $_POST["cerca"]; 
    	 } else {
    	  //----- Guardo se "cerca" non è stata trasmessa da un link di questa pagina
    		if (isset($_GET["cerca"])) {
    	   $cerca2 = $_GET["cerca"];		
    		} else {
    		 $cerca2 = "";
    		}
    	 } // if (isset($_POST["cerca"]))
    	 $cerca2 = trim($cerca2); ?>
    
    <html> 
    <head> 
    <title>Estrazione record</title> 
    <link rel="stylesheet" type="text/css" href="style.css">
    </head> 
    <body bgcolor="#99CCCC"> 
    <table width="750" bgcolor="#0000FF" align="center" cellpadding="0" cellspacing="5" border="0"> 
    <tr> 
    <td> 
    <div align="center"><h1><font color="#FFFFFF">ARTICOLI TROVATI</font></h1></div>
    <table align=center border=1 bgcolor=ffffff><tr>
    <td width=25>id</td><td width=50>cod.art</td><td width=450>descrizione</td><td width=50>cd_marca</td><td width=60>listino</td><td width=30>sc. 1</td><td width=30>sc. 2</td><td width=60>prezzo_netto</td></tr></table>
    
    
     
    </td> 
    </tr> 
    </table> 
    
     
    <table bgcolor="#FFFFCC" border="1" cellpadding="4" cellspacing="0" width="750" align="center"> <?php 
    include("mysql.php");
    //------- Qui si conta il numero di records tenendo conto dalla stringa di ricerca
    $qconta = "select count(*) as conta from condi where "
            . "descrizione LIKE '%".$cerca2."%' OR descrizione LIKE '%".$cerca2."%'";
    $res    = mysql_query($qconta);
    list($contaRecord) = mysql_fetch_array($res);
    //------- Qui si selezionano i records tenendo conto dal numero di record $start
    $query = "select id, cod_art, descrizione from condi where "
           . "descrizione LIKE '%".$cerca2."%' OR descrizione LIKE '%".$cerca2."%'"
    			 . "LIMIT $start, $recordPerPagina";
    $dati = mysql_query($query); 
    while ($array = mysql_fetch_array($dati)) { 
    echo "<tr>"; 
    echo "<td>$array[descrizione]</td> "; 
    echo "<td><a href=\"06_dettagli.php?id=$array[id]\">dettagli</td> "; 
    echo "</tr>"; 
    } ?>
    </table> 
    
        
        <table cellspacing=1 bordercolor="black">
         <tr>
    		  <td class="text">Pagine :</td> 
    			<td class="text"><?
           //----- Calcolo del numero di pagine
           $x	  = $contaRecord/$recordPerPagina ;
           $y   = (integer) $x;
           //----- Nel caso in cui ci fosse una pagina residua
           if ( $x <> $y ) { $x++; }
           $numero_pagine = $x;
           $index         = 1;
           while ($index <= $numero_pagine) {
            $cominciaDa = ($index - 1) * $recordPerPagina;
    				//------ Per mantenere la coerenza della ricerca devo trasmettere la ricerca come GET
    				$href = "QUI L'INDIRIZZO DI QUESTA PAGINA?cominciada=$cominciaDa&cerca=$cerca2"?>		
    			  <? print $index?> <?
            $index++;	
    			 } // while ($index <= $numero_pagine) ?>
    			</td>
    		 </tr>
        </table>
    
    <?php
    mysql_close(); 
    ?> 
    
    </body> 
    </html>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.