Я хочу показать определенное количество результатов (например, 5) и сделать:
<a href="" onclick="<?php ShowNextResult(); ?>">
И используйте onlick, чтобы показать следующие 5 результатов.
EDIT:: HTML
<div id="results">
<div class="result"></div>
<div class="result"></div>
<div class="result"></div>
</div>
<a href="#" id="showMore" />Show more</a>
JAVASCRIPT Используйте JQuery, как показано ниже
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$('#showMore').click(function(event) {
event.preventDefault();
$number = $('.result').size();
$.ajax({
type: "POST",
url: "getNext.php",
data: "count=$number",
success: function(results){
$('#results').append(results);
}
});
});
});
</script>
PHP
вы должны создать новую страницу php (getNext.php), которая получит результаты запроса
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM Persons LIMIT {$_POST['count']},5");
while($row = mysql_fetch_array($result))
{
echo "<div class='result'>".$row['FirstName'] . " " . $row['LastName']."</div>";
}
mysql_close($con);
?>
ПОМОЩЬ
вы можете использовать SQL что-то вроде
SELECT x,xx,xxx FROM XxXxXs Limit $_POST['count'],5
Здесь мое решение, которое показывает вопросы викторины частично со следующей кнопкой, означает, что при каждом нажатии кнопки "Далее" появится еще 5 вопросов.
<?php
$strSQL="SELECT * FROM `quizes` WHERE Q1 IS NOT NULL ORDER BY RAND()";
$result=mysql_query($strSQL);
while($row=mysql_fetch_array($result)){
$c=0;
$q[]= $row['Q1']; // This is database record that has all question stored as array
?>
<?php
for($inc=0; $inc < $ret; $inc++){ ?>
<table>
<tr id="<?php echo "i".$inc ?>">
<td id="qs"> <?php print_r($q[$inc]); ?></td>
</tr></table>
<!-- here in i am display all question with loop in this variable $q[$inc] -->
<?php } ?>
// Now we are going to display partial
instead of all so data will display partially with next button
<a href="#" id="more">Next/Show More</a>
//this is anchor/button on which more questions will load and display when clicked
//CSS question are placing in tr (table row) so first hide all question
<style>
tr{
display:none
}
</style>
//jquery now we will show partial question 5-questions at each click
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("[id=i0],[id=i1],[id=i2],[id=i3],[id=i4],[id=i5]").show();
//Display first 5-question on page load other question will
//show when use will click on next button
var i=0;
$("#more").click(function(){ // Next button click function
//questions tr id we set in above code is looping like this i1,i2,i3,i4,i5,i6...
i=i+5; //at each click increment of 5 question
var e=i+5;
//start after the last displayed question like if previous result was 1-5 question then next result should be 5-10 questions...
for(var c=i; c < e; c++ ){
$("[id=i"+c+"]").show();
}
});
});
</script>
изменить
data: "count=$number",
к
data: "count=" + $number,
потому что тогда это не работает!
Поскольку вы конкретно упоминаете JavaScript, я предполагаю, что вы не хотите перезагружать страницу или что-то в этом роде. Ваш onClick должен вызвать вызов AJAX на php-страницу вашего сервера, которая обрабатывает запрос и возвращает вам следующие пять записей (или последние 5, или случайные, и т.д.).
JQuery действительно популярен для этого и имеет встроенные функции, облегчающие этот процесс.
http://api.jquery.com/jQuery.ajax/
Вот несколько руководств: http://docs.jquery.com/Tutorials
Лучше всего написать эту функцию без использования JavaScript. Сделайте аргумент страницы для аргументов, чтобы показать конкретные записи. После того, как вы выполнили этот код, положите AJAX поверх него, но таким образом у вас будет более старый материал, если вы будете нуждаться в совместимости или что-то не работает так, как вам нужно.
Это довольно общие ответы, нужна ли вам конкретная помощь, чтобы запрос показывал только следующие 5 записей? Или конкретный PHP-код, чтобы связать его вместе? Или просто JS, чтобы сделать материал AJAX? Не могли бы вы быть более наглядными, если вам нужна дополнительная информация.