Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more. :: Mappa del sito
Tutorials & Scripts, PHP, Linux and more.

Home :: Php :: Indice Php

Incolonnamento dei records MySQL, ordinamento orizzontale e verticale

Inserito il: 09-05-2007


In un precedente articolo avevamo già affrontato il discorso riguardante l'impaginazione per colonne dei records estratti da MySQL. Ora proporremo due nuove soluzioni che prevedono sia l'impaginazione orizzontale dei risultati sia quella verticale.

L'impaginazione orizzontale prevede una disposizione che ha come punto di riferimento le righe, si procede orizzontalmente per poi andare a capo e riprendere l'ordine nella riga successiva:
a b c
d e f
g ...
Ecco come potrebbe presentarsi il nostro codice per l'allineamento orizzontale (daremo per scontato che i dati di connessione e selezione del database si trovino in un file esterno incluso all'inizo dello script):
<?php
@include "config.php";
$colonne = 2;
$sql = "SELECT dato FROM tb";

$res = @mysql_query($sql);
if(($righe = @mysql_num_rows($res))>0)
  {
  echo "<table>\n";

  for($i = 0; $i < $righe; $i++) {
  $r = @mysql_fetch_array($res);
  if($i % $colonne == 0) {
  echo "<tr>\n";
  }

  echo "<td>" . $r['dato'] . "</td>\n";
  if(($i % $colonne) == ($colonne - 1) || ($i + 1) == $righe) {
  echo "</tr>\n";
  }
  
 }
  echo "</table>\n";
}
?>
Per quanto riguarda invece l'allineamento verticale, questo prevede una disposizione basata sulle colonne, in pratica i dati verranno visualizzati uno sotto l'altro fino alla fine di una colonna per poi ricominciare in quella successiva:
a d g
b e .
c f .
Ed ecco il codice dello script per l'incolonnamento:
<?php
@include "config.php";
$colonne = 2;
$sql = "SELECT dato FROM tb";

$res = @mysql_query($sql);
$righe = @mysql_num_rows($res);
$rs = @ceil($righe / $colonne);

while($r = @mysql_fetch_array($res)) {
  $data[] = $r['dato'];
  }

echo "<table>\n";
for($i = 0; $i < $rs; $i++) {
  echo "<tr>\n";
  for($j = 0; $j < $colonne; $j++) {
  if(isset($data[$i + ($j * $rs)])) {
  echo "<td>" . $data[$i + ($j * $rs)] . "</td>\n";
  }
 }
 echo "</tr>\n";
}
echo "</table>\n";
?>


Indice Php
Apache (19)
CGI (11)
Java (12)
Jsp (16)
Linux (18)
Manuali (6)
Perl (12)
PostgreSQL (12)
Tomcat (10)
Unix (12)
Libri (0)
Forum



Effettuare ricerche su file di testo
L'interazione tra PHP e MySQL permette di creare applicazioni avanzate con le quali separare anche "fisicamente" le informazioni gestite dal... Leggi l'articolo


Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti

Mrwcorsi.it
Mrwebmaster.it
4 You Gratis.it
Ceptive.it
Giochi Gratis
Pierotofy.it
Giornale Webmaster
Manuali
Morpheusweb.it
SEO Directory
Visual designer
Forum per Webmaster




Pagina caricata in 0.0001 secondi. | Per informazioni | ©CG di Claudio Garau P.IVA 03219430927 RSS