0

このコードでは、報告されたすべての問題を表示し、日付順に並べ替えます(一番古いもの)。各カテゴリ内の問題を表示できるように、何かを挿入する必要があります。カテゴリは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>
4

1 に答える 1

1

私がここでの質問を完全に理解し損ねていない限り:

カテゴリ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のすべての結果を取得する必要があります。設定されていない場合は、以前に取得したすべての結果を取得します。

于 2012-06-12T20:59:23.627 に答える