2011-01-25 117 views
0

这里是HTML/JS代码:PHP回声功能不会输出到HTML DIV与使用innerHTML

<script type="text/javascript"> 
function loadXMLDoc() 
{ 
var xmlhttp; 
if (window.XMLHttpRequest) 
{// code for IE7+, Firefox, Chrome, Opera, Safari 
xmlhttp=new XMLHttpRequest(); 
} 
else 
{// code for IE6, IE5 
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.onreadystatechange=function()    { 
if (xmlhttp.readyState==4 && xmlhttp.status==200) 
{ 
document.getElementById("dd123").innerHTML=xmlhttp.responseText; 
} 
} 
xmlhttp.open("GET","externalphpcode.php?t=" + Math.random(),true); 
xmlhttp.send(); 
} 
window.onload=loadXMLDoc(); 
</script> 

和外部PHP代码:

<?php 
header ('Location: urlofHTMLcode'); 

$con = mysql_connect("hostname","databasename","password"); 

if (!$con) 
{ 
die('Test Error'.mysql_error()); 
} 

$db_selected = mysql_select_db("databasename", $con); 
if (!db_selected) 
{ 
die("Error 3 : ".mysql_error()); 
} 
$result= "SELECT COLUMN_1 FROM T_DEALS WHERE COLUMN_2 = '2011-01-03' 
and COLUMN_3 = 'VALUE_1'" or die ("Error 4 :".mysql_error()); 

$row = mysql_fetch_array($result); 

echo $row; 

mysql_close($con); 
exit(); 

这里是我的问题我们一直在遇到,为简洁起见,大部分HTML/JS都进行了编辑。我已经验证了HTML/JS文件通过改变PHP插入mySQL来准确调用外部PHP文件。我一直试图通过与通过AJAX的“.responseText”命令配对的PHP回显命令,将SQL查询结果显示在指定的DIV容器中。我究竟做错了什么? HTML中的对象引用似乎没有问题,并且在调试PHP/mySQL连接时,错误消息将用代码更改为调用mySQL数据时不会发生的适当错误消息替换DIV值。

预先感谢您。

回答

2

你没有打电话给的mysql_query您的查询,以便您的$结果还不如读

$result="String" Usless statement "String"; 

通常你的SQL存储在一个单独的字符串,所以你会改写如下:

$sql= "SELECT COLUMN_1 FROM T_DEALS WHERE COLUMN_2 = '2011-01-03' and COLUMN_3 = 'VALUE_1'"; 
$result= mysql_query($sql); 
if(!$result) {die ("Error 4 :".mysql_error());} 

接下来,$ row var是一个数组,您应该使用for循环遍历数组,或者访问特定的索引。你不能直接回显数组,你所得到的只是输出中的“数组”。

for循环会是这样的

for $cell in $row{ 
echo $cell; 
} 

和finnally在你发布你中省略了最终的代码?>所以一定要确保它实际上是在有你的PHP代码。

另外我真的会推荐你使用jQuery而不是你使用的js计划,因为它会在不同的浏览器上运行得更少,如果你还没有听说过,这个教程会让你开始http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery

+0

我读过http://php.net/manual/en/function.mysql-fetch-row.php和http://www.w3schools.com/PHP/php_mysql_select.asp这应该工作。即使我在mySQL中调用单个值,它也不会回显到HTML中。也许responseText与echo函数不兼容? – user567623 2011-01-25 14:31:25

0

为了跟进,我最终发现了这个错误。它似乎在我的.php调用函数,我把一个值,在限制正确的输出头。它与.js或.php语言无关。

UserZer0,你是绝对正确的......当我回显$行它输出数组。但是我终于得到了输出并且可以用它来工作。

千谢谢你!