以前寫過一個簡單的投票功能,作用是php post值 如果和資料庫內容一致,則count+1 如下
現在希望把check.php由原來的單個框改成多個進行投票 網上查了下,要用到數組 我把代碼改成
的話就完全行不通了 ,實在不懂,請大神幫忙看下改下代碼,十分感謝!
再問下,資料庫的格式是“1空格1空格1” 這個格式是固定的
投票頁面 如果投票成功,資料庫的count的確+1的話echo投票成功,如果不成功(比如格式錯了,或者填寫錯誤)echo
投票失敗,,這個怎麼做呢?90分獻上,望指教!
回複討論(解決方案)
$_POST['test']就能取到這幾個了,結果是一個數組
$_POST['test[]']是擷取不到值的,你需要擷取$_POST['test'],它的值是個數組,比如可能是:
array('111', '222','333')
然後你需要對數組進行遍曆,插入到資料庫中,你的資料庫不能單純的用等號來擷取:
tl01='$test'"
mysql沒有這種語句,mysql處理多個語句需要用in操作:
where tl01 in ('111', '222', '333')
所以,你需要把數群組轉換成mysql需要的字串:('111', '222', '333'),才能實現你的功能
$_POST['test[]']是擷取不到值的,你需要擷取$_POST['test'],它的值是個數組,比如可能是:
array('111', '222','333')
然後你需要對數組進行遍曆,插入到資料庫中,你的資料庫不能單純的用等號來擷取:
tl01='$test'"
mysql沒有這種語句,mysql處理多個語句需要用in操作:
where tl01 in ('111', '222', '333')
所以,你需要把數群組轉換成mysql需要的字串:('111', '222', '333'),才能實現你的功能
十分感謝你的回答,書上和網上我實在是找不到類似的案列,能麻煩你幫我寫一段完整的執行個體代碼嗎 不勝感謝!
$conn = mysql_connect("127.0.0.1:8889","root","root"); $action = $_POST['action']; if($action == 'send'){ $test = join("','", $_POST['test']); mysql_select_db("test3",$conn); $sql = ("update tll set count=count+1 where tl01 in ('$test')"); $result = mysql_query($sql,$conn); }
$conn = mysql_connect("127.0.0.1:8889","root","root"); $action = $_POST['action']; if($action == 'send'){ $test = join("','", $_POST['test']); mysql_select_db("test3",$conn); $sql = ("update tll set count=count+1 where tl01 in ('$test')"); $result = mysql_query($sql,$conn); }
大神 解決了!十分感謝!請問這知識點是哪本書上學到的?我要再去看看。
再問一下輸入框內格式錯了,或者填寫錯誤投票沒成功echo投票失敗,,這個怎麼做呢?
$conn = mysql_connect("127.0.0.1:8889","root","root"); $action = $_POST['action']; if($action == 'send'){ $test = join("','", $_POST['test']); mysql_select_db("test3",$conn); $sql = ("update tll set count=count+1 where tl01 in ('$test')"); $result = mysql_query($sql,$conn); }
大神 解決了!十分感謝!請問這知識點是哪本書上學到的?我要再去看看。
再問一下輸入框內格式錯了,或者填寫錯誤投票沒成功echo投票失敗,,這個怎麼做呢?
不一定買書,上網多查查資料啊,主要是mysql相關的知識,你要學習mysql文法,就會了