[PHP-users 7294] Re: フォームの変数について
shojun kimura
php-users@php.gr.jp
Tue, 7 May 2002 04:55:23 +0900 (JST)
> 最低限PHPのバージョンは書いておきましょうね。
php 4.1.x以上です
> $${"delete"}.$iがなにをあらわすかわかってプログラムを
書いてますか?
画面に値を出して見ると、delete0,delete1,,のような文字列
が出ます、
私がやりたいのは、delete0という名前の変数を扱うことです
ので、
岸田さんが、書いたように、${${"delete"}.$i}を
使って変数を判断すれば、よかったんですが、
この${${"delete"}.$i}がなかなか思いつかなかったので、
${"delete"}.$iで、やっていました。
> また、コーディング標準の違いの話かもしれませんが
> <form action="submitmsg.php?id=<?=$id?>"
> method="post">
> とするより
> <form action="submitmsg.php" method="post">
> <input type="hidden" name="id" value="<?=$id?>">
> のほうが好きです。
こうするとsubmitmsg.phpの後ろに?xxx=xxx&yyy=yyy&...
のように長くならずに、すむわけですよね、
今度、使ってみます。
> 「順番に」ということは$iは配列かオブジェクトですか?
> そうでなければ、0かなにか単一の値しか入りません。
単一の値しか代入しません。
for($i = 0; $i < $n; $i++)
echo "<input type=\"submit\" name=\"delete\"
value=\"delete$i\">";
のように、
FOR文で、0からテーブルのrowの数だけ、delete0,delete1
という風に、ボタンに名前をつける処理をしています
> でも疑問なんですが、どうしてこんなトリッキーなことする
んですか?
まだ、PHPをやって、1ヶ月くらいで、自分がやっていたこと が
トリッキーなことだったかどうかはわかりませんが、
何かを処理するとき、いろんな方法があると思いますが、
自分が思いついた方法がみんなが、普段、やらないことだから
、
トリッキー何でしょうか、、よくわかりませんが、
もっと、知識を増やして、一般的な方法を使えるようにしたほ
うが
よさそうです。
しかし、一般的な方法を使ってやっている処理がなぜかできな
いので、
どの変数の中身を確認すれば、もしくはどうしたら、いいんで
しょうか。
$db = pg_connect($constr2);
$sql = "select * from taikimsg where id = 'getUser()' and
msgstatus = 1";
$res = pg_exec($db, $sql);
if($res && pg_numrows($res) > 0)
{
$n = pg_numrows($res);
for($i = 0; $i < $n; $i++)
{
$recc = pg_fetch_array($res, $i);
$msg_ = $recc["msg"]; <ーここで、msgというフィールド
が
テーブルの中にあるのに、
expecting `T_STRING'or `T_VARIABLE' or`T_NUM_STRING'
のような、エラーがでます、何を確認すればいいん
でしょうか
echo <<<OPTION_
<option value="<?=$msg_?>">$msg_</option>
OPTION_;
}
echo "</select>\n";
}
また、、質問が多くてすいません。。
td("<input type=\"radio\" name=\"kyoka\"
value=\"kyoka$i\">", 70);
td("<input type=\"radio\" name=\"kyoka\"
value=\"kyohi$i\">", 70);
のように、ラジオボタンに2つとも、kyokaという名前をつけ
て、
if($kyoka == "kyoka".$i)とelseif($kyoka == "kyohi".$i)で
、
ラジオボタンが押されたらそれに関する処理をしたいんですが
、
$kyoka == "kyoka".$iのときには、処理をしますが、
$kyoka == "kyohi".$iのときには、処理をしません。
ちょっと、原因がつかめません。。
ヒントでもいいので、教えてもらえませんか。
よろしくお願いします。m(--)m
for($i = 0; $i < $n; $i++)
{
$rec = pg_fetch_array($r, $i);
if($kyoka == "kyoka".$i)
{
$sql = "update taikimsg set msgstatus = 1, sendtime2 =
date_part('epoch', now()::timestamp) where id =
'".$rec['id']."' and nankome = '$nankome'";
$r_ = pg_exec($db, $sql);
if($r_)
$cnt1++;
}
elseif($kyoka == "kyohi".$i)
{
$sql = "update taikimsg set msgstatus = -1 sendtime2 =
date_part('epoch', now()::timestamp) where id =
'".$rec['id']."' and nankome = '$nankome'";
$r_ = pg_exec($db, $sql);
if($r_)
$cnt2++;
}
} // for
__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!
http://bb.yahoo.co.jp/