アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんばんわっ!

度々質問させていただいてます。

今回、Mysqlより日記のデータの抽出を行いました。

書いたり更新したり削除したりと言う日記です。


書いたり更新したりは無事出来ました。問題は削除です。

セレクトフォーム形式の場合削除できました。

しかしセレクトフォーム形式の場合一個づつの削除になります。

これじゃあんまりだなぁ・・・と思い。
非常に悩みました。
チェックボックス形式にしようと思いましたっ!

抽出結果に↓をループしました。
<input name="checkbox[]" type="checkbox" value="<?=$id?>" />

表示結果は↓です。

□太郎さんの5月1日の日記
タイトル;ホニャララ

□太郎さんの5月2日の日記
タイトル;ホニャララ

チェックした日記を削除する。


の様になります。(□はチェックボックスです)


値の受け渡しはこちらです↓

$result =$_POST['checkbox'];
foreach($result as $id)

今回チェックボックス形式の削除は初めてです。

チェックボックスにあるname=checkbox[] と vulue の理解できてません(*∩_∩*)

一つの項目は受け渡せました。

しかし複数チェックを行っていても複数の値を受け渡す事出来ません。

vulue= に問題ありますか!
又は値を受け取る $result =$_POST['checkbox'];  foreach($result as $id)
にもんだいありますかっ!

A 回答 (1件)

見たところ、あってるようです。



"checkbox[]"という名前が何なのかというと、
PHPでは、変数を配列にしたときに配列に値を追加する方法が二つあります。
<?php
//一つ目
array_push($array, $value);

//二つ目
$array[] = $value;
?>
こんな感じです。
HTMLのINPUTタグでも、checkbox[]のように「[]」をつけてやることで、
name属性に同じ値でも「二つ目」と同じように、配列に値を追加するように展開されます。
なので、$_POST['checkbox']には、value属性があるだけ挿入されるようになります。なので、
>$result =$_POST['checkbox'];
>foreach($result as $id)
HTMLタグ及び上記の書き方は正しいと判断されるものですが、実際に、画面上に取得されたHTMLのソースは正しく表示されているかPCのブラウザで、開いてみて、ソースを確認してみてください。
value属性に$idがちゃんと入っていて、formタグの囲いの中に全部存在してますか?

後は、foreach文のなかで、作成されたであろうSQL文は正しい記述になっていますか?
    • good
    • 0
この回答へのお礼

hogehoge78さんこんにちわ!
いつもおせわになっております。

ソースは大丈夫なんですねっ(*^-^*)
安心しました。

>>formタグの囲いの中に全部存在してますか?
だいじょうぶみたいでした!
>>後は、foreach文のなかで、作成されたであろうSQL文は正しい記述になっていますか?
大丈夫だと思います!
セレクトフォームの時にきちんと削除できていました。
そこにforeach構文を付け加えました。

もう一度確かめてみたいと思います。
度々すいません。

ありがとうございました!ヽ(-^.^-)ノ

それと・・・前回教えていただいた絵文字はできました。
変換テーブルも一つ一つ作りきちんと出るようになりました。
また一つ成長しました。

hogehoge78さんと教えてくださった皆さんのおかげです。
有り難う御座います!

お礼日時:2009/09/18 16:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!