Witam,
Mam następujący problem, zrobiłem wyszukiwarkę produktów parametry są wysyłane metodą POST a następnie wyświetlane zgodnie z zadanymi parametrami, do tego momentu jest wszystko ok.
Teraz gdy mam już wyświetlone produkty chciałbym sobie móc sortować według jednej z kolumn i tu pojawia się problem, bo w momencie kliknięcia sortowanie zostają zgubione parametry po jakich ma wyszukiwać.
Czy ktoś zna sposób jak to rozwiązać?
Poniżej zamieszczam kod.
<?php
include 'db.php'; // połączenie się z bazą danych
$tabela = 'produkty'; // zdefiniowanie tabeli MySQL
echo<<<Tekst
Podaj kryteria wyszukiwania:<br>
<form action='index.php?podstrona=search' method='post'>
Marka : <input type=text name=marka> Model: <input type=text name=model> <br>
Rok produkcji od <input type=text name=odrok> do <input type=text name=dorok> <br>
Pojemność silnika od <input type=text name=odpojemnosc> do <input type=text name=dopojemnosc> <br>
Moc silnika od <input type=text name=odmoc> do <input type=text name=domoc> <br>
Przebieg od <input type=text name=odprzebieg> do <input type=text name=doprzebieg> <br>
Skrzynia biegów: <select name='skrzynia'>
<option value=''></option>
<option value='manualna'>Manualna</option>
<option value='automatyczna'>Automatyczna</option>
</select>
Uszkodzony: <select name='uszkodzony'>
<option value=''></option>
<option value='tak'>tak</option>
<option value='nie'>nie</option>
</select><br>
Liczba drzwi: <select name='drzwi'>
<option value=''></option>
<option value='2/3'>2/3</option>
<option value='4/5'>4/5</option>
</select><br>
Cena od <input type=text name='odcena'> do <input type=text name='docena'><br>
<input type='hidden' value='1' name='send'/>
<input type=submit value='Szukaj'/> <br><br>
</form>
Sorotwanie według:
Marka <a href='index.php?podstrona=search&jak=up&zmienna=Marka'>rosnąco</a> <a href='index.php?podstrona=search&jak=down&zmienna=Marka'>malejąco</a>
Model <a href='index.php?podstrona=search&jak=up&zmienna=Model'>rosnąco</a> <a href='index.php?podstrona=search&jak=down&zmienna=Model'>malejąco</a>
Rok <a href='index.php?podstrona=search&jak=up&zmienna=Rok_produkcji'>rosnąco</a> <a href='index.php?podstrona=search&jak=down&zmienna=Rok_produkcji'>malejąco</a>
Pojemność <a href='index.php?podstrona=search&jak=up&zmienna=Pojemnosc_silnika'>rosnąco</a> <a href='index.php?podstrona=search&jak=down&zmienna=Pojemnosc_silnika'>malejąco</a>
Moc <a href='index.php?podstrona=search&jak=up&zmienna=moc_silnika'>rosnąco</a> <a href='index.php?podstrona=search&jak=down&zmienna=moc_silnika'>malejąco</a>
Przebieg <a href='index.php?podstrona=search&jak=up&zmienna=Przebieg'>rosnąco</a> <a href='index.php?podstrona=search&jak=down&zmienna=Przebieg'>malejąco</a>
Skrzynia biegów <a href='index.php?podstrona=search&jak=up&zmienna=Skrzynia_biegow'>rosnąco</a> <a href='index.php?podstrona=search&jak=down&zmienna=Skrzynia_biegow'>malejąco</a>
Uszkodzony <a href='index.php?podstrona=search&jak=up&zmienna=Uszkodzony'>rosnąco</a> <a href='index.php?podstrona=search&jak=down&zmienna=Uszkodzony'>malejąco</a>
Liczba drzwi <a href='index.php?podstrona=search&jak=up&zmienna=Liczba_drzwi'>rosnąco</a> <a href='index.php?podstrona=search&jak=down&zmienna=Liczba_drzwi'>malejąco</a>
Cena <a href='index.php?podstrona=search&jak=up&zmienna=cena'>rosnąco</a> <a href='index.php?podstrona=search&jak=down&zmienna=cena'>malejąco</a>
Tekst;
if (@$_POST["send"]) {
@$marka=htmlspecialchars(stripslashes(strip_tags(trim($_POST["marka"]))), ENT_QUOTES);
@$model=htmlspecialchars(stripslashes(strip_tags(trim($_POST["model"]))), ENT_QUOTES);
@$odrok_produkcji=htmlspecialchars(stripslashes(strip_tags(trim($_POST["odrok"]))), ENT_QUOTES);
@$dorok_produkcji=htmlspecialchars(stripslashes(strip_tags(trim($_POST["dorok"]))), ENT_QUOTES);
@$odpojemnosc_silnika=htmlspecialchars(stripslashes(strip_tags(trim($_POST["odpojemnosc"]))), ENT_QUOTES);
@$dopojemnosc_silnika=htmlspecialchars(stripslashes(strip_tags(trim($_POST["dopojemnosc"]))), ENT_QUOTES);
@$odmoc_silnika=htmlspecialchars(stripslashes(strip_tags(trim($_POST["odmoc"]))), ENT_QUOTES);
@$domoc_silnika=htmlspecialchars(stripslashes(strip_tags(trim($_POST["domoc"]))), ENT_QUOTES);
@$odprzebieg=htmlspecialchars(stripslashes(strip_tags(trim($_POST["odprzebieg"]))), ENT_QUOTES);
@$doprzebieg=htmlspecialchars(stripslashes(strip_tags(trim($_POST["doprzebieg"]))), ENT_QUOTES);
@$skrzynia=$_POST["skrzynia"];
@$drzwi=$_POST["drzwi"];
@$uszkodzony=$_POST["uszkodzony"];
@$odcena=$_POST["odcena"];
@$docena=$_POST["docena"];
@$wysłano=@$_POST["send"];
@$zmienna=trim($_GET['zmienna']);
@$jak=trim($_GET['jak']);
$wysłano=1;
if ($jak=="up") {
$wynik_szukania = mysql_query("SELECT * FROM $tabela WHERE Rok_produkcji BETWEEN '$odrok_produkcji'AND '$dorok_produkcji' OR Model='$model' OR Pojemnosc_silnika BETWEEN '$odpojemnosc_silnika' AND '$dopojemnosc_silnika' OR moc_silnika BETWEEN '$odmoc_silnika' AND '$domoc_silnika' OR Przebieg BETWEEN '$odprzebieg' AND '$doprzebieg' OR Skrzynia_biegow='$skrzynia' OR Liczba_drzwi='$drzwi' OR Uszkodzony='$uszkodzony' OR cena BETWEEN '$odcena' AND '$docena' OR Marka='$marka' ORDER BY $zmienna ASC") or die('Błąd zapytania');
}elseif($jak=="down"){
$wynik_szukania = mysql_query("SELECT * FROM $tabela WHERE Rok_produkcji BETWEEN '$odrok_produkcji'AND '$dorok_produkcji' OR Model='$model' OR Pojemnosc_silnika BETWEEN '$odpojemnosc_silnika' AND '$dopojemnosc_silnika' OR moc_silnika BETWEEN '$odmoc_silnika' AND '$domoc_silnika' OR Przebieg BETWEEN '$odprzebieg' AND '$doprzebieg' OR Skrzynia_biegow='$skrzynia' OR Liczba_drzwi='$drzwi' OR Uszkodzony='$uszkodzony' OR cena BETWEEN '$odcena' AND '$docena' OR Marka='$marka' ORDER BY $zmienna DESC") or die('Błąd zapytania');
}else{
$wynik_szukania = mysql_query("SELECT * FROM $tabela WHERE Rok_produkcji BETWEEN '$odrok_produkcji'AND '$dorok_produkcji' OR Model='$model' OR Pojemnosc_silnika BETWEEN '$odpojemnosc_silnika' AND '$dopojemnosc_silnika' OR moc_silnika BETWEEN '$odmoc_silnika' AND '$domoc_silnika' OR Przebieg BETWEEN '$odprzebieg' AND '$doprzebieg' OR Skrzynia_biegow='$skrzynia' OR Liczba_drzwi='$drzwi' OR Uszkodzony='$uszkodzony' OR cena BETWEEN '$odcena' AND '$docena' OR Marka='$marka'") or die('Błąd zapytania');
}
if(mysql_num_rows($wynik_szukania) >= 0) {
/* jeżeli wynik jest pozytywny, to wyświetlamy dane */
echo "<br>Znaleźono następujące produkty<br>";
echo "<table cellpadding=\"2\" border=1>";
echo "<tr>";
echo "<td>Marka</td>";
echo "<td> <a href='index.php?podstrona=produkt&jak=up&zmienna=model'>up</a>Model</td>";
echo "<td>Rok</td>";
echo "<td>Pojemność</td>";
echo "<td>moc</td>";
echo "<td>Przebieg</td>";
echo "<td>Skrzynia_biegow</td>";
echo "<td>Uszkodzony</td>";
echo "<td>Liczba drzwi</td>";
echo "<td>Ccena</td>";
echo "</tr>";
while($rs = mysql_fetch_assoc($wynik_szukania)) {
echo "<tr>";
echo "<td> ".$rs['Marka']."</td>";
echo "<td>".$rs['Model']."</td>";
echo "<td>".$rs['Rok_produkcji']."</td>";
echo "<td>".$rs['Pojemnosc_silnika']."</td>";
echo "<td>".$rs['moc_silnika']."</td>";
echo "<td>".$rs['Przebieg']."</td>";
echo "<td>".$rs['Skrzynia_biegow']."</td>";
echo "<td>".$rs['Uszkodzony']."</td>";
echo "<td>".$rs['Liczba_drzwi']."</td>";
echo "<td>".$rs['cena']."</td>";
echo "</tr>";
}
echo "</table>";
}
}