【问题标题】:MySQL/PHP Coding ProgramMySQL/PHP 编码程序
【发布时间】:2015-04-19 22:23:44
【问题描述】:

我有以下代码将我的 phpmyadmin 数据库链接到我的 PHP 脚本。该代码采用包含 50 名 NFL 球员的表格以及他们上赛季的统计数据。现在,我希望能够编码它,以便我可以通过下拉框或某种类似的下拉框/列表选择一个播放器,然后在选中并再次显示表格时,将不会列出该播放器。但是,我被卡住了,不知道该怎么做。至少有人可以帮助我了解基础知识以及我需要什么吗?

<!DOCTYPE html>
<html>
<head>
        <title>PHP Project</title>
        <style>
            table,th,td {
                border: 1px solid navy;
                }
        </style>
</head>

<body>

<?php
    $db_hostname='localhost';
    $db_username='root';
    $db_password='';
    $db_database='Project';

    $connection = new mysqli(   $db_hostname,
                                $db_username,
                                $db_password,
                                $db_database);

    if ($connection->connect_error) {
        echo "Sorry";
    } else {
        echo "Connected!<br><br>";      
        $sql = "SELECT * FROM NFL2014Receiving";
        $result = $connection->query($sql);
        if (!$result) die ($connection->error);
        $n = $result->num_rows;     

        for ($i=1; $i<=$n; $i++) {
            $row = $result->fetch_array(MYSQLI_ASSOC);

        echo "<table>
            <tr><th>ID</th><th>Player</th><th>Team</th>
            <th>Position</th><th>Receptions</th>
            <th>Receiving Yards</th><th>Avg Yds/Catch</th>
            <th>Avg Yds/Game</th><th>Touchdowns</th></tr>";

        echo "<tr><td width=20>" . $row['iD'] . "</td><td width=150>" . $row['Player'] . "</td><td width=40>" .
                $row['Team'] . "</td><td width=30>" . $row['Pos'] . "</td><td width=30>" .
                $row['Rec'] . "</td><td width=40>" . $row['Yds'] . "</td><td width=30>" .
                $row['Avg'] . "</td><td width=40>" . $row['Yds/G'] . "</td><td width=20>" .
                $row['TD'] . "</td></tr>";
        }
        echo "</table>";
    }

?>

</body>
</html>

【问题讨论】:

  • 在遍历行时,将Player/iD 保存在一个数组中,然后使用这些值构建一个下拉列表。然后添加一个条件,如果表单已发布/选择了玩家,则您的查询将包括 WHERE iD != selectedPlayeriD

标签: php mysql database phpmyadmin


【解决方案1】:

你可以这样做:

<?php
    $db_hostname='localhost';
    $db_username='root';
    $db_password='';
    $db_database='Project';

    $connection = new mysqli(   $db_hostname,
                                $db_username,
                                $db_password,
                                $db_database);

    if ($connection->connect_error) {
        echo "Sorry";
    } else {
        echo "Connected!<br><br>";      
        $sql = "SELECT * FROM NFL2014Receiving";
        $result = $connection->query($sql);
        if (!$result) die ($connection->error);
        $n = $result->num_rows;     

        $nfl = array();

        echo "<table>
            <tr><th>ID</th><th>Player</th><th>Team</th>
            <th>Position</th><th>Receptions</th>
            <th>Receiving Yards</th><th>Avg Yds/Catch</th>
            <th>Avg Yds/Game</th><th>Touchdowns</th></tr>";

        for ($i=1; $i<=$n; $i++) {
            $row = $result->fetch_array(MYSQLI_ASSOC);
            $nfl[$row['iD']] = $row['Player'];
            if(!isset($_POST['hide']) || $_POST['hide'] != $row['iD']){
                echo "<tr><td width=20>" . $row['iD'] . "</td><td width=150>" . $row['Player'] . "</td><td width=40>" .
                        $row['Team'] . "</td><td width=30>" . $row['Pos'] . "</td><td width=30>" .
                        $row['Rec'] . "</td><td width=40>" . $row['Yds'] . "</td><td width=30>" .
                        $row['Avg'] . "</td><td width=40>" . $row['Yds/G'] . "</td><td width=20>" .
                        $row['TD'] . "</td></tr>";
            }
        }
        echo "</table>";
        echo "<form method='post' action=''><select name='hide'>";
        foreach($nfl as $key=>$value){
            echo "<option value='".$key."'>".$value."</option>";
        }
        echo "<input type='submit' value='Submit'>";
        echo "</select></form>";
    }

?>

试试看,如果它对你有用,请告诉我:-)

【讨论】:

  • echo "&lt;form method="post" action=""&gt;&lt;select name='hide'&gt;"; 有语法错误。 (双引号问题)
  • @Sean 啊,是的,你是对的,我在这里输入了它。谢谢你。我会解决的。
  • 它在 echo 语句中给我一个语法错误,此代码中的 post 部分:echo "&lt;form method="post" action=""&gt;&lt;select name='hide'&gt;";
  • 是的,我同时编辑了它。现在那里没问题。像这样使用它: echo "
  • 是的,我试过了,效果很好……正是我需要的……谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-01
相关资源
最近更新 更多