Toon posts:

[sql] kan dit in 1 query? (strstr)

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een db, genaamd COUNT met daarin een veld USER.

Nou wil ik de rijen tellen die in het veld USER een 6 bevatten.

Om de rijen te laten zien is geen probleem; dat is iets als
PHP:
1
2
3
4
5
6
// hierboven wordt de tabel uitgelezen

$zoek = 6;
if (strstr($user, $zoek)) {
echo $user;
}


Maar hoe kan ik dit nu tellen?

Want dit werkt niet denk ik:

PHP:
1
2
$telmanier = strstr($user, $zoek);
$query = "SELECT user FROM count WHERE='$telmanier'";


Weet iemand de beste manier om dus:

Velden te tellen die een bepaalde string bevatten?

www.php.net/strstr kon mij niet verder helpen...

  • El_BingO
  • Registratie: Juli 2001
  • Laatst online: 26-08 12:01
WHERE='$telmanier' ? dat ziet er vreemd uit...

probeer eens:
"SELECT user FROM COUNT WHERE user LIKE '%6%' "

  • Morpheus_at_work
  • Registratie: December 2000
  • Laatst online: 12:55
El_BingO schreef op 17 september 2002 @ 11:22:
WHERE='$telmanier' ? dat ziet er vreemd uit...

probeer eens:
"SELECT user FROM COUNT WHERE user LIKE '%6%' "
maar de vraag is tel het aantal gebruiker , nu krijgt hij alle resultaten terug ,

"SELECT COUNT(USER) as UserCount FROM COUNT WHERE USER LIKE '% WAARDE %'

Canon R6 MARK III, 35mm 1.4 VCM, 50mm 1.4 VCM , 85mm 1.4 VCM , 17-35mm 1.8, 28-70 1.8 , 24-105 1.8 70-200 f2.8


Verwijderd

Verwijderd schreef op 17 september 2002 @ 11:20:
Ik heb een db, genaamd COUNT met daarin een veld USER.
waarschijnlijk heb je een tabel genaamd COUNT. (of dat handig is, is een 2e)
Nou wil ik de rijen tellen die in het veld USER een 6 bevatten.
Velden te tellen die een bepaalde string bevatten?
SELECT COUNT(user) FROM COUNT WHERE user = '%6%'; :?
(je ziet zelf hoop ik wel dat dit er wat raar uitziet, vanwege de naamgeving van je tabel.)
Let wel, je krijgt dan ook 61, 26, etc.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Morpheus_at_work schreef op 17 September 2002 @ 11:28:
[...]


maar dan ga je er vanuit dat er maar 1 waarde met 6 in de database kan zitten

levert dit niet gewoon een recordset op met de users die 6 in de naam hebben?

Doet iets met Cloud (MS/IBM)


  • El_BingO
  • Registratie: Juli 2001
  • Laatst online: 26-08 12:01
Morpheus_at_work schreef op 17 september 2002 @ 11:28:
[...]


maar dan ga je er vanuit dat er maar 1 waarde met 6 in de database kan zitten
Nee hoor, hij retourneert alle users waar een 6 in voorkomt.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

levert dat COUNT als reserved word ook geen problemen op?
lijkt me stug dat het werkt

Doet iets met Cloud (MS/IBM)


  • Morpheus_at_work
  • Registratie: December 2000
  • Laatst online: 12:55
El_BingO schreef op 17 September 2002 @ 11:30:
[...]

Nee hoor, hij retourneert alle users waar een 6 in voorkomt.
lees de vraag is : Nou wil ik de rijen tellen die in het veld USER een 6 bevatten.

hij wil tellen ;)

Canon R6 MARK III, 35mm 1.4 VCM, 50mm 1.4 VCM , 85mm 1.4 VCM , 17-35mm 1.8, 28-70 1.8 , 24-105 1.8 70-200 f2.8


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

door een recordset heenlopen en tellen kan ook prima in php

Doet iets met Cloud (MS/IBM)


  • El_BingO
  • Registratie: Juli 2001
  • Laatst online: 26-08 12:01
D2k schreef op 17 september 2002 @ 11:31:
levert dat COUNT als reserved word ook geen problemen op?
lijkt me stug dat het werkt
Ik vind het idd een beetje een rare opzet. Waarom heb je een tabel COUNT als je daar nog weer een COUNT functie op los wil laten?

Als je je bedoeling even beter omschrijft is er misschien wel een veel betere oplossing...

  • Morpheus_at_work
  • Registratie: December 2000
  • Laatst online: 12:55
D2k schreef op 17 september 2002 @ 11:31:
levert dat COUNT als reserved word ook geen problemen op?
lijkt me stug dat het werkt
ff getest SELECT COUNT(COUNT) AS COUNT FROM COUNT gaat fout op reserved ALIAS

SELECT COUNT(COUNT) AS COUNTER FROM COUNT gaat goed

Canon R6 MARK III, 35mm 1.4 VCM, 50mm 1.4 VCM , 85mm 1.4 VCM , 17-35mm 1.8, 28-70 1.8 , 24-105 1.8 70-200 f2.8


Verwijderd

Topicstarter
Excuses, ik heb een db die anders heet (maakt even niets uit) en daarin zit een tabel die COUNT heet. Daarin staan een aantal velden waarvan er 1 is die USER heet.

Ik wil het AANTAL rijen die dus bij het veld USER een 6 bevatten.

Ik denk dat dit het is, bedankt allen:

PHP:
1
2
3
4
$query = "SELECT user FROM COUNT WHERE user LIKE '%6%' ";
$result = mysql_query($query) or die ('foutje....');
    $aantal = mysql_num_rows($result);
                echo $aantal;


..en de rijen zijn geteld! Bedankt nogmaals, het ging mij om het % gebruik, wat ik nog niet kon...

  • VisionMaster
  • Registratie: Juni 2001
  • Laatst online: 18-07 20:32

VisionMaster

Security!

ivy ik zou eens een paar keer beter lezen. Ik zie hierboven 2 of 3 keer een COUNT oplossing. Dus niet je tabelnaam (die ik ZEER slecht gekozen vind). je geeft iets als:
SELECT count(*) as UserCount FROM count WHERE ' + blalalalalala
niet de voorkeur ... dat kan, maar vind het raar dat je het zo opschrijft in je laatste reactie.

I've visited the Mothership @ Cupertino


Verwijderd

Topicstarter
VisionMaster schreef op 17 september 2002 @ 11:54:
ivy ik zou eens een paar keer beter lezen. Ik zie hierboven 2 of 3 keer een COUNT oplossing. Dus niet je tabelnaam (die ik ZEER slecht gekozen vind). je geeft iets als:
SELECT count(*) as UserCount FROM count WHERE ' + blalalalalala
niet de voorkeur ... dat kan, maar vind het raar dat je het zo opschrijft in je laatste reactie.
Lezen is me altijd vrij goed afgegaan, en dat heb ik dus ook best gedaan. Ik zal even uitleggen waarom ik zelf een oplossing gaf: ik ben niet bekend met het fenomeen COUNT en wat de boer niet kent dat eet ie niet, zegt een mooi Nederlands gezegde.

Het zal vanzelfsprekend (beter?) werken dan mijn manier, maar zo kom ik er ook. En als ik alleen dit toegekopt krijg:

PHP:
1
SELECT COUNT(user) FROM COUNT WHERE user = '%6%';


...dan zou ik eerlijk gezegt niet weten wat ik daar mee kan! Ja, misschien in een variabele zetten, en die vervolgens printen. Niet geprobeerd. Zal het eens doen....

Alleen vindt ik het wel jammer dat er gelijk geroepen wordt 'lees eens beter'. Heb jij hier naast me zitten kijken wat ik wel en niet gelezen heb?

NOFI.
Pagina: 1