2011-08-09 7 views
0

チェックボックスをクリックしてデータベースに保存するとuser_idを取得しようとしていますが、コードが機能していないようです。チェックボックスとデータベースが機能しない

$invites = $_POST["invite"]; 
mysql_query("INSERT INTO group_members (fan_id, group_id) VALUES ('$invites',  '$group_id')") or die(mysql_error()); 

while ($row = mysql_fetch_array($friends)) { 
       echo "<div id=\"groupFanBox\"><a href=\"profile.php?id=" . $row['user_id'] . "\">" . $row['full_name'] . "</a><br><input type=\"checkbox\"value=" . $row['user_id'] . " name=\"invite[]\"></br></div>"; 
       echo $row['user_id']; 

何が間違っていますか?

+1

どこに問題がありますか? –

+0

IDKもし入力ミスがあったとしても、入力タグに 'checkbox 'と' value'の間にスペースを入れてください: 'type =" checkbox "value =" .... 'これはエラーの原因となります –

答えて

1

クエリを挿入しても結果セットは返されないため、mysql_fetch_array()は機能しません。おそらくSELECTクエリが必要だったでしょう:

SELECT user_id, full_name 
FROM group_members 
+0

私は必要ですチェックボックスの値(この場合は$ row ['user_id'])を自分のデータベースに入れてください。私は挿入を使用する必要があります。 – Cena

+0

私は選択機能を持って、私はちょうどそれを投稿する気にしなかった..問題は挿入されている – Cena

0

あなたのデータベースに配列を保存しようとしました!あなたは、すべてのチェックボックスのための挿入を実行する必要が

foreach($_POST['invites'] as $fanId) { 
    mysql_query("INSERT INTO group_members (fan_id, group_id) VALUES ('" . intval($fanId) . "', '" . intval($groupId . "')") or die(mysql_error()); 
} 

私はあなたの挿入文が本当の問題であることをasume、whileループは、だけではない場合、あなたが:-)チェックボックスを作成する方法を示すことです私の答えが間違っている;-)

0

何が失敗しているのかを見て、後でコードを処理する簡単な方法は、echo文なしでPHPで必要なhtmlを出力することです。

だから、この:

while ($row = mysql_fetch_array($friends)) { 
       echo "<div id=\"groupFanBox\"><a href=\"profile.php?id=" . $row['user_id'] . "\">" . $row['full_name'] . "</a><br><input type=\"checkbox\"value=" . $row['user_id'] . " name=\"invite[]\"></br></div>"; 
       echo $row['user_id']; 

はこれを次のようになります。

while($row=mysql_fetch_array($friends)){ 
//close your php before the loop ends 
?> 
<div id="groupFanBox"> 
<a href="profile.php?id=<?php print $row['user_id'];?>"><?php print $row['full_name'];?></a> 
<br/> 
<input type="checkbox" value="<?php print $row['user_id'];?>" name="invite[]"> 
<br/> 
</div>"; 
<?php //then close the loop afterwards 
} 
?> 

可読性はさておき、私はあなたが抱えている問題は、チェックボックスのあなたの命名から来ていると思います。 name='invites[]'は、私が信じることはない、投稿$_POST['invites']と同じことを取得しようとしています。角括弧をname='invites'にドロップし、それが機能するかどうかを確認してください。

関連する問題