Paginazione e query

coccobil

Utente Attivo
28 Ott 2005
36
0
6
Ciao a tutti.
Ok..sono un po' nelle canne, spero possiate darmi un suggerimento.
Ho un database mysql da cui estraggo dei dati formattandoli, poi divido i risultati in pagine con questo codice:
PHP:
<?php

$numero_record = 3 ;
if(!isset($HTTP_GET_VARS["inizio"])){
	$inizio = 0;






$strsql = "select * , COUNT(*) from ordini where user_logged='$user'  GROUP BY ordine order by data desc limit $inizio,$numero_record  ";



$color1 = "#CCFF99";
$color2 = "#CCFF33";


$query = mysql_query($strsql);
$strsql2 = "select * from ordini where user_logged='$user' ";
$query2 = mysql_query($strsql2);

$numero_record_totali = mysql_numrows($query2);
$numero_pagine = ceil($numero_record_totali/$numero_record);


$colorcount = 1;
while ($row = mysql_fetch_array($query)) {
	$data=$row['data'];
	$dataitaliana=data_italiana($data);

	if ($colorcount % 2) { $color = $color1; } else { $color = $color2; }
	echo "<tr align=top bgcolor=\"$color\">\n";

	echo "<td align=center><font face=verdana size=-2>$dataitaliana</font></td>\n";
	echo "<td align=center><font face=verdana size=-2>$row[cliente]</font></td>\n";
	echo "<td align=center><font face=verdana size=-2><a href=\"?action=mostra&ordine=$row[ordine]\"><font color=\"#006600\">$row[ordine]</a></font></td>\n";
	echo "<form name=\"cancella\" method=\"post\" action=\"?action=delete\">\n";
	echo "<td align=center><p><input type=\"hidden\" name=\"ordine\" value=\"$row[ordine]\"> <br><input type=\"image\" id=\"button\"  src=\"../images/delete.gif\"name=\"cancella\"></form></td>\n";

	$colorcount++;
}
echo "</table>";
echo "</font></td></tr>\n\n";

$pagina_corrente = ceil(($inizio/$numero_record) + 1);
if($numero_pagine > 1){
	for($pagina = 1; $pagina <= $numero_pagine; $pagina++){
		if($pagina == $pagina_corrente){
			echo"<br><b><center><font size=\"1\" face=\"Verdana\">".$pagina."</b></center></font>";
		}else{
			echo"<br><center><font size=\"1\" face=\"Verdana\">Vai a pagina "."$pagina "."<a href='index.php?inizio=".(($pagina - 1) * $numero_record)."'>"."<img border=\"0\" align=\"absmiddle\" src=\"../icons\list_dot2.gif\">"."</a></center></font>";
		}
	}
}


mysql_free_result($query);
mysql_free_result($query2);
mysql_close();
?>

e fin qui nulla di strano. Ma poniamo che voglia creare un filtro
per ordinare i risultati secondo un determinato campo (a scelta dell'utente):
la query dovrebbe essere del tipo
PHP:
$strsql = "select * , COUNT(*) from ordini where user_logged='$user'  GROUP BY ordine order by $a $b limit $inizio,$numero_record  ";


dove $a e $b vengono passati come parametro dall'utente.
Ma come faccio a passare questi parametri con la paginazione?
In pratica se sono a pagina xx ed invio i parametri alla query tramite un form o un $_GET["action"] torno a pagina 1...
Non so se è chiaro...al limite posto un esempio...
Grazie a tutti.
Max
 

Discussioni simili