Gå til innhold

Random Bilde fra databasen.


Anbefalte innlegg

Skrevet

Har en fin liten database..

Her har jeg en tabell som heter `bilder`.

Inni `bilder` har jeg en `row` som heter bilde.

Dette er bildenavnet altså: bilde.jpg

 

Derfra velges bildene som skal vises i mitt galleri.

 

Når man kommer inn i mitt galleri er det flere album.

 

[bilde1] Album 1

[bilde2] Album 2

 

Men jeg vil at et lite script skal velge et tilfeldig bilde fra album 1 og sette det der det står [bilde1].

 

Foreløpig vises d første bilde i tabellen.

Noe jeg ikke vil skal skje, men at et tilfeldig bilde velges derfra og settes ut :)

Videoannonse
Annonse
Gjest Slettet+6132
Skrevet

Hva med å legge alle filene i et array for å så sette

$randompic = rand(1,$files) // $files er totalantall av bilder

, og

$image = $array[$randompic]

 

Sånn ca? ;)

Skrevet
Hva med å legge alle filene i et array for å så sette

$randompic = rand(1,$files) // $files er totalantall av bilder

, og

$image = $array[$randompic]

 

Sånn ca? ;)

Hmm, hvordan legger jeg alle bildene i en array da :p

Skrevet (endret)

mysql_fetch_array()?

 

EDIT: Sånn ca slik gjorde jeg det med mitt galler:

*hente ut id for alle bildene i db*

*putt disse i et array*

*plukk ut random id fra arrayet*

*hent resten av info fra db hvor id = id fra array*

*send ut no' html-kode*

Endret av PT
Skrevet (endret)
mysql_fetch_array()?

 

EDIT: Sånn ca slik gjorde jeg det med mitt galler:

*hente ut id for alle bildene i db*

*putt disse i et array*

*plukk ut random id fra arrayet*

*hent resten av info fra db hvor id = id fra array*

*send ut no' html-kode*

mhm, dette gjorde jeg også i starten...

Men har ett Album som heter Upload hvor andre folk kan legge ut bilder.

Så om de legger ut noe dritt, så må det slettes..

 

Så da blir det plutselig en tom Id..:/

Å om det tallet blir trukket ut blir det tomt bilde :(

 

Edit: Ops.. Kansje jeg tolket litt feil :p

Men hvordan kan jeg velge ut alle id å legge dem i en aray?

Eksempel?

Endret av Mellet
Skrevet

$query = mysql_query("SELECT id FROM db WHERE 1");
$ids = mysql_fetch_array($query);

$id = array_rand($ids);
$query = mysql_query("SELECT * FROM db WHERE id = '$id' LIMIT 1");

Noe slikt, kanskje? Ikke testet på noen som helst måte :)

Skrevet
$query = mysql_query("SELECT id FROM db WHERE 1");
$ids = mysql_fetch_array($query);

$id = array_rand($ids);
$query = mysql_query("SELECT * FROM db WHERE id = '$id' LIMIT 1");

Noe slikt, kanskje? Ikke testet på noen som helst måte :)

Hmm, fikk ikke den til å funke :cry:

Skrevet

Lenge siden jeg har drevet på med akkurat det der (SQL generelt, egentlig). Kan du forklare litt mer hva du gjorde? Legg gjerne ved koden du brukte. Prøv deg pgså med en liten 'echo mysql_error();' her og der.

Skrevet
i selve SQL spørringen så kan du bruke denne:

 

SELECT rowname FROM tablename ORDER BY RAND() LIMIT 1

Heisann, da lærte jeg noe nytt i dag også :)

Men bare sånn 'for the record', så tok jeg et kjapt google-søk og så at flere synes denne spørringen er utrolig treig. Har ingen personlig erfaring, men det var altså konklusjonen etter to minutters googling.

Skrevet

ORDER BY RAND() LIMIT 1

 

Dette funket akkurat som jeg ville..

 

Hmm, gikk ikke noe tregere på mitt webhotell en det vanligvis gjør :)

Så den der funka fint :thumbup:

 

Tusen takk :)

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...