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

    Script array->random->array

    Ciao!
    ho cercato di sintetizzare al meglio nel titolo il risultato che devo ottenere..
    Partendo da un database, devo selezionere tutte le righe in cui aut=n.
    devo sapere in totale quante sono le righe selezionate e prenderne 10 a random.
    Per ognuna delle 10 righe devo cambiare il campo data_aut nel db immettendoci l'attuale e cambiare aut=y.

    Detto così mi sembra semplice ma proprio non so che pesci pigliare per selezionare a random 10 righe da quelle prese dal db...

    helpppppp pleaseeee

  2. #2

  3. #3
    nessuno sa come fare? possibile? voi che siete i migliori!! dai aiutatemi! per favoreeeeee

  4. #4
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    Per sapere il numero di righe usi COUNT, mentre per ordinarle in modo casuale usi RAND

    esempi:
    codice:
    // Restituisce il totale delle righe
    SELECT COUNT(*) AS totale FROM tabella WHERE aut='n';
    // Restituisce 10 record in ordine casuale
    SELECT * FROM tabella WHERE aut='n' ORDER BY RAND() LIMIT 10;
    nota che RAND() in mysql non è un generatore perfetto di numeri casuali, ma è un modo facile, veloce e portabile per avere numeri casuali
    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  5. #5
    grande! grazie!

    di rand() lo sapevo, è che mi incasincavo con array e cose del genere, me lo immaginavo mooolto lungo il codice.. invece è na stronzata.. grazie ancora!

  6. #6
    bene bene.. ho fatto tutto.. però non funzia..

    Codice PHP:
    include ("dati.php");
    $db mysql_connect($host$user$pass);
    mysql_select_db($db_name$db); 
    $data   =   (date("Y/m/d"));
    $sqldata"SELECT aut,data_aut FROM prova WHERE aut='y' ORDER BY data_aut DESC limit 1";
    $resultdata mysql_db_query($db_name,$sqldata) or die (mysql_error()); 
    $rowdata=mysql_fetch_array ($resultdata);
    $differenza=ceil((strtotime("$rowdata[ultimoagg]") - strtotime("$data"))/(86400));
    if (
    "$differenza"=="-7" OR "$differenza">"-7" OR "$rowdata"=="0")
    {
    $sql="SELECT * FROM prova WHERE aut='n' ORDER BY RAND() LIMIT 3";
    $result mysql_db_query($db_name,$sql) or die (mysql_error()); 
    while (
    $row=mysql_fetch_array($result) ){ //questa riga non gli piace
        //se però qui invece di fare query gli do un "echo" tutto     //funziona a meraviglia.. che succede???
        
    $sql="UPDATE prova SET aut='y' AND data_aut='$data' WHERE id=$row[0] LIMIT 1";
        
    $result mysql_db_query($db_name,$sql) or die (mysql_error());
        }
    }
    else
    {
    $db mysql_connect($host$user$pass);
    mysql_select_db($db_name$db); 
    $sql="SELECT * FROM prova WHERE aut='y' ORDER BY data_aut DESC LIMIT 3";
    $result mysql_db_query($db_name,$sql) or die (mysql_error()); 
    while (
    $row=mysql_fetch_array($result) )
        {
        echo 
    "$row[0] - $row[1] - $row[2] 


    "
    ;
        }


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.