Toon posts:

[PHP/FIREBIRD] Aantal records opvragen van een query result

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil het aantal records opvragen als ik een query uitgevoerd heb in php.

Het gaat om de database: Firebird (="interbase"). PHP beschikt niet standaard over een num_row functie. Wat is de beste oplossing hiervoor?

Nogmaals de query uitvoeren en dan met count het aantal records opvragen (hierdoor moet je dus wel steeds elke query 2x uitvoeren) of is er een betere oplossing voor?

Ik heb gezocht op het internet maar heb geen oplossing gevonden.

  • creative8500
  • Registratie: September 2001
  • Laatst online: 03-01 16:54

creative8500

freedom.

Ik snap het niet echt, maar ik blaat maar even dit: heb je misschien een functie als fetch_array? dan kun je sizeof()/count() gebruiken.
as I said, waarschijnlijk is het een -1 niet relevant/van toepassing

  • WoutF
  • Registratie: Maart 2000
  • Nu online

WoutF

Hoofdredacteur
Klein gokje, weet niet of het werkt, maar is zoiets niet mogelijk?
PHP:
1
select *, count(*) as aantal from blaat where waarde = bar

Verwijderd

Topicstarter
ik heb het volgende geprobeerd maar dit werkt niet:

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
invalid column reference.

Dit is de query:

code:
1
2
3
4
5
SELECT      DISTINCT S.STUDIEJAARID, S.BEGINJAAR, S.EINDJAAR, COUNT(*) AS AANTAL
            FROM         STUDIEJAAR S, LESSEN L
            WHERE         L.DOCENTID = 1
            AND         S.STUDIEJAARID = L.STUDIEJAARID
            ORDER BY    S.BEGINJAAR DESC;


Wat is hier fout aan? Mag je COUNT niet gebruiken in een query waar je ook andere velden selecteert?

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op 20 oktober 2002 @ 13:13:
ik heb het volgende geprobeerd maar dit werkt niet:

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
invalid column reference.

Dit is de query:

code:
1
2
3
4
5
SELECT      DISTINCT S.STUDIEJAARID, S.BEGINJAAR, S.EINDJAAR, COUNT(*) AS AANTAL
            FROM         STUDIEJAAR S, LESSEN L
            WHERE         L.DOCENTID = 1
            AND         S.STUDIEJAARID = L.STUDIEJAARID
            ORDER BY    S.BEGINJAAR DESC;


Wat is hier fout aan? Mag je COUNT niet gebruiken in een query waar je ook andere velden selecteert?
Ik ben niet bekend met Firebird!

Maar:
SELECT .... FROM STUDIEJAAR AS S

Ben je niet de AS vergeten?

Tevens zal een count niet werken. De count zal altijd 1 zijn. Count werkt namelijk alleen als GROUP BY gebruikt wordt of als hij enige veld is.

Programmer - an organism that turns coffee into software.


Verwijderd

Topicstarter
LuCarD schreef op 20 oktober 2002 @ 13:25:
Maar:
SELECT .... FROM STUDIEJAAR AS S

Ben je niet de AS vergeten?
Nee dit werkt gewoon goed: FROM STUDIEJAAR S
Pagina: 1