1

1 ~ 10 の値を持ついくつかのチェックボックスがあり、値は「locationID」という名前の列の下に配置されます。問題は、たとえば 2 つのボックスにチェックを入れると、2 つのボックスの最大値のみを入力するように選択され、チェックしたボックスごとに新しい行が必要になることです。

私のデータベース構造: テーブル名: イベント
列: column1, column2.., locationID

チェックボックスの php コードの例:

<input class="checkboxarna" name="locationID" style="z-index: 1;position: relative;" type="checkbox" value="1">

PHP での MySQL クエリ: http://pastebin.com/ri7LCib2

私はGoogleとここで検索しましたが、私は今のところPHPがあまり得意ではないので、「他の人のコードを理解し、それを自分で動作するように変換する」ことは本当に難しいですか?それを受け入れてください.

4

3 に答える 3

3
<form action="test.php" method="post">
<input type="checkbox" name="check_list[]" value="value 1">
<input type="checkbox" name="check_list[]" value="value 2">
<input type="checkbox" name="check_list[]" value="value 3">
<input type="checkbox" name="check_list[]" value="value 4">
<input type="checkbox" name="check_list[]" value="value 5">
<input type="submit" />
</form>
<?php
if(!empty($_POST['check_list'])) {
    foreach($_POST['check_list'] as $check) {
            echo $check;
            // Run Your Insert query here. 
    }
}

お役に立てれば

于 2013-02-25T10:16:52.273 に答える
2

フォームを次のように変更する必要があります。

<input type="checkbox" name="locationID[]" value="1" />A<br />
<input type="checkbox" name="locationID[]" value="2" />B<br />
<input type="checkbox" name="locationID[]" value="3" />C<br />

次に、php で値を処理するためのループが必要です。

$loc= $_POST['locationID'];
if ( empty( $loc ) ) {
  echo("You didn't select any checkboxes");
} else {
  for( $i = 0; $i < count($loc); $i++ ) {
    //echo( $loc[$i] . " " ); //ideally insert into DB here
    mysql_query("INSERT INTO event 
         (EventName, EventStart, EventEnd, FromDate, ToDate, locationID, EventValue, isActive, photo)
          VALUES
           ('$_POST[namn]',
            '$_POST[eventstart]',
            '$_POST[eventend]',
            '$_POST[startdate]',
            '$_POST[enddate]',
            '$loc[$i]',
            '$AddValue',
            '$isActive',
            '$pic'
           )
         ");
       }
     }
于 2013-02-22T10:07:41.483 に答える
0
$location_ids = $_POST['location_id'];
if(!empty($location_ids)){
 foreach($location_ids as $location_id)
 {
    if($location_id == 'on' || $location_id)
    {
  mysql_query("INSERT INTO event (EventName, EventStart, EventEnd, FromDate,  
      ToDate,          locationID, EventValue, isActive, photo)
      VALUES

      ('$_POST[namn]','$_POST[eventstart]','$_POST[eventend]','$_POST[startdate]',
       '$_POST[enddate]', '$_POST[locationID]','$AddValue','$isActive','$pic')");

     /* Sending locationID to jointable */
     mysql_query("INSERT INTO `jointable` VALUES('','".$_POST["locationID"]."')");
  }
 }
 mysql_close($con);
于 2013-02-22T10:07:10.100 に答える