Javascript MYSQL下拉列表
提前道歉如果a这个问题已经得到了回答,我确实搜索了,但无法使用我找到的答案,b我不是一个非常熟练的程序员,我正在努力学习 为了使这个尽可能短 我有一个功能齐全的网站,有一个可搜索、可排序的数据库,很久以前有一位同事为我建立了这个数据库,因此我感到非常困惑 我想添加一个从数据库填充的下拉过滤器 代码引用了javascript和PHP。据我所知,PHP为我填充了表格数据,javascript触发了“show xx entries”过滤器和搜索框,这两个功能都很棒 我的问题是我无法获得任何代码的下拉列表,我想添加到工作中。我可以使用下拉列表填充数据,但不能实际过滤数据:Javascript MYSQL下拉列表,javascript,mysql,drop-down-menu,Javascript,Mysql,Drop Down Menu,提前道歉如果a这个问题已经得到了回答,我确实搜索了,但无法使用我找到的答案,b我不是一个非常熟练的程序员,我正在努力学习 为了使这个尽可能短 我有一个功能齐全的网站,有一个可搜索、可排序的数据库,很久以前有一位同事为我建立了这个数据库,因此我感到非常困惑 我想添加一个从数据库填充的下拉过滤器 代码引用了javascript和PHP。据我所知,PHP为我填充了表格数据,javascript触发了“show xx entries”过滤器和搜索框,这两个功能都很棒 我的问题是我无法获得任何代码的下拉列
<?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>
我想我必须操作javascript来添加我需要的内容,因为这就是工作下拉列表和搜索框的来源。。。但是我很讨厌javascript:-\如果有人能帮我,我会非常感激。如果需要,我也可以共享现有的Java:D
干杯 试试看,我编辑了一些似乎不太正确的东西,并添加了一些代码,希望能够过滤这些东西。有点猜测,因为我从未使用过数据表,也不知道数据类型是什么
<?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">
var table; // used to store a reference later
$.fn.dataTablesExt.afnFiltering.push(
function( oSettings, aData, iDataIndex ) {
if (aData[0].toLowerCase() == $('#title_filter').val().toLowerCase()) {
return true;
} else {
return false;
}
}
);
$(document).ready(function() {
/* This triggers the cool filtering stuff, without this it's just a normal table of data */
table = $('table').dataTable({ "iDisplayLength": 10 }); // this starts the datatable stuff and returns a reference to it
});
$("#title_filter").onchange(function() {
table.fnDraw(); // forgot this line - whoops
});
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>
<?php
$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=\"$thing\">".$thing.'</option>';
}
?>
<select id="title_filter">
<?=$options?>
</select>
<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>
下拉菜单在哪里?它应该如何过滤?对于初学者,我建议删除此行中的半引号:$result=mysql\u querySELECT*FROM$table;或Dieu错误;让它看起来像$结果=mysql\u querySELECT*FROM$table或diemsql\u错误;这可能会使您的查询中断。您唯一拥有或应该拥有的下拉列表是选择每页显示的结果数。如果排序按钮工作不正常,则需要分配排序规则或其他内容。查看jQuery数据表的文档,您能提供一个示例输出吗?这样我们就可以看到您想要排序的内容了?一个指向图片或实时页面的链接就可以了。你应该编辑你的帖子来包含这些代码,这里并没有什么帮助:谢谢你尝试Nick,但这似乎破坏了“显示XXX条目的”、下一页功能和排序功能。lol:老实说,我认为关键在于JavaScript,我只是没有足够的技能去理解它。。。如果有人能够提供帮助,并且想要JavaScript的副本,请让我知道,我将通过电子邮件向您发送所有文件。再次感谢!:我真正添加的只是javascript,并修复了生成选择输入框的问题。做一些我自己调试不了的事情很难。您的问题是datatable,您需要阅读有关自定义筛选器的文档。我将继续阅读它,但当我使用您的代码时,似乎不仅新的下拉列表不起作用,而且它删除了以前起作用的功能。老实说,我认为解决方案就在JavaScript中,这对我来说很不幸:Datatables是JavaScript,如果无法访问包括页面示例数据在内的输出,没有人能够真正提供帮助。我将停止,因为我正在成为一个有点破记录的人……我已经提出与任何愿意尝试帮助的人共享这些文件,因为在这里发布太多了,而且页面位于一个我无法访问的安全服务器上。我意识到我不知道我在说什么,也许我也不完全明白你在说什么。。。但是,我正在努力学习,耐心是值得赞赏的。再次感谢你的努力;
<?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">
var table; // used to store a reference later
$.fn.dataTablesExt.afnFiltering.push(
function( oSettings, aData, iDataIndex ) {
if (aData[0].toLowerCase() == $('#title_filter').val().toLowerCase()) {
return true;
} else {
return false;
}
}
);
$(document).ready(function() {
/* This triggers the cool filtering stuff, without this it's just a normal table of data */
table = $('table').dataTable({ "iDisplayLength": 10 }); // this starts the datatable stuff and returns a reference to it
});
$("#title_filter").onchange(function() {
table.fnDraw(); // forgot this line - whoops
});
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>
<?php
$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=\"$thing\">".$thing.'</option>';
}
?>
<select id="title_filter">
<?=$options?>
</select>
<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>