Avatar billede Slettet bruger
29. december 2003 - 16:00 Der er 28 kommentarer og
1 løsning

random mysql hent

Kan man lave en mysql select som viser noget tilfæligt? fra tabellen test f.eks. (i php) og hvis man klikker opdater (F5) viser den så en ny...(men stadig tilfældig)
Håber I forstår hva det er jeg mener...?!
Avatar billede avlund Nybegynder
29. december 2003 - 16:01 #1
SELECT * FROM table_name ORDER BY RAND() LIMIT 1
Avatar billede 3xm Nybegynder
29. december 2003 - 16:02 #2
kan du ikke bare først hente antallet af rækker, så rand'e det tal, og så trække det tilfældige rækkenummer ud af databasen?

=)
Avatar billede Slettet bruger
29. december 2003 - 16:02 #3
oki takker prøver det lige af...
Avatar billede 3xm Nybegynder
29. december 2003 - 16:03 #4
nå, okay.

=)
Avatar billede Slettet bruger
29. december 2003 - 16:10 #5
det virker... men kan jeg gøre sådan at den skal tage efter dem (where godkend = 1)

.-----------.
SELECT * FROM tabel where godkend = 1 ORDER BY RAND() LIMIT 1
Avatar billede phpwiz Nybegynder
29. december 2003 - 16:10 #6
prøv !!
Avatar billede 3xm Nybegynder
29. december 2003 - 16:10 #7
prøv dig frem?
Avatar billede avlund Nybegynder
29. december 2003 - 16:11 #8
Jep, kan du sagtens...
Avatar billede phpwiz Nybegynder
29. december 2003 - 16:11 #9
3xm, det kan ikke betale sig, det tager for lang tid, avlunds metode er klart hurtigst på store databaser
Avatar billede avlund Nybegynder
29. december 2003 - 16:12 #10
I øvrigt er det en dårlig idé at bruge SELECT *, man skal altid bruge SELECT [feltnavne], når nu vi snakker performance. Men det er en helt anden diskussion.
Avatar billede 3xm Nybegynder
29. december 2003 - 16:13 #11
ramlev, helt klart. jeg anede bare ikke den RAND() fandtes. men så blev jeg det klogere.

=)
Avatar billede Slettet bruger
29. december 2003 - 16:43 #12
takker det virker...
Avatar billede Slettet bruger
29. december 2003 - 16:51 #13
arhh.... helt virker det ik... for jeg skulle kunne hente 4 ned på en side...
og der er 10 ting tabellen i db... og den hente hele tiden 2 af den samme... for det emste og nogen gange 3 og 4 af den samme
Avatar billede Slettet bruger
29. december 2003 - 16:57 #14
avlund... hvordan ville du så bruge select [feltnavne] og alt det der..?
Kan jeg bruge den istedet for og hvor det bli'r bedre?
Avatar billede 3xm Nybegynder
29. december 2003 - 17:02 #15
hvis du sætter LIMIT=4 tager den vel 4 tilfældige ikke-ens?
Avatar billede Slettet bruger
29. december 2003 - 17:15 #16
jo det er rigtigt nok....men det er fordi ... jeg bli'r nød til at hente 4x (limit)1 da jeg ahr en side,,, hvor grafikken passer lige til 1 (kun),,,
Avatar billede 3xm Nybegynder
29. december 2003 - 17:18 #17
det er svært at sætte sig ind i uden at kende dit script, men umiddelbart kan jeg ikke se at det skulle være nogen hindring at hente 4 på en gang og bruge dem enkeltvis i stedet for at hente 4 enkeltvist.

kan vi evt. få lov at se hvor det bliver brugt?
Avatar billede Slettet bruger
29. december 2003 - 17:55 #18
har du msn?
Avatar billede 3xm Nybegynder
29. december 2003 - 17:59 #19
ja, men det må blive en anden dag. skal til et møde nu. hvis du smider din adresse skal jeg nok hive fat i dig.

=)
Avatar billede Slettet bruger
29. december 2003 - 17:59 #20
nej kan ikke vise det, da det er en ikke er blevet offenligt endnu... men forstil dig du har 4 boxe:
###########            ##############
#        #            #            #
#        #            #            #
#        #            #            #                               
###########            ##############

###########            ##############
#        #            #            #
#        #            #            #
#        #            #            #                               
###########            ##############

og hvordan gør jeg så at jeg kan nøjes med 1 fil + limit står på 4?
Avatar billede Slettet bruger
29. december 2003 - 18:00 #21
hmm... kunne den ikke lige finde ud af

###########        ###########
#        #        #        #
#        #        #        #
###########        ###########

###########        ###########
#        #        #        #
#        #        #        #
###########        ###########
Avatar billede Slettet bruger
29. december 2003 - 18:01 #22
ja det skulle så have linget de 4 boxe...
Avatar billede avlund Nybegynder
29. december 2003 - 18:04 #23
Du skal vel bare sørge for at hente en værdi til hver box. Altså skrive noget á la:

$felt = mysql_fetch_row( $q_felt );

Og så udskrive data derfra - og så gentage proceduren for hvert felt.

Når jeg skriver SELECT [feltnavne], mener jeg såmænd bare at skrive SELECT felt1, felt2, felt3, osv. i stedet for at skrive SELECT *. Det er en god vane.
Avatar billede avlund Nybegynder
29. december 2003 - 18:04 #24
"og så gentage proceduren for hvert felt."

Jeg mente selvfølgelig for hver boks.
Avatar billede Slettet bruger
29. december 2003 - 18:15 #25
men jeg kan jo ikke bare nøjes med at skrive "$felt = mysql_fetch_row( $q_felt );"
Hva skal der mere stå.?
Kan du give et eksempel? (af 1 art)
Avatar billede Slettet bruger
29. december 2003 - 19:07 #26
hva skal der stå i det hele...
Avatar billede Slettet bruger
29. december 2003 - 19:15 #27
men avlund det gi'r da det samme om du skrive feltnavnene eller bare *
i funktionen Select feltnavnene/*
* er bare emget hurtigere at bruge da den selecter alt i db.
Avatar billede Slettet bruger
01. januar 2004 - 05:31 #28
avlund... hva skal jeg skrive...? (altså kan du ikke poste hele koden?)
Avatar billede Slettet bruger
04. januar 2004 - 12:58 #29
var avlund kunne du ikke posten hele koden til at hente random i hvert sit felt,,,^
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester