2015-04-05 66 views
0

我在我的网站中显示了此页,我在该数据库中显示了表中的所有数据。我想要的是有一个下拉列表,并从下拉列表中选择我想查看的类别,但我想选择类别而不是到任何按钮,只需选择类别即可。 这是我的网页看起来像......无需点击按钮即可从下拉列表中获取数值

enter image description here

而且我的代码,这怎么...

<!DOCTYPE html> 
<?php 
include_once 'header.php'; 
?> 
<html> 
<head> 
<script> 
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","getuser.php"+str,true); 
    xmlhttp.send(); 
} 
</script> 
</head> 
<body> 

<form> 
Select Category :<select name="users" onchange="showUser(this.value)"> 
<option value="*">All</option> 
    <!--emfanizei tis epiloges gia ta specialties me basi auta p exoume sti basi mas --> 
    <?php 
    $sql = mysql_query("SELECT name FROM disease"); 
    while ($row = mysql_fetch_array($sql)){ 
    echo "<option value='".$row['name']."'>".$row['name']."</option>"; 
    } 
?> 
</select><br><br /> 
</form> 
<br> 
<div id="txtHint"><b>Person info will be listed here.</b></div> 

</body> 
</html> 

而且getuser.php代码是这样的......

<!DOCTYPE html> 
<html> 
<head> 
<style> 
table { 
    width: 100%; 
    border-collapse: collapse; 
} 

table, td, th { 
    border: 1px solid black; 
    padding: 5px; 
} 

th {text-align: left;} 
</style> 
</head> 
<body> 

<?php 

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

mysqli_select_db($con,"ajax_demo"); 
$sql="SELECT author,category,subject,content FROM announcements"; 
$result = mysqli_query($con,$sql); 

echo "<table> 
<tr> 
<th><b>Author</b></th> 
    <th><b>Category</b></th>   
    <th><b>Subject</b></th> 
    <th><b>Content</b></th> 
</tr>"; 
while($row = mysqli_fetch_array($result)) { 
    echo "<tr>"; 
    echo "<td>" . $row['author'] . "</td>"; 
    echo "<td>" . $row['category'] . "</td>"; 
    echo "<td>" . $row['subject'] . "</td>"; 
    echo "<td>" . $row['content'] . "</td>"; 
    echo "</tr>"; 
} 
echo "</table>"; 
mysqli_close($con); 
?> 
</body> 
</html> 
+1

你可以通过javascript过滤它们,或者只是在列表的onchange事件上发送请求的另一个查询 – albanx 2015-04-05 21:06:32

+0

所以...你想绑定到'select'元素的'change'事件?什么东西阻止你? – David 2015-04-05 21:07:41

+0

@大卫这样做:P和我不知道如何:P – DogFace 2015-04-05 21:08:19

回答

-1

您没有提供足够的有关您的问题的信息,请发布完整的代码以便我们更好地了解您的问题。

此外,您还没有为前端和后端使用功能或单独的页面,您将遇到难题的恶梦,试图做你想做的事情。

您需要从头开始重建程序,这样整个事物就是一个自己生成的表单,然后当用户选择一个类别时,它将使用$ _POST操作根据所选类别重新加载页面。

如果将来类别的数量会发生变化,这对PHP来说是不可能的,因为您必须首先知道类别的名称才能创建switch语句。

AJAX将为您节省几小时的头发。

我知道这可能不是你想听到的,但它的真实答案,你不能使这个工作如何写它。

相关问题