Witam!
Mam tabelę, w której wyświe tlam rekordy z bazy danych. W nagłówku każdej kolumny jest ukryte pole ze zmienną mającą wartość "asc" lub "desc" i przycisk. Po kliknięciu przycisku wartość z ukrytego pola ma zostać pobrana do zmiennej $sort i wstawiona do zapytania(query, z którym później wywołujemy funkcję) a wartość zmiennej z pola nadpisana na przeciwną(asc na desc i odwrotnie). Niestety nie działa nawet jeśli użyję zmiennej globalnej - wartość zmiennej w polu zostaje pobrana poprawna ale potem się nie nadpisuje.
Co jest nie tak?
W poniższym skrypcie dla uproszczenia jest tylko jeden nagłówek tabeli/przycisk a funkcja tylko wyświetla otrzymane zapytanie.
Po każdym kliknięciu przycisku typ sortowania powinien się ustawiać na na przemian asc/desc, jednak tak nie jest..
<?php
$InvDateNextOrder = "asc";
$parent = "user";
?>
<form method="post"><input type="hidden" name="datew" value="<?php echo $InvDateNextOrder; ?>" /><input type="submit" value="Data wystawienia" name="dwyst" class="button" style="width:150px;"></form>
<?php
<!-- Poniższa funkcja dla uproszczenia tutaj tylko wyświetla otrzymane zapytanie, natomiast w oryginalnym kodzie generuje tabelę na podstawie danych z bazy -->
function show($query_disp){
echo $query_disp;
}
?>
<!--Tutaj w oryginalnym skrypcie znajduje się <body> tabeli html-->
<?php
if(isset($_POST['dwyst'])){
$sort = $_POST['datew'];
if($sort=="asc"){
/$GLOBALS['InvDateNextOrder'] = "desc";
//global $InvDateNextOrder;
$InvDateNextOrder = "desc";
}
if($sort=="desc"){
//$GLOBALS['InvDateNextOrder'] = "asc";
//global $InvDateNextOrder;
$InvDateNextOrder = "asc";
}
var_dump($InvDateNextOrder);
$query_disp = "SELECT * FROM jos_program_invoice WHERE owner='$parent' ORDER BY invoice_date ".$sort;
show($query_disp);
}
?>