2013-04-05 64 views
0

每次我單擊提交要投票的元素的名稱時,就會在輸入數據庫時​​顯示當前回顯元素後顯示的元素的更改。 關於如何解決這個問題的任何建議?我似乎無法弄清楚。提交數組中的隨機字符串,在回顯字符串後提交字符串

可以說回聲顯示在窗體中的值爲example2。我點擊example2但example1被保存在數據庫中。我不知道如何解決這個問題。謝謝您的幫助。

這裏是我的代碼:

的陣列設置我用:

$array = array("example1","example2","example3"); 
$random = $array; 
shuffle($random); 

<?php echo array_pop($random);?> 

PHP:動作

我使用POST方法的形式。

$mysqli = new mysqli("", "", "", ""); 
if ($mysqli->connect_error) { 
    echo "Failed to connect to MySQL: (" . $mysqli->connect_error . ") " . $mysqli->connect_error; 
} 
if (!$mysqli->query("INSERT INTO table(id, name, votes) VALUES (id, '".$random."', '".$votes."')")) { 
    echo "Multi-INSERT failed: (" . $mysqli->errno . ") " . $mysqli->error; 
} 
+0

你正試圖達到什麼目的?我在這裏看到的所有內容都是冗餘代碼。 – itachi 2013-04-05 03:41:54

+0

<?php echo array_pop($ random);?>顯示數組中的一個元素,並單擊該元素並單擊該元素並在代碼中運行時,將一個不同於單擊元素的元素保存到表中。我想使它與點擊的元素相同。謝謝。對不起,如果我不夠清楚。 「冗餘代碼」是什麼意思? – vince 2013-04-05 03:52:43

回答

0

爲了使您的問題清楚,我相信你想要的以下內容:

  • 拿起從陣列中的隨機元素。
  • 在網頁上顯示。
  • 將其插入數據庫

所以,

$array = array("example1","example2","example3"); 
shuffle($array); 
$element = array_pop($array);  
echo $element; 

然後在數據庫中插入$element

以上是你想要的。 其餘的代碼沒有任何意義。

+0

擺脫了瘋狂的代碼,但是當我回顯名稱顯示的元素時,您的解決方案不起作用,但當我在HTML中單擊它時,它會保存當前回顯元素後面的名稱。 – vince 2013-04-05 08:05:02

+0

你的代碼中的HTML在哪裏? – itachi 2013-04-05 09:15:10

+0

\t​​ \t 」name = 「name」/> \t \t
vince 2013-04-05 16:56:21

0
if (!$stmt->bind_param("s", $id, $votes)) 

應該

if (!$stmt->bind_param("ss", $id, $votes)) because the number of strings and variables have to match. 
+0

感謝一些建設性的批評。它沒有回答我最初的問題,但你確實發現了火花和想法,我測試了它併發揮了作用。謝謝。 – vince 2013-04-05 04:06:52

+0

以及它沒有回答你的問題,但你接受了....?接受的答案必須解決問題。 – itachi 2013-04-05 04:12:09