2012-04-24 61 views
0

所以我想显示答案的调查,但首先我想分开用户ID彼此。现在的答案是存储与此类似....如何显示结果数据库使用每个循环来循环通过ID

SGpID,SGresult,SGFACemail

从本质上讲,我想显示每个唯一ID的按钮。因此,如果我有5个ID为10的答案和5个ID为12的答案,我需要按钮说“ID 10的结果”和“ID 12的结果”。

它目前正在做的是显示每个迭代,其中select语句匹配所以基本上每个答案......没有bueno。

我的想法是,我会去通过每个回路分开的结果,并做线沿线的东西...

“每次SGpID是不同的”,与新SGpID显示一个新的按钮。

我只是不确定如何写出来。这是我迄今为止的声明。

$query_db = ("SELECT SGpID FROM SGresult WHERE SGFACemail = '$email'"); 
$result = mysql_query($query_db) or die(mysql_error()); 

while ($row = mysql_fetch_assoc($result)) { 
//insert for each loop here? 
echo $row['SGpID']; 
} 

感谢一如既往的任何帮助或想法在这一个!

+0

我不太清楚你想输出什么,因为你只选择'SGpID'。你可能想要做这样的事情:'SELECT SGpID,count(SGpID)as c FROM SGresult WHERE SGFACemail ='$ email'GROUP BY SGpID' - 然后你可以在你的'while'循环中输出它:'echo “{$ row ['SGpID']}的结果:{$ row ['c']};' – Quasdunk 2012-04-24 19:02:19

+0

有意思的是,我将不得不放弃。对我来说太棒了! – Zanrok 2012-04-24 19:06:07

+0

好吧,祝你好运:) – Quasdunk 2012-04-24 19:06:47

回答

1

更改SELECT命令:

SELECT DISTINCT SGpID FROM SGresult WHERE SGFACemail = ? 

注意我已经代替'$email'使用?,你真的应该使用准备好的语句。从Bobby Tables学习!

+0

非常感谢Eggyral!这样做的伎俩,我不知道关于MySQL中的DISTINCT功能。至于准备好的语句,我会考虑这一点,但我认为从我了解变量$ email是否来自$ _POST语句,它会阻止人们放弃表格?再次感谢! – Zanrok 2012-04-24 19:04:24

+0

FROM'$ _POST'绝对会** **不受保护。恶意用户可以发布任何内容他们想要的字符串,包括''; DROP TABLE SGresult;'。尝试用你的表单提交电子邮件地址,如果你敢的话。 – eggyal 2012-04-24 19:07:05

+0

有趣的..所以我采取了你的建议,并做了你所建议的也尝试了许多其他方式来尝试和sql_inject声明到我的形式。他们都没有工作。所以也许GoDaddy提供某种保护?但每次我试图插入你的陈述时,我都会在结果中加入''。例如......'''; DROP TABLE SG结果; - “我甚至尝试过其他的SQL注入......任何想法? – Zanrok 2012-04-24 20:57:31