2016-04-19 10 views
-4

Ich habe eine aufsteigende und absteigende Liste Element in meinem HTML. Wenn der Benutzer auf den aufsteigenden li klickt, möchte ich, dass die Produkte in meinem SQLi in aufsteigender Reihenfolge angezeigt werden, wenn absteigend in absteigender Reihenfolge.HTML PHP: IF li Element geklickt, ORDERBY DESC oder ASC

Dies ist, was ich habe, aber nicht funktioniert.

<ul align ="center"> 
       <li name="asc" onclick="AscendingProds()"><a>Ascending to Descending</a></li> 
       <li name="desc" onclick="DescendingProds()"><a>Descending to Ascending</a></li> 
      </ul> 


    <?php 

    AscendingProds(){ 
     $results = $mysqli->query("SELECT prds ORDER BY price ASC"); 
} 
    DescendingProds(){ 
     $results = $mysqli->query("SELECT prds ORDER BY price DESC"); 
} 
+0

Zum einen versucht Ihr 'li' Elemente' onClick' eine JavaScript-Funktion aufzurufen, nicht Ihr PHP. Sie müssen Ihre Seite ein Post-Back haben, um die aufgerufene Funktion aufzurufen. – gmiley

Antwort

4

Sie können keine PHP-Funktion in einem onclick-Event-Handler aufrufen. Das ist für Javascript und dergleichen reserviert. Was Sie jedoch tun können, ist eine AJAX - mit jQuery - Funktion aufrufen, um das PHP auf einer separaten Seite zu verarbeiten und die Ergebnisse auf der aktuellen Seite zurückzugeben.

Sie vergessen auch, Ihre Ergebnisse anzuzeigen. Das ist natürlich, wenn das alles dein Code ist.

Werfen Sie einen Blick auf http://api.jquery.com/jquery.ajax/

+0

Es ist unglaublich, die Anzahl der Programmierer, die nicht diese Regel befolgen und mischen html und PHP auf eine absolut verrückte Art und Weise ... upvote – cpugourou

0

auf der Entwicklung von Web-Anwendungen zwei Standorte vorhanden, Server und Client, der Server läuft und die notwendigen Daten an den Client senden, immer PHP auf Server-Site und HTML-Datei auf Client-Seite ist, dann müssen Sie das Ereignis auf Javascript machen und dann die Anfrage an PHP senden. Sie benötigen Ajax, vielleicht JQuery oder reine Javascript-Ereignisse.

+1

Bemühen Sie sich um die Antwort, kann mit einigen Codes und Erklärungen sowie sein. –