Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Frankos
    Registrato dal
    Nov 2002
    Messaggi
    505

    Paginazione su righe e colonne

    Ciao,

    dal mio DB Mysql estraggo una serie di dati, per esempio:

    $sql="SELECT * FROM catalogo WHERE categoria=1";
    $risultati_mysql=mysql_query($sql,$connessione);
    $num_righe=mysql_num_rows($risultati_mysql);

    il numero di record può variare da 0 a 12,

    come posso paginare l'immagine di ogni record (il cui percorso é contenuto nel campo "immagine"), in una tabella di 4 colonne e 3 righe?
    Ovviamente, se i record sono meno di 12 deve tenerne conto nella costruzione della tabella.
    Sempre più in alto...
    www.webdition.com

  2. #2

    guarda questo, è vecchio ma dovrebbe funzionare

    $num=mysql_num_rows($query);
    $ncols=3;
    $voci_per_col=ceil($num/$ncols);
    // includo la classe che distribuisce le voci per colonne e righe
    include("classes/distrcols.php");
    $obj = new distrCols;
    $obj->setVars($num,$ncols);
    while ($rigo=mysql_fetch_array($query)){
    $obj->createCols("[img]images/default/parancio.gif[/img]","modules.php?name=$module&action=show&c=",$r igo['Descrizione'],$rigo['Descr'], $rigo['IDCategoria']);
    }


    dove:

    codice:
    class distrCols{
    	var $i; // contatore
    	var $per_col; // numero di record per colonna
    	var $last; // ultimo record 
    	
    	function setVars($num,$ncols){
    		// argomenti: $num = numero totale di record, $ncols = numero di colonne desiderato
    		$i=1;
    		$per_col=ceil($num/$ncols);
    		$this->i=$i;
    		$this->per_col=$per_col;
    		$this->last=$num;
    	}
    	function createCols($img,$params,$text, $text2, $url){
    		// $img: inserire il tag [img][/img] se si vuole associare un'immagine alla voce, altrimenti ''
    		// $params: eventuali parametri 
    		// $text2: ulteriore testo non linkabile
    		$img = $img." ";
    		if ($this->i==1){
    			// può essere il primo, ma anche l'ultimo
    			if ($this->i==$this->last){
    					$GLOBALS['doc'] .= "
    				<table width='100%'>
    					<tr>
    						<td  align='center'>
    							<table cellspacing='1'>
    							<tr>
    								<td align='left'>$img</td><td align='left'><a href=\"$params$url\">$text</a>$text2</td>
    							</tr>
    						</table>
    					</td>
    				</tr>
    			</table>
    					";
    			}
    			else{
    						$GLOBALS['doc'] .= "
    				<table width='100%'>
    					<tr>
    						<td align='center' valign='top'>
    							<table cellspacing='1'>
    								<tr>
    									<td align='left'>$img</td><td align='left'><a href=\"$params$url\">$text</a>$text2</td>
    								</tr>";
    				}
    		}
    		elseif ($this->i%$this->per_col==0){
    			if ($this->i==$this->last){ // potrebbe essere essere l'ultimo...
    					$GLOBALS['doc'] .= "
    							<tr>
    								<td align='left'>$img</td><td align='left'><a href=\"$params$url\">$text</a>$text2</td>
    							</tr>
    						</table>
    					</td>
    				</tr>
    			</table>
    					";
    			}
    			else{
    			$GLOBALS['doc'] .= "
    					<tr>
    						<td align='left'>$img</td><td align='left'><a href=\"$params$url\">$text</a>$text2</td>
    					</tr>
    				</table>
    			</td>
    			<td align='center' valign='top'>
    				<table cellspacing='1'>
    			";
    			}
    		}
    		elseif ($this->i==$this->last){
    				$GLOBALS['doc'] .= "
    						<tr>
    							<td align='left'>$img</td><td align='left'><a href=\"$params$url\">$text</a>$text2</td>
    						</tr>
    					</table>
    				</td>
    			</tr>
    		</table>
    				";
    		}
    		else {
    				$GLOBALS['doc'] .= "
    						<tr>
    							<td align='left'>$img</td><td align='left'><a href=\"$params$url\">$text</a>$text2</td>
    						</tr>
    				";
    		}
    		$this->i++;
    	}
    }
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

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.