Ik ben bezig met een multi-poll systeem te maken, maar een WHERE clausule, die het aantal stemmen op een bepaalde keuze zou moeten tellen, geeft altijd maar 1 record terug, terwijl er toch meerdere zijn.
Hier is het stukje code:
$sql_get_voted = "SELECT * FROM poll_votes WHERE poll_id = ".$voted_ids[$i]." AND vote_number = ".$poll_choices['id'];;
$sql_get_total_voted = "SELECT * FROM poll_votes WHERE poll_id = ".$voted_ids[$i];
if($query_count = mysql_query($sql_get_voted) && $query_total = mysql_query($sql_get_total_voted))
{
//dit is de regel waar het om gaat:
$count = mysql_num_rows($query_count);
$total = mysql_num_rows($query_total);
$percent = $count/$total;
echo $poll_choices['poll_choice'];
?>
<div class="count_bar" style="width: <?= $percent*100 ?>px">
<?= round($percent*100) ?>%
</div>
<?php
}
Ik krijg bij de code hierboven op de regel die ik heb aangegeven een foutmelding, dat $query_count geen geldige "result resource" is.
Toed had ik i.p.v een variabele te gebruiken, mysql_query() in mysql_num_rows() gezet, zoals hieronder te zien is
$sql_get_voted = "SELECT * FROM poll_votes WHERE poll_id = ".$voted_ids[$i]." AND vote_number = ".$poll_choices['id'];;
$sql_get_total_voted = "SELECT * FROM poll_votes WHERE poll_id = ".$voted_ids[$i];
//de regel waar het om gaat is de eerste test in de if: "$count ..."
if($count = mysql_num_rows(mysql_query($sql_get_voted)) && $total = mysql_num_rows(mysql_query($sql_get_total_voted)))
{
$percent = $count/$total;
echo $poll_choices['poll_choice'];
?>
<div class="count_bar" style="width: <?= $percent*100 ?>px">
<?= round($percent*100) ?>%
</div>
<?php
}
Met de code hierboven krijg ik niet de foutmelding over de "result resource", maar mysql_num_rows() geeft altijd maar 1 record terug, terwijl er toch meerdere records (stemmen) op 1 keuze zijn.
ziet iemand wat ik fout doe?