为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 " Code Name Continent GNP GNPOld "; while($row = mysql_fetch_array($result)) { echo ""; echo "" . $row['Code'] . " "; echo "" . $row['Name'] . " "; echo "" . $row['Continent'] . " "; echo "" . $row['GNP'] . " "; echo "" . $row['GNPOld'] . " "; echo " "; } echo "
"; 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 $Name \n \n \n $Continent \n \n \n $Region \n \n \n $SurfaceArea \n \n \n $IndepYear \n \n \n $GNP \n \n \n $k \n \n
\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