【发布时间】:2013-02-22 01:02:39
【问题描述】:
如果 a) 这个问题已经得到解答,我已经搜索但无法使用我找到的答案,并且 b) 我不是一个非常熟练的程序员并且正在努力学习...
为了尽量缩短...
- 我有一个功能齐全的网站,其中包含一个可搜索和可排序的数据库(这是一个同事很久以前为我构建的,因此我特别困惑)
- 我想添加一个从数据库填充的下拉过滤器
- 代码引用了 javascript 和 PHP。据我了解,PHP 为我填充了表格数据,而 javascript 触发了“显示 xx 条目”过滤器和搜索框——它们都很棒
我的问题是我无法获得想要添加到工作中的下拉列表的任何代码。我可以让下拉列表填充但实际上不能过滤数据:(
<?php
$dbhost = 'localhost';
$dbuser = 'database';
$dbpass = 'password;
$dbname = 'marchmadness';
$table = 'leaderboard';
//connect to the database
$db = mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Leaderboard</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="icon" type="image/png" href="/favicon.ico" />
<link rel="stylesheet" type="text/css" href="assets/css/main.css">
<link rel="stylesheet" type="text/css" href="assets/css/listing.css" media="all" />
<script type="text/javascript" src="assets/js/jquery.min.js"></script>
<script type="text/javascript" language="javascript" src="assets/js/jquery.dataTables.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
/* This triggers the cool filtering stuff, without this it's just a normal table of data */
$('table').dataTable({
"iDisplayLength": 10
});
});
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
</script>
</head>
<body id="listing">
<div id="wrapper">
<div id="topbox" align="center">
<img src="_Images/maddnessheader.png" width="539" height="296" align="center" /></div>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<?
$sql="SELECT Title FROM leaderboard";
$result=mysql_query($sql);
$options="";
while ($row=mysql_fetch_array($result)) {
$id=$row["leaderboard"];
$thing=$row["Title"];
$options.="<OPTION VALUE=\"$id\">".$thing.'</option>';
}
?>
<SELECT NAME=thing>
<OPTION VALUE=0>Choose
<?=$options?>
</SELEC
T>
<table align="center">
<thead>
<tr>
<th>Title</th>
<th>Name</th>
<th>Call Coding (%)</th>
<th>FizzBack SAT Score (%)</th>
</tr>
</thead>
<tbody>
<?php
//get the information from the database
$result = mysql_query("SELECT * FROM `$table`;") or die(mysql_error());
while($row = mysql_fetch_array($result)) {
echo '<tr>';
// print out the data from the database. Notice how the text inside $row[] matches up with the headers in phpmyadmin
echo '<td>' . htmlentities($row['Title']) . '</td>';
echo '<td>' . htmlentities($row['Name']) . '</td>';
echo '<td>' . htmlentities($row['CC']) . '</td>';
echo '<td>' . htmlentities($row['FZB']) . '</td>';
echo "</tr>\n";
}
?>
</tbody>
</table>
</div>
</body>
</html>
我想我必须操纵 javascript 来添加我需要的东西,因为那是工作下拉列表和搜索框的来源......但我很烂 javascript :-\ 如果有人可以提供帮助,我将不胜感激.如果需要,我也可以共享现有的 Java :D
干杯!
【问题讨论】:
-
下拉菜单在哪里?它应该如何过滤?
-
对于初学者,我建议删除此行中的半引号: $result = mysql_query("SELECT * FROM
$table;") 或 die(mysql_error());让它看起来像... $result = mysql_query("SELECT * FROM$table") 或 die(mysql_error());这可能会导致您的查询失败。 -
您拥有(或应该拥有)的唯一下拉菜单是选择每页显示的结果数。如果排序按钮无法正常工作,您将需要分配排序规则或其他内容。查看 jQuery 数据表的文档datatables.net
-
您能提供一个示例输出吗?这样我们就可以看到您要排序的内容? (图片或实时页面的链接就可以了)
-
您应该编辑您的帖子以包含此代码,它在这里并不是很有帮助:)
标签: javascript mysql drop-down-menu