2012-04-09 9 views
1

Wenn ein Nutzer auf meiner Website seine Profilseite besucht, erhält er eine Liste der von ihm erstellten Posts. Ich zeige derzeit 20 Beiträge standardmäßig, habe aber keine Möglichkeit ältere Beiträge zu zeigen. Ich möchte eine Schaltfläche "Weitere Posts hinzufügen" hinzufügen, die zusätzliche/ältere Posts auf die Seite lädt. Was soll ich tun, um dem Benutzer nach dem Klicken auf die Schaltfläche show more mehr Posts anzuzeigen?Anzeigen weiterer Posts, wenn ein Nutzer auf die Schaltfläche "Mehr anzeigen" klickt

Hier ist meine Beiträge anzeigen

function show_posts1($userid){ 
$posts = array(); 
$sql = "SELECT p.body, p.stamp, p.id,u.username, u.imagelocation 
    FROM posts p 
    INNER JOIN users u 
    ON p.user_id=u.id 
    WHERE p.user_id='$userid' 
    ORDER BY p.stamp DESC"; 
$result = mysql_query($sql); 
while($data = mysql_fetch_object($result)){ 
    $posts[] = array( 'stamp' => $data->stamp, 
         'userid' => $userid, 
         'body' => $data->body, 
         'username' => $data->username, 
         'imagelocation'=>$data->imagelocation, 
         'id'=>$data->id 
       ); 
} 
return $posts; 
} 

Hier arbeiten ist, wie ich die Beiträge auf der Seite angezeigt werden

<?php 
$posts = show_posts1($_SESSION['user_id']); 
if (count($posts)){ 
?> 
    <table> 
<?php 
     foreach ($posts as $key => $list){ 
      echo "<tr>"; 
      echo "<td>".$list['body']." 
       </td>"; 
      echo "</tr>"; 
     } 
?> 
    </table> 
<?php 
}else{ 
?> 
    <p><b>You haven't posted anything yet!</b></p> 
<?php 
} 
?> 
+0

Wenn Sie mehr Abfragen ausführen möchten, sollten Sie sich mit AJAX beschäftigen. – RageD

+2

Ich sehe nirgendwo hier, wo Sie die Beiträge beschränken ... –

Antwort

1

Ihre Abfrage sollte wie folgt aussehen Ihre Ergebnisse Paginieren

$sql = "SELECT p.body, p.stamp, p.id,u.username, u.imagelocation 
    FROM posts p 
    INNER JOIN users u 
    ON p.user_id=u.id 
    WHERE p.user_id='$userid' 
    ORDER BY p.stamp DESC 
    LIMIT <offset>,<max_rows>"; 

Speichern Sie den aktuellen Offset in Javascript und verwenden Sie dann einfach AJAX, um show_posts1 ($userid[, $offset]) aufzurufen, um die Abfrage erneut auszuführen und die nächsten 20 Posts abzurufen.

+0

kann ich nur die $ ("# feeds") verwenden. Load ("feeds.html"); jquery Schlüsselwort. mit feeds.html, die die Abfrage mit den entsprechenden Offset- und Limit-Informationen enthält? Wie sieht der Ajax-Code aus? Außerdem müsste ich den aktuellen Offset in Javascript für jedes Mal dynamisch ändern, wenn der Benutzer auf "Zeige mehr" klickt? – arboles

Verwandte Themen