6

我是StackOverflow的新成员,虽然我已经使用该网站很长时间了,但这是我第一次发布问题,希望有人能够帮助我。我将首先说我对 PHP 和 MySQL 的了解是基本的,但我认为我正在尝试做的事情并不太复杂,所以希望我不会要求太多。我已经做了很多先前的研究,但我找不到正确的答案。

简而言之,这就是我想要做的:

我有一个 html 表单,它在提交时将数据写入数据库,然后在单独的 html 页面上发布一个表。每次成功提交时,都会生成并发布一个新表,而旧表会被推到下面。这一切都很好,我还实现了分页,因此每页只有 5 个表可见。

我想做的是允许人们仅根据特定标准查看/显示结果(表格),在本例中为“评级”,方法是从表格所在页面的下拉列表中选择评级发表。评级是我的表单中的字段之一,它被提交到数据库,然后在表中的一行中发布。

下面是发布表格的代码。在此先感谢您的帮助!

<?php
include('dbconnect.php'); 

mysql_select_db("vtracker", $con);
$result  = mysql_query("SELECT * FROM userdata");
$age = "Age:";
$rating = "Rating:";
$country = "From:";
$name = "Name:";

        while($row = mysql_fetch_array($result))
        {

                        echo "<table id='mft_table' cellspacing='0'>";
                        echo "<tbody>";
                        echo "<tr>";
                        echo "<td class='row1'>" .$name . " " . $row['personsname'] . "</td>";
                        echo "<td rowspan='4'>";
                        echo "<div class='mft_column'>" . $row['mft'] . "</div>";
                        echo "</td>";
                        echo "</tr>";
                        echo "<tr>";
                        echo "<td class='row2'>" . $country . " " . $row['nationality'] . "</td>";
                        echo "</tr>";
                        echo "<tr>";
                        echo "<td class='row3'>" . $age . " " . $row['personsage'] . "</td>";
                        echo "</tr>";
                        echo "<tr>";
                        echo "<td class='row4'>" . $rating . " " . $row['rating'] . "</td>";
                        echo "</tr>";
                        echo "</tbody>";
                        echo "<br>";
                        echo "</table>"; 

        }
    ?>
4

3 回答 3

1

对于 true 和 false 使用都可以在您的代码中添加 thid:

if($_POST['rating_dropdown']!='')
{
    $temp_rating = $_POST['rating_dropdown'];
    $query=mysql_query("SELECT * FROM userdata WHERE rating = '$temp_rating'");
}
else
{
    $query=mysql_query("SELECT * FROM userdata");
}
于 2013-03-25T12:32:17.067 回答
0

不知道这是否有效,这只是一个小插曲。哈哈。它将查看评级是否为真(非空),如果为真,它将回显结果。

while($row = mysql_fetch_array($result))
{
if ($rating)
                echo "<table id='mft_table' cellspacing='0'>";
                echo "<tbody>";
                echo "<tr>";
                echo "<td class='row1'>" .$name . " " . $row['personsname'] . "</td>";
                echo "<td rowspan='4'>";
                echo "<div class='mft_column'>" . $row['mft'] . "</div>";
                echo "</td>";
                echo "</tr>";
                echo "<tr>";
                echo "<td class='row2'>" . $country . " " . $row['nationality'] . "</td>";
                echo "</tr>";
                echo "<tr>";
                echo "<td class='row3'>" . $age . " " . $row['personsage'] . "</td>";
                echo "</tr>";
                echo "<tr>";
                echo "<td class='row4'>" . $rating . " " . $row['rating'] . "</td>";
                echo "</tr>";
                echo "</tbody>";
                echo "<br>";
                echo "</table>"; 
}

}
于 2013-03-10T14:03:11.060 回答
0

选择下拉列表并将其发布到您的显示页面后,请使用以下代码:

$temp_rating = $_POST['rating_dropdown'];
mysql_query("SELECT * FROM userdata WHERE rating = '$temp_rating'");

但是请记住,您应该使用 PDO 或 mysqli 扩展,而不是 mysql 扩展。根据 PHP 的网站:

此扩展自 PHP 5.5.0 起已弃用,并将在未来删除。相反,应该使用 MySQLi 或 PDO_MySQL 扩展。另请参阅 MySQL:选择 API 指南和相关的常见问题解答以获取更多信息。

于 2013-03-10T14:03:42.147 回答