-
使用PHP提取結果
- 遍歷結果
- 連接到數據庫
- 存儲結果的方式使得在在運行時可以訪問
我如何試圖做到這一點:
- SQL QUER y以獲得數據
- 創建列數據的輸入功能,該數據輸出作爲javascript對象
- 商店javascript對象的javascript數組中(尚未完成的)
出於某種原因(其可以或可以對於訓練有素的眼睛不是顯而易見的)我遇到了一個錯誤。
注意:數據庫連接完美工作,並且正確的結果不會被提取。問題是我試圖通過php執行我的JavaScript的100%的方式。我假設PHP正在看到var
等,並正在編譯它。
請告知下面的代碼,如果需要更多的細節,我會高興地擴大:
<?
if (!isset($_COOKIE['authPw'])){
echo '<script>window.location="http://www.google.com"</script>';
}
?>
<html>
<head>
</head>
<body>
<?
function jsEcho($i,$cN,$fN,$lN,$pN,$eM){
$jString="var appObj = new Object();";
$jString+="appObj.id=" + $i + ";";
$jString+="appObj.companyName=\'" + $cN + "\';";
$jString+="appObj.firstName=\'" + $fN + "\';";
$jString+="appObj.lastName=\'" + $lN + "\';";
$jString+="appObj.phoneNumber=\'" + $pN + "\';";
$jString+="appObj.eMail=\'" + $eM + "\';";
//echo "1ONE1".$jString."2TWO2";
return $jString;
}
$host="localhost"; // Host name
$username="abc"; // Mysql username
$password="def"; // Mysql password
$db_name="ghi"; // Database name
$tbl_name="jkl"; // Table name
$link=mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$mySQL="select * from ".$tbl_name.";";
echo $mySQL;
$result=mysql_query($mySQL);
$jS="var aApps=new Array();";
while ($row = mysql_fetch_array($result))
{
$iD=$row["id"];
$companyName=$row["companyName"];
$firstName=$row["firstName"];
$lastName=$row["lastName"];
$phone=$row["phone"];
$email=$row["email"];
$jS+=jsEcho($iD,$companyName,$firstName,$lastName,$phone,$email);
}
?>
</body>
<?
echo '<script>';
echo $jS;
echo '</script>';
?>
</html>
哇...這就是激烈的...嘗試調查JavaScript負載和eval()函數。 –
這個腳本的實際輸出是什麼?查看 - 在瀏覽器中查看它。 –
儘量不要像這樣使用PHP生成JavaScript。相反,使用Ajax並從服務器獲取JSON。 – Ryan