按日期排序,然后选择要在 PHP 中查看的类别


Order by date and chose a category you want to view in php

这段代码让我查看所有报告的问题,它们按日期排序(顶部最古老的)。我需要插入一些内容来让我查看每个类别中的问题。该类别标识为Categorie_ID。 有什么帮助吗?

    <?php
$db=mysql_connect("localhost","username","password") or die("Kan niet verbinden: ".mysql_error());
mysql_select_db(,$db);
$sql = "SELECT * FROM Probleem ORDER BY Datum ASC";
$resultaat  = mysql_query($sql); // voer SQL code uit
echo "<table border=1>";
echo "<tr><td><b>Categorie</b></td><td><b>Datum</b></td><td><b>Omschrijving;</b></td><td><b>Gebruiker_ID</b></td></tr>"; // bovenste regel
if ($resultaat) {
    while ($rij = mysql_fetch_array($resultaat)) {
    echo "<tr>";
    echo "<td>".$rij["Categorie_ID"]."</td>";
    echo "<td>".$rij["Datum"]."</td>";
    echo "<td>".$rij["Probleem"]."</td>";
    echo "<td>".$rij["Gebruiker_ID"]."</td>";
    echo "</tr>";
    }
}
echo "</table>";
mysql_close($db);
?>

您可以使用此代码选择类别。

<form method="post" action="<?php echo $_SERVER["../h5/PHP_SELF"] ?>">
`Selecteer een categorie:<select name="categorieid">
<?php
$db=mysql_connect(("localhost","username","password") or die("Kan niet verbinden: ".mysql_error());
mysql_select_db(",$db);
    $sql = "SELECT * FROM Categorie";
    $resultaat  = mysql_query($sql); // voer SQL code uit
    while ($rij = mysql_fetch_array($resultaat)) {
        echo "<option value='"";
        echo $rij["Categorie_ID"]."'">";
        echo $rij["Categorienaam"]."</option>'n";
    }
mysql_close($db);
?

'

用这段代码试过了,它不起作用,它什么也没做(只显示类别)

<form method="post" action="<?php echo $_SERVER["../h5/PHP_SELF"] ?>">
Selecteer een categorie:<select name="categorieid">
<?php
$db=mysql_connect("localhost","username","password" or die("Kan niet verbinden: ".mysql_error());
mysql_select_db("",$db);
    $sql = "SELECT * FROM Categorie";
    $resultaat  = mysql_query($sql); // voer SQL code uit
    while ($rij = mysql_fetch_array($resultaat)) {
        echo "<option value='"";
        echo $rij["Categorie_ID"]."'">";
        echo $rij["Categorienaam"]."</option>'n";
    }
mysql_close($db);
?>
<?php
if ($_POST["knop"]) {
$db=mysql_connect(("localhost","username","password") or die("Kan niet verbinden: ".mysql_error());
mysql_select_db("",$db);
$sql = "SELECT * FROM Probleem";
if(isset($_POST["categorieid"])){
    $cat_id = $_POST["categorieid"];
    //sanitize $cat_id to reduce injection risk here
    $sql .= " WHERE `categorieid_id` = $cat_id"; //use correct column name
}
$sql .= " ORDER BY Datum ASC";
$resultaat  = mysql_query($sql); // voer SQL code uit
echo "<table border=1>";
echo "<tr><td><b>Probleem_ID</b></td><td><b>Categorie</b></td><td><b>Datum</b></td><td><b>Omschrijving;</b></td><td><b>Gebruiker_ID</b></td></tr>"; // bovenste regel
if ($resultaat) {
    while ($rij = mysql_fetch_array($resultaat)) {
    echo "<tr>";
echo "<td>".$rij['Probleem_ID']."</td>";
echo "<td>".$rij['Categorie_ID']."</td>";
echo "<td>".$rij['Datum']."</td>";
echo "<td>".$rij['Probleem']."</td>";
echo "<td>".$rij['Gebruiker_ID']."</td>";
echo "</tr>";
    }
}
echo "</table>";
mysql_close($db);
}
?>
<form name="form1" method="post" action="">
  <input type="submit" name="Zoek" id="Zoek" value="zoek">
</form>

除非我完全错过了理解这里的问题:

提交将类别 ID 发布到脚本的表单后,请尝试以下操作:

$sql = "SELECT * FROM Probleem";
if(isset($_POST["categorieid"])){
    $cat_id = $_POST["categorieid"];
    //sanitize $cat_id to reduce injection risk here
    $sql .= " WHERE `categorieid_id` = $cat_id"; //use correct column name
}
$sql .= " ORDER BY Datum ASC";
$resultaat  = mysql_query($sql); // voer SQL code uit

然后,它应该得到该类别ID的所有结果,如果未设置,您将获得以前获得的所有结果。