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?
jullie zeggen toch dat dit niet goed kan zijn, kijk dan of er nog iets fout is?!?
@Blanche: er gaat niets meer fout. Maar jij en Frank blijven doorzeuren dat die quotes niet de oplossing zijn, terwijl de query daardoor wel ging werken. Jullie willen blijkbaar een andere oplossing geven, kom dan met die oplossing :).
Maarten schreef op 22.03.2008 14:34
jullie zeggen toch dat dit niet goed kan zijn, kijk dan of er nog iets fout is?!?


@djemo: iig iemand die begrijpt wat ik bedoel...
--laat maar, zinloos verhaal, excuses voor de aanboden hulp--
Frank, dat is ouwe koek oprakelen en opnieuw doorslikken.

Blijkbaar werkte de query niet zonder quotes. Jullie willen een oplossing geven waardoor hij wel werkt zonder quotes. Aan jouw reactie heeft Maarten dus helemaal niets, er wordt nog steeds geen nieuwe oplossing gegeven. Deze oplossing werkt namelijk niet.
ok, ik geef het op, nu doet hij het wel zonder quotes...

sorry frank en blanche voor de problemen, dit topic kan dicht
Succes in elk geval, er staat nog wel een andere fijne bug in, die kom je met een beetje pech nog wel een keertje tegen. Deze is afhankelijk van de serverinstellingen, dan weet je vast waar je kunt gaan zoeken.

@Djemo: en nu blijkt het wel te werken zonder quotes... Goh wat vreemd!
wat jij zei over <?php echo ?> i.p.v <?= ?> bedoel je?
Frank, geweldig! Nu mag jij mij vertellen waarom hij eerst niet werkt, daarna wel mét quotes en nu weer wél zonder quotes?
Djemo schreef op 22.03.2008 14:46
Frank, geweldig! Nu mag jij mij vertellen waarom hij eerst niet werkt, daarna wel mét quotes en nu weer wél zonder quotes?
Daar kunnen dus 1000-en-1 redenen voor zijn, waarbij de meest waarschijnlijke gewoon een foutje van de TS is bij het overnemen van het voorbeeld...

Het moge duidelijk zijn dat die quotes in ieder geval niets uitgemaakt hebben.

Reageren