2012-06-13 2 views
0

Я хочу увеличить $ x в этой функции, чтобы получить следующую запись в таблице. Но он увеличивается только один раз. Любая помощь ценитсяПолучение строк в базе данных PHP Php

Это функция, которую я называю,

<script type="text/javascript"> 
    function getnextques(){ 
     document.getElementById("quescontent").innerHTML= '<?php 
     $x++; 
     $res = mysql_query("SELECT * FROM question_content WHERE id=".$x) or die(mysql_error()); 
     while($row=mysql_fetch_array($res)){ 
      echo $row['ques'] ; 
     }; 
     ?>' 
} 
</script> 

из,

<a href="javascript:getnextques()" class="startbutton" id="mediumone"> Next </a> 
+0

Функции 'mysql_ *' больше не поддерживаются, и сообщество начало [процесс устаревания] (http://goo.gl/KJveJ). Вместо этого вы должны узнать о [подготовленных утверждениях] (http://goo.gl/vn8zQ) и использовать либо [PDO] (http://php.net/pdo), либо [MySQLi] (http://php.net/ MySQLi). Если вы не можете решить, [эта статья] (http://goo.gl/3gqF9) поможет выбрать. Если вы хотите узнать, [это хороший учебник, посвященный PDO] (http://goo.gl/vFWnC). – vascowhite

ответ

4

вы не можете смешивать, как этот Javascript с PHP. PHP основан на стороне сервера, javascript основан на браузере.

Вы должны использовать Ajax для этого (jQuery)

например:

<script type="text/javascript"> 
var x = 0; 
function getnextques(){ 
    var newX = x++; 
    $.ajax({ 
     type: "POST", 
     url: 'script.php', 
     data: { x: newX }, 
     success: function(data) { 
      document.getElementById("quescontent").innerHTML = data; 
     } 
    }); 
} 
</script> 

и script.php

<?php 
    // mysql connection 
    $x = (int) $_POST['x']; 
    $res = mysql_query("SELECT * FROM question_content WHERE id=".$x) or die(mysql_error()); 
    while($row=mysql_fetch_array($res)){ 
     echo $row['ques'] ; 
    } 
?> 
+1

sry, не видел, что вы уже ответили – Gustav

+0

Спасибо большое! –

0

Ваш код PHP работает на сервере и будет статически возвращен в браузер , где работает javascript. Чтобы динамически получать контент, вам необходимо использовать Ajax.

-1

Если вы не знакомы с Ajax или не можете использовать его по какой-либо причине, перейдите на следующую страницу, чтобы отобразить следующий вопрос.

Смежные вопросы