Function in Query / Nested Querys

Gestart doorEleky3 reacties30 weergaven

4 berichten · pagina 1 van 1

Eleky

Lid · Topicstarter

Berichten
3.788
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hallo,

Ik ben bezig met een Query die 10 random gebruikers uit de database moet halen.
Echter moeten deze gebruikers wel aan bepaalde voorwaarde voldoen (punten hebben, niet al een actie hebben gedaan etc.)
Hierdoor kwam ik uiteindelijk uit op dat er een Query in een Query uitgevoerd moest worden (in het WHERE gedeelte), alleen lukte dit me niet.
Nu dacht ik slim te zijn door een functie te schrijven die de Query zou uitvoeren, en die in de WHERE te zetten, echter werkt dit ook niet.
Dit is de Query en de functie die ik nu heb:

[COLOR= #0000BB]<?php
$aQuery[/COLOR] [COLOR= #007700]=[/COLOR] Query[COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT
                    t.id,
                    t.twitter_id
                FROM
                    leden_twitter as t,
                    leden_leden as l,
                    leden_volgen as v
                WHERE
                    l.id = t.user
                AND
                    l.punten_active > 0
                AND
                    "[/COLOR][COLOR= #007700].[/COLOR]VolgerCheck[COLOR= #007700]([/COLOR][COLOR= #0000BB]$UserTwitter[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]twitter_id[/COLOR][COLOR= #007700]],[/COLOR] [COLOR= #DD0000]"t.twitter_id"[/COLOR][COLOR= #007700]).[/COLOR][COLOR= #DD0000]" = 0
                AND
                    t.user != "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$UserFetch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]id[/COLOR][COLOR= #007700]].[/COLOR][COLOR= #DD0000]"
"[/COLOR][COLOR= #007700]);[/COLOR]
?>


[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #007700]function[/COLOR] VolgerCheck[COLOR= #007700]([/COLOR][COLOR= #0000BB]$account[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$followt[/COLOR][COLOR= #007700]){[/COLOR]
    [COLOR= #0000BB]$Check[/COLOR] [COLOR= #007700]=[/COLOR] Query[COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT id FROM leden_volgen WHERE twitter1 = "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$account[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]" AND twitter2 = "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$followt[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]""[/COLOR][COLOR= #007700]);[/COLOR]
    [URL="http://www.php.net/return"]return[/URL] Rows[COLOR= #007700]([/COLOR][COLOR= #0000BB]$Check[/COLOR][COLOR= #007700]);
}[/COLOR]
?>


Weet iemand hoe ik dit wel werkend kan maken?

Het is dus de bedoeling dat hij hiernaast controleert of er een rij is in de tabel leden_volgen waar twitter1 gelijk is aan $UserTwitter[twitter_id] en twitter2 aan twitter_id uit de tabel leden_twitter die hij dan ophaalt.
ALs deze rij bestaat mag hij deze gebruiker niet kiezen.
Ik weet dat dit ook kan via een while (of via een while in een funtie), maar ik wil eigenlijk gewoon dat het in 1 Query zit indien mogelijk (en volgens mij kan het wel)
0
Berichten
5.957
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
SELECT * FROM Table WHERE Row = Condition SORT BY rand() LIMIT 0,10
0
Berichten
13.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
[COLOR= #0000BB]<?php
$aQuery[/COLOR] [COLOR= #007700]=[/COLOR] Query[COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT
                    t.id,
                    t.twitter_id
                FROM
                    leden_twitter as t,
                    leden_leden as l,
                    leden_volgen as v
                WHERE
                    l.id = t.user
                AND
                    l.punten_active > 0
                AND
                    (SELECT count(1) FROM leden_volgen WHERE twitter1 = "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$UserTwitter[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]twitter_id[/COLOR][COLOR= #007700]].[/COLOR][COLOR= #DD0000]" AND twitter2 = t.twitter_id) = 0
                AND
                    t.user != "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$UserFetch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]id[/COLOR][COLOR= #007700]].[/COLOR][COLOR= #DD0000]"
"[/COLOR][COLOR= #007700]);[/COLOR]
?>


FROM
leden_twitter as t,
leden_leden as l,
leden_volgen as v
die volgen tabe lgebruik je niet eens?
0
Eleky

Lid · Topicstarter

Berichten
3.788
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
De volgen tabel gebruikte ik eerst wel, en haal ik er ook uit zodra de query werkt, maar omdat ik nu toch nog bezig was met de query constant aan te passen dacht ik dat het handiger was het er nog even te laten staan, voor het geval ik het zo weer nodig had, maar zal het even testen!

toevoeging op 19 september 2011, 221405:
Thanks, je bent mijn held!
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren