Visualizzazione dei risultati da 1 a 10 su 10

Discussione: random con mysql

  1. #1

    random con mysql

    Esiste una funzione che prende i record risultanti casualmente?
    es..
    $result = mysql_query("SELECT * FROM ciccio ");
    il risultato sono 30 record, se ne volessi farne vedere uno alla volta in maniera sequenziale o casuale? Si può o bisogna fare tutto in php?

  2. #2
    codice:
    $result = mysql_query("SELECT * FROM ciccio ORDER BY RAND() LIMIT 1");
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  3. #3
    ok funziona perfettamente, ma se invece di random volessi che seguisse l'ordine?
    cioè al primo click 1 al secondo 2 al terzo 3 4...5...6...ecc

    è possibile?

  4. #4
    devi passare l'ultimo id visualizzato e fare

    SELECT * FROM ciccio WHERE id>$last_id ORDER BY id LIMIT 1


  5. #5
    ho già un where nel codice, non l'ho postato perchè è lungo. Funzia lo stesso?

  6. #6
    no non funzia. mi sono risposto da solo bastava provare:-))

  7. #7
    Originariamente inviato da massimo80
    ho già un where nel codice, non l'ho postato perchè è lungo. Funzia lo stesso?
    Lo devi mettere in AND e funziona... oppure puoi giocare con LIMIT.

    LIMIT 1,1
    LIMIT 2,1
    ecc....

    LIMIT $start,1
    $start = $start++;
    $start = $start--;

    Puoi andare avanti e indietro....



    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    ho già provato con AND vi metto tutto il cod

    $result = mysql_query("SELECT * FROM ciccio WHERE data_inizio <= NOW() and data_fine >= NOW() AND id>$last_id LIMIT 0,1");

    questo è l'esempio di bubu77

    Piero.mac io devo vederne sempre uno solo non più di uno, con il tuo esempio se ho capito definisco una variabile $start e poi la faccio aumentare con $start = $start++; giusto?

  9. #9
    Originariamente inviato da massimo80
    Piero.mac io devo vederne sempre uno solo non più di uno, con il tuo esempio se ho capito definisco una variabile $start e poi la faccio aumentare con $start = $start++; giusto?
    Corretto. In pratica se tu esegui la query sempre con lo stesso ordinamento con LIMIT ti muovi all'interno del result record.

    LIMIT da, n. record.

    Quindi aggiornando la variabile avanzi ogni volta di uno nel record result estraendo un dato per volta.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    ok funzia anche questo. Grazie
    Adesso vorrei far venire fuori le varie frasi con delle proporzioni diverse fra di loro...però visto che non so da dove partire prima ci penso e poi quando ho già un pò di codice scritto mi faccio vivo.

    ciao ciao e grazie

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.