Hallo allemaal.

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?
en het moge duidelijk zijn dat mijn poll in ieder geval werkt, dus stop maar hierover en wacht tot de moderator het topic sluit of wat dan ook;)

Reageren