Wie anwenden, Sortieren und filtern mit der Ajax-Json-PHP & MySQL

Hallo, ich bin ein Anfänger ich arbeite auf software-Website. ich gebaut habe, alle Seiten und das layout für die Website, war der einfache Teil getan mit HTML CSS UND JAVASCRIPT alleine, nur was Links ist, um Haupt-Kategorien-Seiten für verschiedene software, die ist hart für mich.

möchte ich hinzufügen Sortierung option auf Kategorie Seiten wie diese (Siehe Hier)
wo Nutzer in der Lage zu Sortieren software nach Datum, name, Datum Hinzugefügt usw.. und auch in der Lage sein zu kontrollieren max Anzahl von software zur Darstellung, wie 20, 30, 100 etc.

Auf meiner HTML-Seite habe ich diese div ' s, in dem ich die Daten anzeigen wollen (verschiedene softwares)
von MySQL-Datenbank "security_software" (es ist eine Test-Datenbank) aus Tabelle "internet_security" (es ist eine Test-Tabelle)

HTML Div ' s

  <div class="category-container">
    <div class="category-image"></div>
    <div class="category-desc"><a href="#">#</a><p>text</p></div>
    <div class="rating5" >Editors' rating: </div>
    <div class="category-download-btn"><a href="#">Download</a></div>
    <div class="category-buy-btn"><a href="#">Buy</a></div>
  </div>

Nach Einigen Recherchen habe ich eine Lösung zur Nutzung der JSON-AJAX-PHP &MySQL

JAVASCRIPT-Code habe ich

<head>    
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$.ajax({
    url: 'ajax.php',
    dataType: 'json',
    success: function(response){
        data = '';
        $.each(response,function(i,val){
          data = '<div class="category-image">'+val.image+'</div>'+
        '<div class="category-link"><a href="#">'+val.id+'</a></div>'+
        '<div class="category-desc"><p>'+val.description+'</p> </div>'+
        '<div class="rating5" >'+val.rating+'</div>'+ 
        '<div class="category-download-btn"><a href="'+val.download+'">Download</a></div>'+ 
        '<div class="category-buy-btn"><a href="'+val.buy+'">Buy</a></div>';
        $('<div>').attr('id',i).html(data).appendTo('#response');
    });

    }
 });
</script>
</head>
 <body>
<div id='response'></div>   
 </body>

PHP-Code habe ich

<?php
$q=$_GET["q"]; 

$con = mysql_connect('localhost', 'root', '');
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("security_software", $con);

$sql="SELECT * FROM internet_security ORDER by `".$q."` DESC" ;


$result = mysql_query($sql);
$response = array();
$i=0;
while($row = mysql_fetch_array($result))
  {
  $response[$i]['id']           =$row['id'];
  $response[$i]['title']        = $row['title'];
  $response[$i]['image']        = $row['image'];
  $response[$i]['description']  = $row['description'];
  $response[$i]['rating']       = $row['rating'];
  $response[$i]['download']     = $row['download'];  
  $response[$i]['buy']          = $row['buy'];
  $i++;
  }
mysql_close($con); 

echo json_encode($response);
?>

Jetzt ist es überhaupt nicht da ich nicht an jedem Ort zu befestigen, diese codes (Kategorien Dropdown) in javascript, die ich habe.

<form>
<select name="users" onchange="showUser(this.value)">
<option value="">Select a person:</option>
<option value="id">id</option>
<option value="title">title</option>
<option value="image">image</option>
<option value="description">description</option>
<option value="description">rating</option>
<option value="download">download</option>
<option value="buy">buy</option>
</select>
</form>

Bitte helfen Sie mir, Jungs, wo kann ich die befestigen Sie diesen code und wie es funktioniert, ich bin Total verwirrt.

  • Die erste Regel von ajax ist, um die server-side script (zB PHP) arbeiten und vollständig testen, bevor Sie zu verbrauchen, es mit Javascript. PHP wird nicht funktionieren, weil Sie die Bestellung mit einem string und kein Feld. Ersetzen Sie die einfachen Anführungszeichen, mit backticks und fügen Sie ein Häkchen, so dass es nur eine vordefinierte Liste von Feldnamen eine SQL-Injektion verhindert. Wenn Sie haben, dass Sie arbeiten können Sie ausschließen, PHP und Debuggen von Javascript.
  • Ich war zu schreiben, eine lange Antwort, aber MrCode korrekt ist. Sie sollten sicherstellen, dass Ihre Zuschauer nicht haben Javascript aktiviert und erst dann, wenn es einmal läuft, die Javascript verwenden, um es zu verbessern.
  • ich habe vergessen, hinzuzufügen backticks danke für die Erinnerung, aber es funktioniert nicht.
  • wenn Sie können, geben Sie mir Ihre Antwort wird es eine große Hilfe. da ich neu bin und ich understant ein wenig spät, Ihr habt Euch nur sagen, in einer Weise, dass geht aus meinem Kopf
  • Was passiert, wenn Sie navigieren Sie zu ajax.php?q=title?
  • es passiert nichts, die Seite bleibt leer.
  • Verwenden error_reporting(E_ALL); ini_set('display_errors', '1') und poste die Fehlermeldung.

InformationsquelleAutor | 2012-05-18
Schreibe einen Kommentar