2 verschillende namen uit tabel

Gestart doorShahiem10 reacties47 weergaven

11 berichten · pagina 1 van 1

Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hi,

Voor mijn Harry Potter website wil ik dat leden uit 5 random namen kunnen kiezen. Bijvoorbeeld:

AlbusParivical24
KnijsterSnaai15
WinkyBezemsteel19
GodericHarry12
PatrnousVlier13

Maar nu heb ik ongeveer 250 woorden in mijn database en daar uit wil ik 2 kiezen, maar het mag niet 2 dezelfde zijn. Dus geen:

AlbusAlbus

Hoee kan ik dat selecteren in 1 query?

Alvast bedankt!
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Shahiem schreef:
Hi,

Voor mijn Harry Potter website wil ik dat leden uit 5 random namen kunnen kiezen. Bijvoorbeeld:

AlbusParivical24
KnijsterSnaai15
WinkyBezemsteel19
GodericHarry12
PatrnousVlier13

Maar nu heb ik ongeveer 250 woorden in mijn database en daar uit wil ik 2 kiezen, maar het mag niet 2 dezelfde zijn. Dus geen:

AlbusAlbus

Hoee kan ik dat selecteren in 1 query?

Alvast bedankt!
SELECT * FROM tabel ORDER BY RAND()
0
Thom

Lid

Berichten
10.654
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Gewoon 1 selecteren, er dan nog 1, en dan kijken of ze tzelfde zijn. zo ja, selecteer 1 nieuwe etc.
0
Berichten
5.795
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
SELECT DISTINCT naam FROM namen ORDER BY RAND() LIMIT 2
0
Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dan krijg ik dit:

Flubberwurm Flubberwurm.

Of is het niet handig om 2 querys te maken zoals Thom bedoeld.
0
Thom

Lid

Berichten
10.654
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Als je niks beters weet kan het toch gewoon zo anders:

[COLOR= #0000BB]<?php

$query1[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT naam FROM namen ORDER BY RAND() LIMIT 1"[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$fetch1[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_assoc"]mysql_fetch_assoc[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$query1[/COLOR][COLOR= #007700]);[/COLOR]

[COLOR= #0000BB]$query2[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT naam FROM namen ORDER BY RAND() LIMIT 1"[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$fetch2[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_assoc"]mysql_fetch_assoc[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$query2[/COLOR][COLOR= #007700]);[/COLOR]

[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$fetch1[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]naam[/COLOR][COLOR= #007700]] ==[/COLOR] [COLOR= #0000BB]$fetch2[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]naam[/COLOR][COLOR= #007700]]){[/COLOR]

[COLOR= #FF8000]// nog een naam selecteren oid[/COLOR]

[COLOR= #007700]}[/COLOR] [URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$fetch1[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]naam[/COLOR][COLOR= #007700]].[/COLOR][COLOR= #0000BB]$fetch2[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]naam[/COLOR][COLOR= #007700]];

}[/COLOR]

?>


oid?
0
Berichten
18.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Maar 2 queries gebruiken terwijl het met 1 ook gewoon kan faalt echt enorm hard. Misschien een GROUP BY naam er in gooien ofzo?
0
Berichten
5.795
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
SELECT naam FROM namen WHERE naam in (SELECT DISTINCT nnaam FROM namen ORDER BY RAND() LIMIT 2)

zoiets denk ik dan in jouw geval

maar iig met DISTINCT voor unieke waardes
0
Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Daiman schreef:
SELECT naam FROM namen WHERE naam in (SELECT DISTINCT nnaam FROM namen ORDER BY RAND() LIMIT 2)

zoiets denk ik dan in jouw geval

maar iig met DISTINCT voor unieke waardes
Volgensmij ondersteunt mijn host het niet:

Quote:
This version of MySQL doesnt yet support LIMIT & IN/ALL/ANY/SOME subqueryemo
Hmm

toevoeging op 22 april 2012, 21:21:39:
Maar ik heb nu dit:

<input type="radio" name="tovenaarsnaam" value="" /> [COLOR= #0000BB]<?php[/COLOR] [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$core[/COLOR][COLOR= #007700]->[/COLOR]entities[COLOR= #007700]([/COLOR][COLOR= #0000BB]$tovenaarsnaamFetch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]naam[/COLOR][COLOR= #007700]]);[/COLOR] ?> [COLOR= #0000BB]<?php[/COLOR] [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$core[/COLOR][COLOR= #007700]->[/COLOR]entities[COLOR= #007700]([/COLOR][COLOR= #0000BB]$tovenaarsnaamFetch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]naam[/COLOR][COLOR= #007700]]);[/COLOR] ?><br />


En volgensmij is dit niet de bedoeling, want dan geeft hij 2 keer hetzelfde.
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Luukvdo schreef:
Maar 2 queries gebruiken terwijl het met 1 ook gewoon kan faalt echt enorm hard. Misschien een GROUP BY naam er in gooien ofzo?
Dit ja,

SELECT * FROM tabel ORDER BY RAND() GROUP BY naam

En zonder de group zou dit denk ik oko geen dezelfde resultaten opgeven. Deze neemt alle resultaten op willekeurig geordende manier uit database, niets 2 X. Behalve als je bedoelt dat je 2 dezelfde queries hebt, de bovenstaande code werkt in beide gevallen goed.
0
Berichten
18.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Shahiem schreef:
Eerdere citaten tonen
Daiman schreef:
SELECT naam FROM namen WHERE naam in (SELECT DISTINCT nnaam FROM namen ORDER BY RAND() LIMIT 2)
zoiets denk ik dan in jouw geval

maar iig met DISTINCT voor unieke waardes

Volgensmij ondersteunt mijn host het niet:

Quote:
This version of MySQL doesnt yet support LIMIT & IN/ALL/ANY/SOME subqueryemo
Hmm

toevoeging op 22 april 2012, 21:21:39:
Maar ik heb nu dit:

<input type="radio" name="tovenaarsnaam" value="" /> [COLOR= #0000BB]<?php[/COLOR] [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$core[/COLOR][COLOR= #007700]->[/COLOR]entities[COLOR= #007700]([/COLOR][COLOR= #0000BB]$tovenaarsnaamFetch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]naam[/COLOR][COLOR= #007700]]);[/COLOR] ?> [COLOR= #0000BB]<?php[/COLOR] [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$core[/COLOR][COLOR= #007700]->[/COLOR]entities[COLOR= #007700]([/COLOR][COLOR= #0000BB]$tovenaarsnaamFetch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]naam[/COLOR][COLOR= #007700]]);[/COLOR] ?><br />


En volgensmij is dit niet de bedoeling, want dan geeft hij 2 keer hetzelfde.
Je zult het resultaat van de query door een while moeten halen omdat ie nu 2 rows ophaalt wink
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