Archief - PHP: Probje met een deelnemers counter?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Fuji1337

Legacy Member
Ik krijg de volgende fout:
http://users.telenet.be/TinaLoverke/probje.JPG

Maar aangezien ik niet zo een ruime kennis van php heb ken ik ook niet echt de fout, en tis de website van vorig jaar en toen had ik die samen met mijn neefje gemaakt waarvan ook deze code is:
PHP:
								Aantal plaatsen: 100 &#160;&#160;<br >
									Ingeschreven: 
									<?
											$sql10 = "SELECT id FROM nicknaam WHERE voornaam!=''";
											$result10 = mysql_query($sql10);
											$nr10 = mysql_num_rows($result10);
											$open = $nr10;
												if ($open > 170)
												{$set = '<font color="#ff9900">'.$open.'';}
												else if ($open > 190)
												{$set = '<font color="maroon">'.$open.'';}
												else if ($open > 210)
												{$set = '<font color="maroon">150';}
												else 
												{$set = $open;}
												echo $set;
											
											?>
									/100<br>
									Gereserveerd: 
									<?
											$sql10 = "SELECT id FROM nicknaam WHERE voornaam!='' AND betaald=0";
											$result10 = mysql_query($sql10);
											$nr10 = mysql_num_rows($result10);
											$open = $nr10;
												if ($open > 170)
												{$set = '<font color="#ff9900">'.$open.'';}
												else if ($open > 190)
												{$set = '<font color="maroon">'.$open.'';}
												else if ($open > 210)
												{$set = '<font color="maroon">150';}
												else 
												{$set = $open;}
												echo $set;
											
											?>									/100<br>
											Betaald: 
											<?
											$sql11 = "SELECT id FROM nicknaam WHERE betaald!='0'";
											$result11 = mysql_query($sql11);
											$nr11 = mysql_num_rows($result11);
											$open2 = $nr11;
												if ($open2 > 170)
												{$set2 = '<font color="#ff9900">'.$open2.'';}
												else if ($open2 > 190)
												{$set2 = '<font color="maroon">'.$open2.'';}
												else if ($open2 > 210)
												{$set2 = '<font color="maroon">150';}
												else 
												{$set2 = $open2;}
												echo $set2;
											
											?>											/100

Iemand die me kan helpen? Alvast bedankt!

TipqiE[BE]

Legacy Member
het argument dat u meegeeft aan mysql_num_rows() de variable $result

kijk eens welk type argument je nodig hebt voor mysql_num_rows en zorg dat de variabele $result hetzelfde type heeft

ik weet niet of je in sql kan casten,maar dit zou ook een mogelijkheid kunnen zijn

mijn kennis is ook niet zo breed maar ik denk dat daar de fout ligt ;)

Code:
Beschrijving
int mysql_num_rows ( resource result )

mysql_num_rows() geeft het aantal rijen in een resultaat set terug. Dit commando is alleen geldig voor SELECT queries. Om het aantal rijen op te halen dat werd betrokken bij een INSERT, UPDATE of DELETE query, gebruik mysql_affected_rows().

Voorbeeld 1. MySQL num rows voorbeeld
<?php

$link = mysql_connect("localhost", "username", "password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows Rows\n";

?>

in het voorbeeld is er ook een variabele $link om de connectie te maken,die zie ik bij jou ook niet

Fuji1337

Legacy Member
Hm, daar snap ik dus niet veel van, ik heb hem dus ook naar de database laten connecten maar het blijft het zelfde. En vreemd genoeg werkt deze code wel op de vorige site, met als veranderind dat ik de tabel nickname nu nicknaam heb genoemt maar die velden kloppen. Iemand nog een idee?

Fuji1337

Legacy Member
Dat voorbeeldje werkt ook goed, maar hoe kan ik er nu 2 maken? als ik de command gewoon copy paste geeft hij een fout :(

Fuji1337

Legacy Member
Dit is dan voor de ingeschreven te zien. Maar nu wil ik ook laten zien hoeveel er betaald hebben. Maar als ik deze command nu gewoon kopieer en plak geeft hij een fout. Hoe kan ik dit anders doen?
PHP:
<?php

$link = mysql_connect("localhost", "***", "***");
mysql_select_db("***", $link);

$result = mysql_query("SELECT id FROM users", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows Ingeschreven\n";

?>

koebeest

Legacy Member
fuji jij zet daar bij uw mysql_query("select shizzle", $link) , link bij dus.... waarom maak je het moeilijker dan het is. Dat hoeft niet, das nie nodig, geen nut , meer karakters niet nuttig²... myqsl_query werkt , en heeft altijd gewerkt zonder die link... ook in de nieuwste php

dJeez

Legacy Member
koebeest zei:
fuji jij zet daar bij uw mysql_query("select shizzle", $link) , link bij dus.... waarom maak je het moeilijker dan het is. Dat hoeft niet, das nie nodig, geen nut , meer karakters niet nuttig²... myqsl_query werkt , en heeft altijd gewerkt zonder die link... ook in de nieuwste php
Wat hij doet is correct, en ook nodig als hij ooit een connectie zou openen naar meer dan 1 MySQL db tegelijkertijd, het heeft dus wel degelijk zijn nut. Laat dat daar dus maar mooi staan zoals het is.

@Fujii: Om fouten bij het uitvoeren van queries te traceren kan je werken met mysql_query( ... ) or die(mysql_error()); tijdens het testen.

En als je enkel het aantal ingeschrevenen wil weten en verder niets met de resultaten wil doen kan je imho beter een SELECT COUNT() doen...

BTW Specifiëren welke fout je precies krijgt (of is het nog steeds een invalid resultset) is ook wel handig.

Fuji1337

Legacy Member
Het zit zo. Met deze command heb kan ik dus zien hoeveel mensen hebben ingeschreven. Nu zou ik graag OOK willen zien hoeveel mensen betaald hebben. Onder de aantal mensen die ingeschreven zijn. Hoe doe ik dit dan bij deze command erbij?

Dank u
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan