質問: htmlspecialchars(trim(urldecode(mb_convert_encoding($value, 'UTF-8', 'auto')))); $i++; echo "" . $row['category'] . "\n"; } ?> ``` ``` ---2--- Choose One fetch_assoc()) { echo "".$row['category'].""; ?> ```
回答: 「その友人に聞けば早いのでは」と思いますが・・・ ご友人のコードのこの部分ですよね > > $categorybox = isset($_POST['category_id'])? $_POST['category']: ''; > > > 僕はこの友人ではないしコードを全て提示されているわけではないので、このコードを見た限りでしか答えられませんが、 POSTした結果を同じPHPで受け取るような想定であれば、ありえる書き方と思います。 さて、 1.のコードについてですが`$categorybox`に値を設定していてどこにも使ってませんね。 htmlspecialchars()を利用するのは出力する情報に対して行わなければならないので、その1行は意味がありません。どこから持ってきたのか分からない`$value`を使ってますし。 他にもurldecode()なども含めて、本当に必要な処理かどうかは検討の必要があります。 あと、 `Choose One` の部分ですがあくまで「文字列」がなので「NULL」と入れるのはどうかと・・・。 よくある「選択してください」という意味なら`value=""`で十分かと。 > > 最後にmysqli_data_seek($result, 0);を入れたら、DBのデータがセレクトボックスに入ってくれました。 > > > 厳しいことを言うようですが、なぜデータが入ったかなど、関数の意味を含めてきちんと理解されないと成長できないと思いますよ。 もしかしたらもっと良い書き方があるかもしれないという可能性があるかもしれないのに「動いたからいっか」と可能性を潰してしまっているような気がしてなりません。