Problem bei der Sortierung bzw. Abfrage

hafa

Grünschnabel
Hallo zusammen,

stehe vor einem kleinen Problem, versuch grade bei einer Abfrage zu sortieren, leider funktioniert es nicht.

Es kommt immer eine Fehlermeldung:
Notice: Undefined variable: sortieren in D:\xampp\htdocs\newcms\include\function.php on line 11
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 0,15' at line 1

Was mache ich da FALSCH :confused:


PHP:
$a = 'SELECT name,  bewertung, freischaltung, schwierigkeit FROM Produkt WHERE catID = '.$_GET['ProduktList'].' ORDER BY '.$sortieren.' LIMIT 0,'.$anzahl.'';
     $b = mysql_query($a) or die(mysql_error());
                 <tr>
                              <td class="rez_auswahl" colspan="2">
                              <form method="post" action="">Sortieren nach:
                                    <select name="sortieren">
                                            <option value="name">Name</option>
                                            <option value="schwierigkeit">Schwierigkeit</option>
                                            <option value="bewertung">Bewertung</option>
                                            <option value="freischaltung">Datum</option>
                                    </select>
                              <input type="submit" value="ok">
                              </form>
                              </td>
                              <td class="rez_auswahl1" colspan="2">
                               <form method="post" action=""> pro Seite:
                                    <select name="anzahl">
                                  <option value="1">1</option>
                                  <option value="25">25</option>
                                  <option value="50">50</option>
                                  <option value="75">75</option>
                                  <option value="100">100</option>
                                    </select>
                              <input type="submit" value="ok">
                              </form>
                              </td>

THX für die Hilfe!!
 
Deine Variable $sortieren ist leer daher wird dein SQL fehlerhaft, da nach ORDER BY gleich LIMIT kommt und keine spalte/richtung.
 
PHP:
$sortieren = isset($_POST['sortieren']) ? $_POST['sortieren'] : 'name';
$anzahl = isset($_POST['anzahl']) ? $_POST['anzahl'] : 1;

$a = 'SELECT name,  bewertung, freischaltung, schwierigkeit FROM Produkt WHERE catID = '.$_GET['ProduktList'].' ORDER BY '.$sortieren.' LIMIT 0,'.$anzahl.'';

...... und dein rest.
 
Du solltest unbedingt den Inhalt der Variablen filtern.
Dafür kannst du z. B. [phpf]mysql_real_escape_string[/phpf] nutzen.
 
Wie ist das eigentlich, wenn ich, z.B. nach Name sortiere, gilt die Sortierung für jeden Besucher auf der Seite
 
Zurück