2013-04-05 65 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