Gå til innhold

Random Bilde fra databasen.


Anbefalte innlegg

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 :)

Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet+6132

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? ;)

Lenke til kommentar
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

Lenke til kommentar

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
Lenke til kommentar
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
Lenke til kommentar

$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 :)

Lenke til kommentar
$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:

Lenke til kommentar

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.

Lenke til kommentar
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.

Lenke til kommentar

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...