provo a spiegarmi meglio inserendo un codice...
con il codice sotto riportato nella mia pagina web mostro i dati presenti in un tabella mysql
vengono quindi visualizzati i campi:
Persona // Nome // Cognome // Alias // CF // PIVA
di questi vengono mostrati i primi 20 valori trovati
cliccando sui link sopra la tabella è possibile vedere i successivi 20 valori o i precedenti
ogni riga è selezionabile per vedere ulteriori dettagli
inoltre cliccando su un pulsante sopra la colonna si cambia i parametri di ordinamento
per fare tutte queste cose (che mi sembrano cose molto basilari) ho dovuto scrivere un codice lunghissimo (sotto riportato).
La mia domanda in sostanza era:
per fare queste cose banali perchè ho dovuto scrivere un codice così lungo?
come avrei dovuto semplificare la cosa?
sono sicuro che conoscendo meglio php avrei ottenuto le stesse cose con meno sforzo.
Ecco il codice
codice:
echo"Elenco persone
";
$page = 1;
$oo=1;
$ordine1 = "p";
$ordine2 = "nome";
$ordine3 = "cognome";
$v1 = "@";
$v2 = "_";
$v3 = "_";
$v4 = "_";
$v5 = "_";
$v6 = "_";
if ( isset ($_GET['page']))
{
$page = $_GET['page'];
$oo =$_GET['oo'];
}
if ( isset ($_POST['o1'] ))
{
$ordine1 = "p";
$ordine2 = "nome";
$ordine3 = "cognome";
$v1 = "@";
$v2 = "_";
$v3 = "_";
$v4 = "_";
$v5 = "_";
$v6 = "_";
$page = $_POST['page'];
$oo=1;
}
if ( isset ($_POST['o2'] ))
{
$ordine1 = "nome";
$ordine2 = "cognome";
$ordine3 = "p";
$v1 = "_";
$v2 = "@";
$v3 = "_";
$v4 = "_";
$v5 = "_";
$v6 = "_";
$page = $_POST['page'];
$oo=2;
}
if ( isset ($_POST['o3'] ))
{
$ordine1 = "cognome";
$ordine2 = "nome";
$ordine3 = "p";
$v1 = "_";
$v2 = "_";
$v3 = "@";
$v4 = "_";
$v5 = "_";
$v6 = "_";
$page = $_POST['page'];
$oo=3;
}
if ( isset ($_POST['o4'] ))
{
$ordine1 = "alias";
$ordine2 = "nome";
$ordine3 = "cognome";
$v1 = "_";
$v2 = "_";
$v3 = "_";
$v4 = "@";
$v5 = "_";
$v6 = "_";
$page = $_POST['page'];
$oo=4;
}
if ( isset ($_POST['o5'] ))
{
$ordine1 = "pcf";
$ordine2 = "p";
$ordine3 = "cognome";
$v1 = "_";
$v2 = "_";
$v3 = "_";
$v4 = "_";
$v5 = "@";
$v6 = "_";
$page = $_POST['page'];
$oo=5;
}
if ( isset ($_POST['o6'] ))
{
$ordine1 = "ppiva";
$ordine2 = "p";
$ordine3 = "cognome";
$v1 = "_";
$v2 = "_";
$v3 = "_";
$v4 = "_";
$v5 = "_";
$v6 = "@";
$page = $_POST['page'];
$oo=6;
}
if ( $oo==1)
{
$ordine1 = "p";
$ordine2 = "nome";
$ordine3 = "cognome";
$v1 = "@";
$v2 = "_";
$v3 = "_";
$v4 = "_";
$v5 = "_";
$v6 = "_";
}
if ( $oo==2)
{
$ordine1 = "nome";
$ordine2 = "cognome";
$ordine3 = "p";
$v1 = "_";
$v2 = "@";
$v3 = "_";
$v4 = "_";
$v5 = "_";
$v6 = "_";
}
if ( $oo==3)
{
$ordine1 = "cognome";
$ordine2 = "nome";
$ordine3 = "p";
$v1 = "_";
$v2 = "_";
$v3 = "@";
$v4 = "_";
$v5 = "_";
$v6 = "_";
}
if ( $oo==4)
{
$ordine1 = "alias";
$ordine2 = "nome";
$ordine3 = "cognome";
$v1 = "_";
$v2 = "_";
$v3 = "_";
$v4 = "@";
$v5 = "_";
$v6 = "_";
}
if ( $oo==5)
{
$ordine1 = "pcf";
$ordine2 = "p";
$ordine3 = "cognome";
$v1 = "_";
$v2 = "_";
$v3 = "_";
$v4 = "_";
$v5 = "@";
$v6 = "_";
}
if ( $oo==6)
{
$ordine1 = "ppiva";
$ordine2 = "p";
$ordine3 = "cognome";
$v1 = "_";
$v2 = "_";
$v3 = "_";
$v4 = "_";
$v5 = "_";
$v6 = "@";
}
/* Recupero dei dati da inserire nel form */
$sql = "SELECT * FROM persone ORDER BY $ordine1 ASC, $ordine2 ASC, $ordine3 ASC";
$rs = mysql_query($sql, $link) or die ("Errore recupero dati" . mysql_error());
/* Setto un array nel quale vado ad inserire i dati che recupero*/
$dati = array();
$dati1 = array();
$dati2 = array();
$dati3 = array();
$dati4 = array();
$dati5 = array();
$dati6 = array();
$dati7 = array();
/* Scorrendo i record assegno i valori all'array */
while ($rec = mysql_fetch_array($rs))
{
$dati[] = $rec;
}
$nda=0;
foreach ($dati as $d)
{
$p = $d['p'];
$pid = $d['pid'];
$nome = $d['nome'];
$cognome = $d['cognome'];
$alias = $d['alias'];
$cf = $d['pcf'];
$piva = $d['ppiva'];
$dati1[]=$p;
$dati2[]=$pid;
$dati3[]=$nome;
$dati4[]=$cognome;
$dati5[]=$alias;
$dati6[]=$cf;
$dati7[]=$piva;
$nda++;
}
$last_page= ceil($nda / DDP);
$pml = round(($page-1)/2);
$pmr = round($page+(($last_page-$page)/2));;
?>
<table border=1>
<tr>
<tr><td align="center" colspan="7" align="center">[b]
<?php
if($page != 1)
{
?>
&oo=<?php echo $oo; ?>">pag.1.
<?php
}
if($pml != ($page-1) AND $plm != ($page) )
{
?>
<?php echo "pag.".($pml) ; ?>
<?php
}
if($page <= $last_page AND $page > 2)
{
?>
<?php echo "pag.".($page-1) ; ?>
<?php
}
?>
<?php echo "_pag.".$page."/".$last_page."_"; ?>
<?php
if($page >= 1 AND ($page+1) < $last_page)
{
?>
<?php echo "pag.".($page+1) ; ?>
<?php
}
if($pmr != ($page+1) AND $pmr != ($page) )
{
?>
<?php echo "pag.".($pmr) ; ?>
<?php
}
if($page != $last_page)
{
?>
<?php echo "pag.".$last_page; ?>
<?php
}
?>
</td></tr>
<form method="post" action="elenco_persone.php">
<tr>
<input type="hidden" name="page" value="<?php echo $page ?>" />
<TD><input type="submit" name="o1" value="<?php echo $v1 ; ?>" /></TD>
<TD><input type="submit" name="o2" value="<?php echo $v2 ; ?>" /></TD>
<TD><input type="submit" name="o3" value="<?php echo $v3 ; ?>" /></TD>
<TD><input type="submit" name="o4" value="<?php echo $v4 ; ?>" /></TD>
<TD><input type="submit" name="o5" value="<?php echo $v5 ; ?>" /></TD>
<TD><input type="submit" name="o6" value="<?php echo $v6 ; ?>" /></TD>
</form>
</tr>
<tr><TD>Persona</TD><TD>[b]Nome</TD><TD>[b]Cognome</TD><TD>[b]Alias</TD><TD>[b]CF</TD><TD>[b]PIVA</TD><TD>Selezione</TD></tr>
<?php
$b=(($page*DDP)-DDP);
$c=1;
while ($c <= DDP)
{
$p=$dati1[$b];
$pid=$dati2[$b];
$nome=$dati3[$b];
$cognome=$dati4[$b];
$alias=$dati5[$b];
$cf=$dati6[$b];
$piva=$dati7[$b];
?>
<form method="post" action="persona.php">
<input type="hidden" name="pid" value="<?php echo $pid ?>" />
<tr>
<TD WIDTH=400><?php echo $p; ?></td>
<TD><?php echo $nome; ?></td>
<TD><?php echo $cognome; ?></td>
<TD><?php echo $alias; ?></td>
<TD><?php echo $cf; ?></td>
<TD><?php echo $piva; ?></td>
<?php
if($pid != "")
{
?>
<TD><input type="submit" name="form" value="seleziona" /></form></td>
<?php
}
?>
</tr>
<?php
$b++;
$c++;
}
?>
</TABLE>
</td>
</tr>