Toon posts:

[PHP] Gallery functions..

Pagina: 1
Acties:
  • 63 views sinds 30-01-2008

Verwijderd

Topicstarter
PHP:
1
<?function makepicture_seed() {    list($usec, $sec) = explode(' ', microtime());    return (float) $sec + ((float) $usec * 100000);}function getPictureRandom($gallery) {    srand(makepicture_seed());    $sql = "SELECT * FROM galleryphoto WHERE galleryid='$gallery'";    $result = mysql_query($sql);    $total = mysql_num_rows($result);    if ($total) {        // Generate a random number between 0 and $num_results - 1        $rand = mt_rand (0, $total);        // Jump to the random row        mysql_data_seek ($result, $rand);        // Fetch the selected row        $photo = mysql_fetch_assoc($result);    }    mysql_free_result($result);    return $photo;}?>

Kan iemand mischien zien waarom deze functie getRandomPicture alleen het laatste plaatje -1 laatzien en niet een random plaatje? :D

  • flat
  • Registratie: Mei 2000
  • Niet online
ik zie 't zo 1-2-3 niet, maar echo al die variabelen eens in je script, dan zie je waarschijnlijk zo waar 't misgaat, niet?

"Happiness is a way of travel, not a destination."
--Roy Goodman


  • Tain
  • Registratie: Januari 2002
  • Laatst online: 20-07 20:32
probeer die srand is gewoon zo in je functie:
srand((double)microtime()*1000000);

Verwijderd

Topicstarter
Op dinsdag 30 april 2002 10:09 schreef Flat© het volgende:
ik zie 't zo 1-2-3 niet, maar echo al die variabelen eens in je script, dan zie je waarschijnlijk zo waar 't misgaat, niet?
heb ik al geprobeerd maar die rand functie lijkt wel niet te werken ofzo.

  • razor-x
  • Registratie: Februari 2001
  • Laatst online: 05-06 07:37
Op dinsdag 30 april 2002 10:17 schreef xtentic het volgende:

[..]

heb ik al geprobeerd maar die rand functie lijkt wel niet te werken ofzo.
dan weet je het probleem toch?

Verwijderd

Topicstarter
Op dinsdag 30 april 2002 10:15 schreef Tain het volgende:
probeer die srand is gewoon zo in je functie:
srand((double)microtime()*1000000);
Gelijk ff geprobeerd, maar wederom geen geluk :(

  • flat
  • Registratie: Mei 2000
  • Niet online
en als je gewoon zelf een $rand invult? dan werkt 't wel neem ik aan?

"Happiness is a way of travel, not a destination."
--Roy Goodman


Verwijderd

Topicstarter
Op dinsdag 30 april 2002 10:18 schreef razor-x het volgende:

[..]

dan weet je het probleem toch?
Nee :'(... hij neemt steeds het laatste picture en niet een random :)

Verwijderd

Topicstarter
Op dinsdag 30 april 2002 10:21 schreef Flat© het volgende:
en als je gewoon zelf een $rand invult? dan werkt 't wel neem ik aan?
Jah, maar dat is niet de bedoeling :)

offtopic:
flat doe me die icon van jou >:)

  • flat
  • Registratie: Mei 2000
  • Niet online
dan ligt 't dus aan die $rand

welke waarde heeft 'ie als je jouw script z'n werk laat doen?

offtopic:
tof icon hè? is toch maar zo'n 25 regels php-code! :)

"Happiness is a way of travel, not a destination."
--Roy Goodman


  • dirkpostma
  • Registratie: Juni 2001
  • Laatst online: 10-05 16:53
Misschien heb je hier iets aan:
code:
1
2
3
4
5
6
7
8
9
SELECT
  *
FROM
  galleryphoto
WHERE
  galleryid='$gallery'
ORDER BY
  rand()
LIMIT 1

Sorteer alle resultaten op een random waarde en neem alleen de eerste => je krijgt één random photo uit je gallery :7

Verwijderd

Topicstarter
Op dinsdag 30 april 2002 10:25 schreef Flat© het volgende:
dan ligt 't dus aan die $rand

welke waarde heeft 'ie als je jouw script z'n werk laat doen?

offtopic:
tof icon hè? is toch maar zo'n 25 regels php-code! :)
mja... /me weet ut niet meer :D

offtopic:
lijkt me mooi om eens in te zien >:)
Op dinsdag 30 april 2002 10:33 schreef dirkpostma het volgende:
Misschien heb je hier iets aan:
code:
1
2
3
4
5
6
7
8
9
SELECT
  *
FROM
  galleryphoto
WHERE
  galleryid='$gallery'
ORDER BY
  rand()
LIMIT 1

Sorteer alle resultaten op een random waarde en neem alleen de eerste => je krijgt één random photo uit je gallery :7
Ik zal het eens proberen maar denk dat het niet gaat werken, omdat ik denk dat het probleem in rand() zit ;(

  • dirkpostma
  • Registratie: Juni 2001
  • Laatst online: 10-05 16:53
Ik zal het eens proberen maar denk dat het niet gaat werken, omdat ik denk dat het probleem in rand() zit ;(
Of het nu aan rand() ligt of niet, ik zou het toch op die manier doen. Dan hoef je namelijk niet al die PHP code erbij te schrijven en hopelijk werkt de rand() van MySQL wel :P

I.i.g. Succes!

  • dirkpostma
  • Registratie: Juni 2001
  • Laatst online: 10-05 16:53
Nog een tip:
code:
1
2
mt_srand ((double) microtime() * 1000000);
$randval = mt_rand();

Ofwel: gebruik mt_rand in combinatie met mt_srand; dus niet mt_rand() i.c.m. srand().


Referentie: Quote uit PHP doc's
Description

int mt_rand ([int min [, int max]])

Many random number generators of older libcs have dubious or unknown characteristics and are slow. By default, PHP uses the libc random number generator with the rand() function. mt_rand() function is a drop-in replacement for this.

Verwijderd

Topicstarter
[probleem opgelost]

Verwijderd

Topicstarter
Ik zit nu met een ander vaag probleem, het probleem hierboven is opgelost door AS gid te gebruiken bij galleryid.id (galleryid.id AS gid)..

wanneer je op mijn searchform in de velden voor nummers non nummers (oftewel andere karacters dan cijfers) invoert pakt ie alleen maar mijn header (van de pagina) en verder niets..

kijk ff voor een peek preview op --> http://217.121.134.169/Php/gallery/search.html

:( vind dit nogal lastig :D

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 16:14

Crazy D

I think we should take a look.

Op dinsdag 30 april 2002 21:27 schreef xtentic het volgende:
wanneer je op mijn searchform in de velden voor nummers non nummers (oftewel andere karacters dan cijfers) invoert pakt ie alleen maar mijn header (van de pagina) en verder niets..
How bout je invoer controleren? Oftewel bv isnumeric (oid) gebruiken om te checken of de invoer numeriek is, of wat uitgebreider, alle niet-getalletjes eruit filteren, en het getal wat je overhoudt gebruiken...

Exact expert nodig?


Verwijderd

Topicstarter
[fixed, waardoor? dunno :D]

SELECT * FROM galleryid WHERE Resource id #2galleryid.gallery LIKE '%meg%' LIMIT 0,50

why die Resource id #2? als ik gewoon "$querybig$query LIMIT 0,50"; doe?

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Wat dacht je van voor elk verschillend probleem netjes een andere topic te openen?

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1

Dit topic is gesloten.