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:
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
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
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