2015-05-22 62 views
1

夥計們,我有一個問題,其實我的php代碼是正確的,但我不知道爲什麼它顯示未定義到我的客戶端腳本。可能有人幫助我使用ajax和php獲取我的mysql數據庫中的所有行

這裏是我的api.php這就是我把我的PHP

<?php 
$dbcon = mysqli_connect("localhost", "root", "", "orms") or die("Server not available" . mysql_error()); 
$data = array(); 
$result = mysqli_query($dbcon,"SELECT * FROM cottages") or die(mysqli_error());   //query 
//$array = mysqli_fetch_row($result); 
$data = array(); 
while($row = mysqli_fetch_assoc($result)) 
{ 
    $data[] = $row; 
} 
echo json_encode($data)       //fetch result  
?> 

這裏是我的client.php代碼

<?php 
    $dbcon = mysqli_connect("localhost", "root", "", "orms") or die("Server not available" . mysql_error()); 
?> 
<html> 
<head> 
<script language="javascript" type="text/javascript" src="jquery.js"> </script> 
</head> 
<body> 
    <h2> Client example </h2> 
<h3>Output: </h3> 
    <div id="output"></div> 

    <script id="source" language="javascript" type="text/javascript"> 

    $(function() 
    { 
$.ajax({          
url: 'api.php', data: "POST", dataType: 'json', success: function(rows)   
{ 
    for (var i in rows) 
    { 
    var row = rows[i];   

    var cot_id = row[0]; 
    var image = row[1]; 
    $('#output').append("<b>cottage: </b>"+cot_id+"<b> image: </b>"+image) 
       .append("<hr />"); 
     } 
    } 
     }); 

    }); 
    </script> 

     </body> 
     </html> 

感謝您的幫助提前..

+0

的問題是數據:「POST」使用類型:「POST」 –

+0

由於腳本不讀取參數,因此無論他使用「GET」還是「POST」。 – Barmar

+0

你好,我做到了,但同樣的錯誤發生.. undefined – Patrick

回答

1

您使用的是mysqli_fetch_assoc,所以該行將是一個關聯數組,它將變成一個Javascript對象。但在Javascript代碼中,您訪問row就好像它是一個數組,而不是一個對象。您需要使用的列名:

var cot_id = row.cot_id; 
var image = row.image; 

(我只是猜測的列名,因爲你使用SELECT *,所以我不能在表格中看到的實際名稱)

+0

的回聲您好吧!非常感謝您的幫助..這是現在的工作。但等待更多的生病試圖包括這一個JavaScript的:)等一會兒生病在一段時間後。 – Patrick

相關問題