スレッド表示 | フラット表示〕 全トピック 920 件中 200 番目 次≫ ≪前

フォームの値をプルタウンメニューに追加

created: 2006-08-17 21:20 | modified: 2006-08-21 21:05 | reply: 3

[3233] フォームの値をプルタウンメニューに追加

user: しんのじ | created: 2006-08-17 21:20
分からなかったので,ヒントでよいので宜しくお願い
いたします。

フォーム(textareaタグなど)の値を,
スーパーグローバル関数($_POST['フォームに設定した値'])を使って,

プルタウンメニュー(<option>フォームの値</option>)に登録したいのですが・・・・

MySQLに登録して(入力した値が保存できないので)
WEBアプリケーションに利用する場合どのようにすればよいのでしょう?

----入力フォーム-------
<form method="post"
action="<?php $_SERVER['PHP_SELF'] ?>"> <textareacols="20px"rows="40px"name="a"></textarea><br>
<input type="submit" value="送信">
</form>

----PHPプログラム--------

<select>
<option>$_POST['a']</option>
</select>

また,複数の文字を入力して入力しても上記のプログラムでは,<option>タグに一つの値しか登録できません。

よろしくお願いいたします。
reply: 3235 返信 編集 削除

[3235] Re. フォームの値をプルタウンメニューに追加

user: ゆうじ | created: 2006-08-18 21:47
こんばんわ。前後しますが先ずここから。

> また,複数の文字を入力して入力しても上記のプログラムでは,<option>タグに一つの値しか登録できません。

textarea の値は "a" ひとつだけなので、
PHP側で参照できるのも $_POST['a'] ひとつだけです。
「複数の文字」とは、$_POST['a'] を
どのような値に分けようと考えられてるのでしょうか。


> MySQLに登録して(入力した値が保存できないので)
> WEBアプリケーションに利用する場合どのようにすればよいのでしょう?

かなり質問の範囲が広いので何を答えてよいのやら。
処理の流れは以下のようなものですが、
何がわからないのか絞ってみてください。

■処理の流れ
1.フォームから値を獲得
2.データベースに登録
3.データベースから値を獲得
4.値をHTMLで整形して表示
Parent: 3233  reply: 3238 返信 編集 削除

[3238] フォームの値をプルタウンメニューに追加

user: しんのじ | created: 2006-08-21 16:16
お返事が遅くなってしまいすいませんでした。

私がひっかかっているのは,
テキストエリアに入力した値(あ,い,う,え,お)を,
プルタウンメニューで,

<option>あ</option>
<option>い</option>
<option>う</option>
<option>え</option>
<option>お</option>

のようにしたいのですが,
現状では,

<option>あいうえお</option>

のようになってしまいます。

やはり,参照できるのも $_POST['a'] ひとつだけという事
は無理なのでしょうか?
Parent: 3235  reply: 3239 返信 編集 削除

[3239] Re. フォームの値をプルタウンメニューに追加

user: ゆうじ | created: 2006-08-21 21:05
「テキストボックスから受け取った値 $_POST['a'] を、
文字単位で分割し、セレクトボックスの値に割り当てる」
これが、しんのじさんの目的のようですね。

PHPが勝手に文字単位で分割したりはしませんので、
自分で、文字列$_POST['a'] を、一文字ずつ分割して
配列にする処理を、書き加える必要があります。


文字単位で分割する処理は関数化しておいて、
// 文字列$strを文字毎に分割した配列を返す
//(マルチバイト対応)
// もっと簡潔な方法があるかも
function cher_split ( $str )
{
$array = array();
$start = 0;
while($cher = mb_substr($str, $start, 1)) {
$array[] = $cher;
$start++;
}
return $array;
}

セレクトボックスに設定する部分
<select name="opt">
<?php
$options = cher_split($_POST['a']);
foreach ($options as $option) {
echo "<option value=\"$option\">$option</option>";
}
?>
</select>
Parent: 3238  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 200 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑