0

ユーザーがリストから特定のレコードを更新できる次のプログラムを作成しました。ユーザーが [更新] ボタンをクリックすると、[名前] フィールド、[画像] フィールド、およびカテゴリを選択するためのドロップダウン リストを含むフォームが開きます。問題は、Notice: Undefined index: categoryエラー メッセージが表示されることです。私はそれをエコーし​​ようとしましたが、それでも同じエラーメッセージが表示されます。ドロップダウン リストからカテゴリの値を取得できない理由がわかりません。よろしければご確認いただき、ご指導ください。

<?php
    include 'connect.php';

    $sub_category_id= $_GET['sub_category_id'];

    $query=         "Select * from sub_categories where sub_category_id =$sub_category_id";

    $query_run=     mysql_query($query);    

    $fetch=         mysql_fetch_array($query_run);

    $name=          $fetch['sub_category_name'];


    $image_query=               "select * from sub_categories_images where sub_category_id=$sub_category_id";

    $image_query_run=           mysql_query($image_query);

    $image_query_fetch=         mysql_fetch_array($image_query_run);

    $image=                     $image_query_fetch['location'];



    echo "
            <form action='update_sub_category.php?sub_category_id=$sub_category_id' 
            method='POST' enctype='multipart/form-data'>
                <table border=1>
                <tr>
                <td>
                    Sub-Category Name: </td><td>    <input type='text' name='sub_category_name' value=$name ></td></tr>
                <tr>
                <td>
                    Image1:</td><td> <input type='file' name= 'file' value=$image></td></tr> 



            </form> </table>    ";




        /*--------------
        Drop Down List
        ---------------*/

            echo "<select name='category'>";


                $select_query=          'Select * from category';
                $select_query_run =     mysql_query($select_query);


            while   ($select_query_array=   mysql_fetch_array($select_query_run) )
            {

                    echo "<option value='".$select_query_array['category_id']."' >"
                    .htmlspecialchars($select_query_array["name"]).     
                    "</option>";                    

                }
                echo "</br>";

         $selectTag= "</br><input type='submit' value='Update Product'  /></select>";

         echo "</div></div>";

         echo $selectTag;

         echo "</form>";

        /*--------------
        Drop Down List
        ---------------*/




        $category_tag=  $_POST['category'];

        /*  
            $query_sub_category=        "update sub_categories set sub_category_name= $name, 
                                         category_id= $category where sub_category_id=$sub_category_id  ";
            */

?>
4

2 に答える 2

0

カテゴリを選択する前にフォームを閉じているようです。したがって、カテゴリ ドロップダウン リストはフォームに含まれていないため、$_POST 配列には含まれていません。

$selectTag でフォームを閉じていますが、どこから始めたのかわかりません..

于 2013-07-27T08:05:51.010 に答える
0

あなたはフォームを終了し、それを開始していません..そのため、値が転送されません.これを克服するに//// XXXXXXX ////は、コードに このコメントを追加した場所にフォームの開始を追加する必要があります

 <?php
            include 'connect.php';

            $sub_category_id= $_GET['sub_category_id'];

            $query=         "Select * from sub_categories where sub_category_id =$sub_category_id";

            $query_run=     mysql_query($query);    

            $fetch=         mysql_fetch_array($query_run);

            $name=              $fetch['sub_category_name'];


            $image_query=               "select * from sub_categories_images where sub_category_id=$sub_category_id";

            $image_query_run=           mysql_query($image_query);

            $image_query_fetch=     mysql_fetch_array($image_query_run);

            $image=                 $image_query_fetch['location'];



            echo "
                    <form action='update_sub_category.php?sub_category_id=$sub_category_id' 
                    method='POST' enctype='multipart/form-data'>
                        <table border=1>
                        <tr>
                        <td>
                            Sub-Category Name: </td><td>    <input type='text' name='sub_category_name' value=$name ></td></tr>
                        <tr>
                        <td>
                            Image1:</td><td> <input type='file' name= 'file' value=$image></td></tr> 



                    </form> </table>    ";




                /*--------------
                Drop Down List
                ---------------*/
            //// XXXXXXX ////
                    echo "<select name='category'>";


                        $select_query=          'Select * from category';
                        $select_query_run =     mysql_query($select_query);


                    while   ($select_query_array=   mysql_fetch_array($select_query_run) )
                    {

                            echo "<option value='".$select_query_array['category_id']."' >"
                            .htmlspecialchars($select_query_array["name"]).     
                            "</option>";                    

                        }
                        echo "</br>";

                 $selectTag= "</br><input type='submit' value='Update Product'  /></select></form>";

                 echo "</div></div>";

                 echo $selectTag;

                /*--------------
                Drop Down List
                ---------------*/




             $category= $_POST['category'];

                /*  
                    $query_sub_category=        "update sub_categories set sub_category_name= $name, 
                                                 category_id= $category where sub_category_id=$sub_category_id  ";
                    */

        ?>
于 2013-07-27T08:18:40.323 に答える