[php]接收多選及MySQL UPDATE問題...

由於個問題比較抽象,若要表達不清請見諒。

話說首頁有一筆資料,有12,3個欄位
咁依家我整左一頁去更新,其中包括一欄係多選項(在Mysql中型態係set)
即係咁:


咁接收該筆資料時我聽講過 loop ,試左幾種,不過出 error
可能係我修改上的錯誤,所以貼出來先:

更改.php
                                  $t_1 = "vip 房";
                                  $t_2 = "女士之夜";
                                  $t_3 = "駐場 DJ";
                                  $t_4 = "有飛鏢機";
                                  $t_5 = "卡拉 OK";
                                  $t_6 = "無敵海景";
                                  $t_7 ="足球直播";
                                  $t_8 ="主打紅酒";
                                  
                                  if(strpos($rows["toye"],$t_1) == true){$t_1 = 'selected="selected" value="有 VIP 房"';}
                                  else{$t_1 = 'value="有 VIP 房"';}
                                  
                                  if(strpos($rows["toye"],$t_2) == true){$t_2 = 'selected="selected" value="女士之夜"';}
                                  else{$t_2 = 'value="女士之夜"';}       
                                  
                                  if(strpos($rows["toye"],$t_3) == true){$t_3 = 'selected="selected" value="駐場 DJ"';}
                                  else{$t_3 = 'value="駐場 DJ"';}

                                  if(strpos($rows["toye"],$t_4) == true){$t_4 = 'selected="selected" value="有飛鏢機"';}
                                  else{$t_4 = 'value="有飛鏢機"';}

                                  if(strpos($rows["toye"],$t_5) == true){$t_5 = 'selected="selected" value="卡拉 OK"';}
                                  else{$t_5 = 'value="卡拉 OK"';}

                                  if(strpos($rows["toye"],$t_6) == true){$t_6 = 'selected="selected" value="無敵海景"';}
                                  else{$t_6 = 'value="無敵海景"';}

                                  if(strpos($rows["toye"],$t_7) == true){$t_7 = 'selected="selected" value="足球直播"';}
                                  else{$t_7 = 'value="足球直播"';}

                                  if(strpos($rows["toye"],$t_8) == true){$t_8 = 'selected="selected" value="主打紅酒"';}
                                  else{$t_8 = 'value="主打紅酒"';}                                  
                                  ?>
                                  
                                          <select name="type[]" size="5" multiple="multiple" >
                                          <option <?=$t_1;?>> VIP 房 </option>
                                          <option <?=$t_2;?>> 女士之夜 </option>
                                          <option <?=$t_3;?>> 駐場 DJ </option>
                                          <option <?=$t_4;?>> 有飛鏢機 </option>
                                          <option <?=$t_5;?>> 卡拉 OK </option>
                                          <option <?=$t_6;?>> 無敵海景 </option>
                                          <option <?=$t_7;?>> 足球直播 </option>
                                          <option <?=$t_8;?>> 主打紅酒 </option>
                                  </select>
                                  </label>


接收.php
        foreach(mysql_real_escape_string( htmlspecialchars( $_POST['type'] ) )   as   $key=>$value);
        $type = $value;


而另一個問題就係,我發覺原來我未寫過 UPDATE 的語句,經 Google 後
看了幾個版本,請問這樣正確嗎?
        $uquery="UPDATE ubarbar_bar SET sn = {$idkey}, scode = {$scode} , name = {$name} ,
                        phone = {$phone} , toye = {$type} , badd = {$badd} , add = {$add} ,
                        people = {$people} , btime = {$btime} , coupon = {$idkey} , int = {$int} , inm = {$inm}
                        WHERE sn = {$idkey}";
        $uresult = mysql_query($uquery) or die("Error: " . mysql_error( ));


不過送出 Error 係,估計都關接收表單接收唔到個多選事..:

Warning: Invalid argument supplied for foreach() in /home/ubb/domains/ubarbar.com/public_html/admin_update.php on line 28
101-150Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' name = Max Club , phone = 69080308 , toye = , badd = 尖沙咀 , add = 山�' at line 1


[ 本帖最後由 LikPan 於 2010-1-11 21:25 編輯 ]
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

原帖由 LikPan 於 2010-1-11 16:57 發表
由於個問題比較抽象,若要表達不清請見諒。

話說首頁有一筆資料,有12,3個欄位
咁依家我整左一頁去更新,其中包括一欄係多選項(在Mysql中型態係set)
即係咁:
989856

咁接收該 ...

UPDATE 語句非數字類資料要用引號。

TOP

value都可以用中文字

TOP

更改.php 頂唔順, 幫你縮短左
  1. <?php
  2. $types = array('有 VIP 房' => ' VIP 房 ',
  3.                 '女士之夜' => ' 女士之夜 ' ,
  4.                 '駐場 DJ' => ' 駐場 DJ ',
  5.                 '有飛鏢機' => ' 有飛鏢機 ',
  6.                 '卡拉 OK' => ' 卡拉 OK ',
  7.                 '無敵海景' => ' 無敵海景 ',
  8.                 '足球直播' => ' 足球直播 ',
  9.                 '主打紅酒' => ' 主打紅酒 ');
  10. ?>
  11. <select name="type[]" size="5" multiple="multiple">
  12. <?php
  13. foreach ($types as $key => $val) {
  14.         echo '<option';
  15.         if (strpos($rows["toye"], $key) !== FALSE)
  16.                 echo ' selected="selected"';
  17.         echo ' value="'.$key.'">'.$val.'</option>';
  18. }
  19. ?>
  20. </select>
複製代碼
唔係對外既 value 都用中文, 自尋煩惱終有一日自食其果...

TOP