Tein tuossa yhden pollin/gallupin mikä toimii muuten ihan mainiosti ( vaikka rumaa ja varmaan huonosti tehtyä koodia onkin :P ), mutta... tälläinen ongelma ilmennyt...
Kun kaikki tiedot tallentuu tietokantaan... Jossa on sitten erikseen taulut vastauksille ja kysymyksille... Vastaus juttu toimii ihan oikein yms. Kysymykset taulussa on "page" kohta johon tulee sivun nimi jossa tämän sivun pitäisi sitten näkyä... No kun tätä käytän toimii galluppi ihan moitteettomasti... Mutta kun sen pitäisi toimia niin että yhdellä sivulla voi olla useampia polleja...
Eli nyt tässä kohtaa tulee ongelma: Printtaa kysymykset ulos ihan oikein mutta sekoittaa näiden vastaukset yms. vaikka vastaus taulussa vastaukset haetaan ihan poll_id :n mukaan...
koodi ( funktiona käytän ):
function poll($page, $num) { require("protected/mysql/mysql.php"); $ip = $_SERVER['REMOTE_ADDR']; $sql = "SELECT * FROM polls WHERE page = '{$page}'"; $query = mysql_query($sql, $mysql_connect); for($i = 0; $i < mysql_num_rows($query); $i++) { $question = mysql_result($query, $i, "question"); $id = mysql_result($query, $i, "id"); //Check if user has voted already $checksql = "SELECT * FROM poll_answers WHERE ip = '{$ip}' AND poll_id = '{$id}'"; $checkquery = mysql_query($checksql, $mysql_connect); $check = mysql_num_rows($checkquery); if($check >= 1) { $totalsql = "SELECT * FROM poll_answers WHERE poll_id = '{$id}'"; $totalquery = mysql_query($totalsql, $mysql_connect); $total = mysql_num_rows($totalquery); for($i = 0; $i < mysql_num_rows($query); $i++) { $question = mysql_result($query, $i, "question"); $id = mysql_result($query, $i, "id"); $answers = array ( "a" => "answer1", "b" => "answer2", "c" => "answer3", "d" => "answer4", "e" => "answer5", "f" => "answer6", "g" => "answer7", "h" => "answer8" ); echo "<b>{$question}</b><br><br>"; foreach($answers as $ans => $answ) { $resultssql = "SELECT * FROM poll_answers WHERE poll_id = '{$id}' AND answer = '{$answ}'"; $resultsquery = mysql_query($resultssql, $mysql_connect); $votes = mysql_num_rows($resultsquery); $answer = mysql_result($query, $i, $answ); if($answer) { echo "<img src=\"img/poll.jpg\" width=\""; echo percent($total, $votes) . "\" height=\"5\"><br>"; echo "$answer <font color=\"#A00C08\" size=\"1\"><b>( "; echo percent($total, $votes) . " )</b></font><br><br>"; } else { break; } } echo "<div align=\"center\">Total votes<br><b>" . mysql_num_rows($totalquery) ."</b></div><br><br>"; } } else { for($i = 0; $i < mysql_num_rows($query); $i++) { $question = mysql_result($query, $i, "question"); $id = mysql_result($query, $i, "id"); $answers = array ( "a" => "answer1", "b" => "answer2", "c" => "answer3", "d" => "answer4", "e" => "answer5", "f" => "answer6", "g" => "answer7", "h" => "answer8" ); echo " <b>{$question}</b> <form action=\"index.php?poll_action=answer&poll_id={$id}&back=" . $_SERVER['REQUEST_URI'] . "\" method=\"post\"> "; foreach($answers as $ans => $answ) { $answer = mysql_result($query, $i, $answ); if($answer) { echo "<input type=\"radio\" name=\"answer\" value=\"{$ans}\">$answer<br> "; } else { break; } } echo " <br><div align=\"center\"><input type=\"submit\" value=\"vote\" class=\"submit\"></div> </form><br><br>"; } } } }
itse veikkaisin että virhe löytyy jostain foreach :n kohdalata mutta enpä ole varma niin kysynkin teiltä... ^^
Aihe on jo aika vanha, joten et voi enää vastata siihen.