2012-04-24 7 views
0

アンケートへの回答を表示しようとしていますが、最初にUSER IDを互いに分離したいと考えています。今の答えは基本的に各ループでIDを循環させるためにデータベースからの結果を表示する方法

SGpID、SGresult、SGFACemail

....これと同様の保存されている、私はそれぞれ一意のIDためのボタンを表示したいです。 ID 10の5つの回答とID 12の5つの回答がある場合、「ID 10の結果」と「ID 12の結果」というボタンが表示されます。

現在、何が行われているのかは、select文が本質的にすべての答え... no 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']; 
} 

いつもありがとうございました!あなたが本当には、プリペアドステートメントを使用する必要がありますように私は'$email'の代わりに?を使用していた

SELECT DISTINCT SGpID FROM SGresult WHERE SGFACemail = ? 

注:

+0

あなたは 'SGpID'だけを選択するので、出力したいものはあまりよく分かりません。あなたは次のようなことをしたいと思うかもしれません: 'SGpID、count(SGpID)をc FROM SGresult WHERE SGFACemail = '$ email' GROUP BY SGpID' - あなたは' while'ループで次のように出力できます: 'echo "{$ row ['SGpID']}の結果:{$ row ['c']};' – Quasdunk

+0

興味深い質問に、私はそれを与えなければならないでしょう。 – Zanrok

+0

申し訳ありません、幸運:) – Quasdunk

答えて

1
はあなたに SELECTコマンドを変更

。から学ぶBobby Tables

+0

ありがとうEggyral!これはトリックでした、私はmysqlのDISTINCT機能について知りませんでした。準備されたステートメントまで、私はそれに入るでしょうが、私は変数$の電子メールが$ _POSTステートメントから来ているかどうかを理解すれば、テーブルを削除することを防ぐことができますか?ありがとうございます! – Zanrok

+0

'$ _POST'から絶対に**保護されません**悪意のあるユーザーは、 ''; DROP TABLE SGresult; - 'を含め、必要な文字列を指定してください。もしあなたが勇気があれば、電子メールアドレス。 – eggyal

+0

興味深いです。私はあなたの助言を受け取り、私のフォームにsql_injectステートメントを試してみるために他にも数多くの方法を試してみました。彼らのどれも働かなかった。だからおそらくGoDaddyは何らかの保護を提供していますか?私はあなたの声明を挿入しようとするたびに、その中に「 '」という結果を得るでしょう。例えば、... "''; DROP TABLE SGresults; - 「私は他のSQLインジェクションを試してみました...どんな考えですか? – Zanrok

関連する問題