Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    pescare un valore in random da DB.

    Ciao a tutti , nel tentativo di farmi un blog in php, mi è venuto in mente anche di mettere una parte dove, ad ogni refresh, appaia una img in random pescata da DB..

    il codice normale che uso per interrogare il db per le immagini e questo:


    Codice PHP:
    $query_sel=mysql_query("SELECT id_img, img_small FROM gallery "); 
    Come posso dirgli di prenderne una in random?

    Inizialmente pensavo di usare il valore id_img e di fare una scelta casuale gra il num 0 ed il valore di id_img, ma considerando che alcune img son state cancellate e di conseguenza alcuni numeri di id_imd non son più presenti, la cosa non è fattibile.


    Conto su di voi!!!!!

    ciao!!

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    select id_img, img_small FROM gallery order by rand() limit 1

  3. #3
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Ci sarebbe la funzione RAND() di MySQL ma da quanto ho potuto leggere è ottimizzata molto male in quanto usa tabelle temporanee che rallentano di brutto l'esecuzione della funzione.

    Detto questo ti consiglio di fare il random da PHP...

    selezioni tutte le row del DB:

    Codice PHP:
    $result mysql_query("SELECT * FROM gallery"); 

    poi butti in un array il risultato e ne ricavi la grandezza:

    Codice PHP:
    $j=0;
    while(
    $row[$j] = mysql_fetch_array($result)) { $j++; }
    $n count($row); 

    poi prelevi un indice casuale dall'array e ricavi il valore dell'immagine:

    Codice PHP:
    $x rand(0$n);
    print(
    $row[$x]['img_small']); 
    Non so se hai storato l'immagine o solo il nome quindi ho messo un print cmq il concetto per estrarre il dato è sempre quello.

    Spero ti torni utile

    bye^^

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    In effetti ha ragione Il_Drugo, sarebbe meglio generare il numero casuale tramite php.
    Se cerchi nel forum è pieno di thread simili.

    http://forum.html.it/forum/search.ph...by=&sortorder=

  5. #5
    Vi ringrazio delle dritte

    Appena lo faccioi posto il codice che ho usato!

    Ciao!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.