0

eコマースWebサイトを開発するための小さな大学プロジェクトに取り組んでいます. いくつかのコードが提供されており、これを自分のニーズに合わせて変更しています。

私は現在、いくつかの配列をオプション内で動作させ、タグを選択することに問題があります。これらの配列の違いは、別のページに移動するなどのアクションが関連付けられていることです。

問題は、このアクションがオプション タグ内で使用されていないようです。ここに見られるようにhttp://mkiddr.com/phptests/shopping/

編集前の元のコードは次のとおりです。

<body>
<div id="wrapper">
<div id="header">
    <p><a href="index.php">Home</a> | Browse:
    <?php
        $q="SELECT c_id, c_name FROM sc_cat";
        $result = mysqli_query($_SESSION['conn'],$q);
        while ($row = mysqli_fetch_row($result)){
            echo "<a href='category.php?id=$row[0]'>$row[1]</a> ";
        }
        unset($q); //unset query variable
        mysqli_free_result($result); //free result
        ?>
</div>
<div id="content"><!-- note this is an opening tag -->

これが編集された私のコードです(動作しません)

<body>
<div id="wrapper">
<div id="header">
    <p><a href="index.php">Home</a> | Browse:

    <select>
    <?php
        $q="SELECT CategoryID, CategoryName FROM ProductCategories";
        $result = mysqli_query($_SESSION['conn'],$q);
        while ($row = mysqli_fetch_row($result)){

            echo "<option value='category.php?id=".$row[0]."'>".$row[1]."</a></option>";
            //display categories

            }
        unset($q); //unset query variable
        mysqli_free_result($result); //free result
    ?>
    </select>

</div>
<div id="content"><!-- note this is an opening tag -->

誰かが私たちにこれを手伝ってくれたら本当にありがたいです!

4

2 に答える 2

0

問題は、オプション タグに実行する「アクション」がないことです。選択したオプションにユーザーをリダイレクトするには、javascript を使用する必要があります。SELECTタグをに変更

<select onchange="window.location = this.value;">
于 2013-03-06T13:25:18.633 に答える
-1

次の while ループを交換してみてください。

   while ($row = $result->fetch_row()) {

        echo "<option value='category.php?id=".$row[0]."'>".$row[1]."</a></option>";
        //display categories

        }

そして、これが機能するかどうかを確認してください

@Stormherz は、選択時にこれを自動的にロードすることについても言及しているため、select タグのオプションに onclick メソッドを配置する必要があります。

于 2013-03-06T13:25:41.970 に答える