php - 使用 PHP 使用下拉列表显示数据库中的数据

标签 php mysql

我正在尝试使用 PHP 显示数据库中的数据,基于 http://www.w3schools.com/php/php_ajax_database.asp 中的代码.
我没有使用 ID 列,而是在讲座表中使用 TITLE 列,但它不起作用。没有显示任何内容(没有警告,没有任何内容)。
我怎样才能做到这一点?这是我的代码

<script>
    function showReport2(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","LectureReport.php?q="+str,true);
        xmlhttp.send();
    }
</script>


我的 HTML

<!-- lectures combo-->
<label for = "LectTitle">
<span>Select Lecture:</span>
&nbsp &nbsp &nbsp
<select name="lectures" onchange="showReport2(this.value)">
    <option value="">----Select Lecture----</option>
    <option value="1">Accounts</option>
    <option value="Web Design">Web Design</option>
    <option value="Database Administration">Database Administration</option>
    <option value="Mathematics">Mathematics</option>
    <option value="English">English</option>
    <option value="French">French</option>
    <option value="Mobile Device">Mobile Device</option>
</select>
</label>

<br/>
<hr>

<div id="txtHint">
    <center>
        Reports Will be displayed here
    </center>
</div> 


我的 PHP 脚本

<?php
$q = intval($_GET['q']);

$connect = mysqli_connect('localhost','root','','ewsd_coursework_db');
if (!$connect)
{
    die('Could not connect: ' . mysqli_error($connect));
}


$sql="
    SELECT 
        * 
    FROM 
        lecture 
    WHERE 
        LECTURE_NUMBER = '".$q."'
    ";

$result = mysqli_query($connect,$sql);

echo "
<table border='1'>
<tr>
    <th>Title</th>
    <th>Overview</th>
    <th>Room</th>
    <th>Organiser</th>
    <th>Presenter</th>
    <th>Date</th>
    <th>Time</th>
</tr>
";

while($row = mysqli_fetch_array($result))
{
    echo "<tr>";
    echo "<td>" . $row['TITLE'] . "</td>";
    echo "<td>" . $row['OVERVIEW'] . "</td>";
    echo "<td>" . $row['ROOM'] . "</td>";
    echo "<td>" . $row['ORGANISER'] . "</td>";
    echo "<td>" . $row['PRESENTER'] . "</td>";
    echo "<td>" . $row['DATE'] . "</td>";
    echo "<td>" . $row['TIME'] . "</td>";
    echo "</tr>";
}
echo "</table>";

mysqli_close($connect);
?>

最佳答案

试试这个

while($row = $result->fetch_array())
{

关于php - 使用 PHP 使用下拉列表显示数据库中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23195490/

相关文章:

php mysql ORDER BY 不起作用...尝试查看其他人,他们没有遇到相同的问题

javascript - 在谷歌地图中显示 JSON 响应(纬度、经度)

php - 我的表单提交按钮不像我的链接 html 按钮那样显示

PHP fatal error 帮助

PHP 验证字符串字符是英国或美国键盘字符

php - Zend-Framework2。查询

php - 为 Guzzle 转换此 cURL

mysql - 我应该使用多个单列索引还是单个多列索引?

php - WordPress $wpdb 更新余额

mysql - Doctrine 问题 - 不同的查询,相同的结果,但 Doctrine 不同