2012-01-31 5 views
1

私は、ユーザーが友達を追加できるWebサイトを開発しています。ここでは、簡単なSELECTステートメントを使用して、が保留中ののユーザーを表示しています。ここで私がこれまで持っているものです:今MySQLの行からドロップダウンメニューを選択する

while ($row = mysql_fetch_array($result)) 
{ 
<tr> 
    <td><img src="<?=$photo;?>" /></td> 
    <td><?=$realname;?></td> 
    <td><?=$userid;?></td> 
    <td><?=$username;?></td> 
    <td> 
     <select name="action"> 
      <option value="skip">Skip (no action)</option> 
      <option value="accept">Accept</option> 
      <option value="deny">Deny</option> 
     </select> 
     <input type="hidden" name="uid" value="<?=$userid;?>" /> 
    </td> 
</tr> 
} 

、私はselect一部についてとてもよく分かりません。 1人のユーザーのオプションだけを選択するだけで処理するのは簡単ですが、2人の異なるユーザーのさまざまなオプションを選択すると、結果を分けることができます。今のところ、私に与えるのはuid=1&action=accept&uid=2&action=denyです。選択名をactionからaction[]に変更しようとしていますが、間違っている可能性があります。どんな助けでも大歓迎です。

+0

にそれが良くなると
$_POST['skip']をmysql自体にクエリを表示します。 – Seagull

+0

私はそれが重要とは思わなかった。これは単純な 'SELECT * FROM users WHERE pending = 1'文であり、変数を作るのに' extract'を使っただけです。 –

答えて

0

アクションのキーとしてuidを使用できます。たとえば、

<select name="action[<?php echo $userid; ?>]"> 
    <option value="skip">Skip (no action)</option> 
    <option value="accept">Accept</option> 
    <option value="deny">Deny</option> 
</select> 
+0

受信時にどのように処理する必要がありますか?ストリップ "アクション"? –

+0

あなたが何を求めているのか分かりません。あなたは何も剥がす必要はありません。あなたは単に 'foreach($ _GET ['action']を$ userId => $ actionとして実行することができます)' – Crashspeeder

+0

今すぐ取得します。私は '' 'が誤字だと思った。閉じ括弧がありません。 –

0

は、選択肢の代わりにチェックボックスを使用します。 ので、チェックボックス名として

<td><checkbox name="skip[] value="<?=$userid?>"></td> 
<td><checkbox name="accept[] value="<?=$userid?>"></td> 
<td><checkbox name="deny[] value="<?=$userid?>"></td> 

をユーザーIDを渡し、サーバー側で使用するには、ユーザーIDと3つの配列があります:スキップされたIDSであることを、あなたがする場合はそう

+0

3つのアクションのうちの1つだけを実行できるようにする必要があるため、このケースではラジオボタンがさらに適していると思います。 – Crashspeeder

+0

ええ、それはさらに良いラジオのようです。 –