为AJAX-PHP-MySQL生成的表创建动态Div标签

<?php $q=$_GET["q"]; $con = mysql_connect('localhost', 'root', ''); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("world", $con); $sql="SELECT * FROM country WHERE Code = '".$q."'"; $result = mysql_query($sql); echo ""; while($row = mysql_fetch_array($result)) { echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo "
Code Name Continent GNP GNPOld
" . $row['Code'] . "" . $row['Name'] . "" . $row['Continent'] . "" . $row['GNP'] . "" . $row['GNPOld'] . "
"; mysql_close($con); ?>

上面是PHP,下面是HTML,我正在研究mysql的示例世界数据库。

    function showUser(str) { if (str=="") { document.getElementById("txtHint").innerHTML=""; return; } 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("txtHint").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","moviedetail.php?q="+str,true); xmlhttp.send(); }    
Select Name <?php mysql_connect('localhost','root','') or die ("could not connect DB"); mysql_select_db('world') or die ("could not connect database"); $query="select code, name from country order by name asc" or die ("query failed"); $result=mysql_query($query); while(list($code, $name)=mysql_fetch_row($result)) { echo "".$name.""; echo "
".$name."
"; } ?>
Country info will be listed here.

这需要从表单和显示表中获取相同的名称。 我的另一组代码是: –

 <?php for (;$i<$nrows;) { #add 1 so that numbers don't start with 0 echo"\n"; for ($j=0;$j<10&&$i<=$nrows;$j++) { $n = $i; $i=$i + 1; $k=$n%30; $row = mysqli_fetch_assoc($result); extract($row); echo " \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 
$n
$Name
$Continent
$Region
$SurfaceArea
$IndepYear
$GNP
$k
\n "; if ($k==0)break 2; } echo"\n"; } ?>

和HTML的相关部分是

  
<?php include ("/connections/query.php"); $nrows = mysqli_num_rows($result); /* Display results in a table */ echo "\n \n"; $i=1; include ("/function/movietable.php"); echo "\n
\n"; ?>
 

我在设计它时遇到了一些麻烦。 我想要一个鼠标hover效果(比如在前两组代码中),显示有关每列国家表格(整个)的更多详细信息,这些表格由最后两组代码生成,在上面的代码中为空白。 我希望尽管页面移动,它仍然始终显示在相同的位置。

我还有一个更简单的问题。 如上所示,我已停止查询30个结果。 我想在底部添加一个show-more按钮,以在同一页面上显示更多结果。

我是新手,所以如果你指出代码中的错误会非常有帮助。 直到现在它在localhost上完美运行。

我建议你使用ez sql来更容易查询数据库: http : //justinvincent.com/ezsql

还有jquery: http : //jquery.com/

这里是一个教程,向您展示如何在jquery中执行ajax调用: http : //net.tutsplus.com/tutorials/javascript-ajax/5-ways-to-make-ajax-calls-with-jquery/

从您的代码中,我可以看到您正在尝试使用$ _GET变量查询数据库。 我假设你的搜索字段的名称是’q’。 并使用javascript动态显示结果。

HTML:

  

JAVASCRIPT:

   

PHP:

  //database configuration here $q = mysql_real_escape_string($_POST['q']); //html table here