Javascript MYSQL下拉列表

Javascript MYSQL下拉列表,javascript,mysql,drop-down-menu,Javascript,Mysql,Drop Down Menu,提前道歉如果a这个问题已经得到了回答,我确实搜索了,但无法使用我找到的答案,b我不是一个非常熟练的程序员,我正在努力学习 为了使这个尽可能短 我有一个功能齐全的网站,有一个可搜索、可排序的数据库,很久以前有一位同事为我建立了这个数据库,因此我感到非常困惑 我想添加一个从数据库填充的下拉过滤器 代码引用了javascript和PHP。据我所知,PHP为我填充了表格数据,javascript触发了“show xx entries”过滤器和搜索框,这两个功能都很棒 我的问题是我无法获得任何代码的下拉列

提前道歉如果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>
&nbsp; <br/>
&nbsp; <br/>
&nbsp; <br/>
&nbsp; <br/>
&nbsp; <br/>
&nbsp; <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>