CrazyWaiter
[sport-mod] The One
Sinds 24/9/2004
T: 57
R: 2506
|
23/3/2005 -
1:33u
| Quote
|
'k zou een stukske php-code willen schrijven da aan de hand van een sql-query en bijhorende programmacode in een getal resulteert. Ik heb een tabel met users met een kolom posts, met daarin het aantal posts van dienen user. Nu zou'k dmv van da stukske code alle users in de tabel afgaan en hun aantal posts optellen. Ik denk da'k da ooit ergens in 't school moet gezien hebben, ma ben het vergeten 
Thx alvast
|
Flyboy
[mod] everywhere
Sinds 18/6/2003
T:43 -
R:4373
|
23/3/2005 -
9:09u
| Quote
|
<? $query_totaal_aantal_posts = mysql_query("SELECT posts FROM tabelnaam" ); //<=spatie wegdoen voor ), maar anders stond er een smiley $totaal = "0"; while($tabel = mysql_fetch_array($query_totaal_aantal_posts)){ $totaal = $totaal + $tabel[posts]; }
echo $totaal; ?>
zoiets zou dat moeten zijn denk ik. er zijn nog andere manieren, maar deze werkt zeker.
|
Ets
Jozef
Sinds 3/1/2003
T:17 -
R:475
|
23/3/2005 -
9:12u
| Quote
|
SELECT SUM(posts) FROM users;
Laatst aangepast door
Ets
op 23/03/2005 9:12:56u
(1x aangepast)
|
Flyboy
[mod] everywhere
Sinds 18/6/2003
T:43 -
R:4373
|
23/3/2005 -
9:14u
| Quote
|
Ets schreef: SELECT SUM(posts) FROM users; ok, weer iets bijgeleerd  de COUNT(posts) kende ik dacht dat iets dergelijks voor som ook moest bestaan,ni gevonden. shame on me
|
CrazyWaiter
[sport-mod] The One
Sinds 24/9/2004
T:57 -
R:2506
|
23/3/2005 -
10:56u
| Quote
|
Ets schreef: SELECT SUM(posts) FROM users; da was het dus da'k ooit eens gezien had op 't school  'k wist dat er zoiets bestond 
EDIT: 'k heb beide codes eens geschreven en voor da van Ets kreeg ik als resultaat 0 en da van Flyboy 18, ma 't moet veel meer zijn. 'k ben nog aan 't zoeken waar de fout ligt, moest ge ook een fout opmerken moogde't altijd laten weten e 
EDIT 2: dit is de warning -->
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
Laatst aangepast door
CrazyWaiter
op 23/03/2005 11:37:26u
(2x aangepast)
|
Ets
Jozef
Sinds 3/1/2003
T:17 -
R:475
|
23/3/2005 -
14:07u
| Quote
|
EDIT: 'k heb beide codes eens geschreven en voor da van Ets kreeg ik als resultaat 0 en da van Flyboy 18, ma 't moet veel meer zijn. 'k ben nog aan 't zoeken waar de fout ligt, moest ge ook een fout opmerken moogde't altijd laten weten e 
En ditte: SELECT SUM(posts) AS resultaat FROM users
Schrijf nu eens 'resultaat' neer
Zorg er ook voor dat 'posts' een integer veld is!
Laatst aangepast door
Ets
op 23/03/2005 14:12:15u
(2x aangepast)
|
CrazyWaiter
[sport-mod] The One
Sinds 24/9/2004
T:57 -
R:2506
|
23/3/2005 -
23:07u
| Quote
|
posts is mediumint (8 ) UNSIGNED
Laatst aangepast door
CrazyWaiter
op 23/03/2005 23:21:35u
(2x aangepast)
|
Cmax
WZL-lid
Sinds 4/6/2003
T:7 -
R:234
|
24/3/2005 -
22:54u
| Quote
|
Ge moet het doen zoals flyboy het ongeveer doet.
nu ik ken niks van php maar wel van sql. de query van flyboy is goed. hij haalt dus alle gegevens van de tabel post binnen. en die zet ge in een array (in vb is dat een recordset) dan doorloopt ge die array, en telt ge deze telkens op. Dus volgens mij zit er mss ergens een klein foutje in de code van flyboy onder de query. maar helaas door mijn minieme kennis van php kan ik u daar niet bij helpen.
|
Ets
Jozef
Sinds 3/1/2003
T:17 -
R:475
|
24/3/2005 -
23:20u
| Quote
|
Nog nooit een wzl geschreven, zeker?
|
Kay
[admin] God
Sinds 1/1/2003
T:20 -
R:496
|
24/3/2005 -
23:29u
| Quote
|
Cmax schreef: Ge moet het doen zoals flyboy het ongeveer doet.
nu ik ken niks van php maar wel van sql. de query van flyboy is goed. hij haalt dus alle gegevens van de tabel post binnen. en die zet ge in een array (in vb is dat een recordset) dan doorloopt ge die array, en telt ge deze telkens op. Dus volgens mij zit er mss ergens een klein foutje in de code van flyboy onder de query. maar helaas door mijn minieme kennis van php kan ik u daar niet bij helpen. Ge moet het doen zoals Ets het zegt. Wete, stel dak nu zou moeten optellen hoeveel PP da alle users samen hebben... Kzal da is door nen array jagen, 5000 users... Dan krijg ik de rekening van de airco van int serverpark in Zaventem. En da zijn dan nog maar 5000 records. Of kijken hoeveel users er per maand geregistreerd zijn in 2004... Kan ook met een simpele SUM en GROUP BY.
WZL is op performantie geschreven, neem van mij aan dat zoiets als loopen om een som te maken niet meer werkt als je 15000 bezoekers per dag krijgt...
|
CrazyWaiter
[sport-mod] The One
Sinds 24/9/2004
T:57 -
R:2506
|
24/3/2005 -
23:35u
| Quote
|
'k heb eens verder gespeurd en ben tot de constatatie gekomen dat er op een of andere manier een beveiliging zit op die phpBE-forumkes; ik heb de sql's van beide heren laten lopen op de tabel en 't gaf het juiste resultaat. 'k zal dus eens moeten zoeken om die 'bescherming' van phpBB te omzeilen. In ieder geval bedankt voor de intresse en de hulp!
|
Flyboy
[mod] everywhere
Sinds 18/6/2003
T:43 -
R:4373
|
24/3/2005 -
23:49u
| Quote
|
Ets schreef: Nog nooit een wzl geschreven, zeker? Toch wel een kopie van den 2  da wete toch al
|
Ets
Jozef
Sinds 3/1/2003
T:17 -
R:475
|
25/3/2005 -
9:52u
| Quote
|
Was ook nie op u eh
|
Flyboy
[mod] everywhere
Sinds 18/6/2003
T:43 -
R:4373
|
25/3/2005 -
10:24u
| Quote
|
Ets schreef: Was ook nie op u eh  een algemene opmerking die op alle 'prutsers' sloeg, zo vatte ik dat op
|
Losealot
Beachboy
Sinds 24/9/2004
T:55 -
R:1358
|
25/3/2005 -
10:32u
| Quote
|
nu we hier toch over sql bezig zijn;
PreparedStatement stmt = conn.prepareStatement ("select name, sequence from RNA where group=? and number=?" ; stmt.setString(1, groep); stmt.setInt(2, nummer); try { ResultSet res = stmt.executeQuery(); res.next(); return new RNA(res.getString(1), res.getString(2));
hier krijg ik een fout
DATABANKFOUT! java.sql.SQLException: [Microsoft] [ODBC Microsoft Access-stuurprogramma] De component WHERE bevat een syntaxisfout. maar volgens mij is da correct
|
Ets
Jozef
Sinds 3/1/2003
T:17 -
R:475
|
25/3/2005 -
11:06u
| Quote
|
group=?
??
|
Kay
[admin] God
Sinds 1/1/2003
T:20 -
R:496
|
25/3/2005 -
15:51u
| Quote
|
java.sql.SQLException daar zit uw fout...
|
Cmax
WZL-lid
Sinds 4/6/2003
T:7 -
R:234
|
25/3/2005 -
17:40u
| Quote
|
Kay schreef: Ge moet het doen zoals Ets het zegt. Wete, stel dak nu zou moeten optellen hoeveel PP da alle users samen hebben... Kzal da is door nen array jagen, 5000 users... Dan krijg ik de rekening van de airco van int serverpark in Zaventem. En da zijn dan nog maar 5000 records. Of kijken hoeveel users er per maand geregistreerd zijn in 2004... Kan ook met een simpele SUM en GROUP BY.
WZL is op performantie geschreven, neem van mij aan dat zoiets als loopen om een som te maken niet meer werkt als je 15000 bezoekers per dag krijgt...
ja, daar hebde idd wel gelijk in, kheb gewoon ooit een programma moeten schrijven op men stage en daar moest ik iets doen wat ongeveer hetzelfde doet. maar die moest een som halen uit verschillende tabellen en die group by gaf een probleem ofzoiets (weet het niet meer juist, is ook al effe geleden) en ik zag de code van Flyboy en wist dat ik het toen ook zo had gedaan, dus dat da zou werken. maar de sum is in dit geval beter ja.
|
Losealot
Beachboy
Sinds 24/9/2004
T:55 -
R:1358
|
25/3/2005 -
19:48u
| Quote
|
Kay schreef:
java.sql.SQLException daar zit uw fout...
 
|
Losealot
Beachboy
Sinds 24/9/2004
T:55 -
R:1358
|
25/3/2005 -
19:50u
| Quote
|
kheb het ondertussen al gevonden, kweet nie welke variant microsoft gebruikt voor hun access DB's maar allesinds nie de standaard da tweede vraagteken is geen probleem, er moesten gewoon haakjes rond de group=? en rond nummer=?
|
Phil
Uberhacker
Sinds 23/2/2003
T:10 -
R:484
|
29/3/2005 -
11:04u
| Quote
|
Ets schreef:
group=?
??
Das een prepared statement, waar bij ge uw ? vervangt door een sql-safe variable (smtp.set ..), en dat cachet uw query voor NOG betere performance (eat that, asp).
|