Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Risultato foreach raddoppiato

    Ciao
    Io ho questo codice:

    Codice PHP:
    $query_onda mysql_query("SELECT Giorno, Time( monitoring.Ora ) AS Orario
        FROM `monitoring`
        WHERE Giorno = '
    $today_'
        AND ((Hour( monitoring.Ora ) = '08') AND (Minute( monitoring.Ora ) = '00')) GROUP BY Orario"
    $db2);

        while(
    $row mysql_fetch_assoc($query_onda)) {
        
    $giorno $row['Giorno'];

            foreach(
    $row as $key => $value)

            print 
    $row['Giorno'] . "
    "
    ;

            } 
    Il risultato della query è 1 solo, ma a video viene stampato 2 volte.
    E così con qualsiasi altra query/risultato per i quali uso questa struttura. I risultati sono corretti, ma sempre raddoppiati.

    Come mai?

    Grazie mille...

  2. #2
    perchè l'istruzione ritorna un array doppio.
    Sei infatti fai un print_r($row) vedrai che ci sono 2 valori, uno che ha una chiave numerica ed uno con chiave della colonna.
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  3. #3
    print_r($row) in realtà mi restituisce questo, a video:

    Array ( [Giorno] => 2008-06-27 [Orario] => 08:00:05 ) Array ( [Giorno] => 2008-06-27 [Orario] => 08:00:05 )


    Sbaglio o la chiave è la stessa? :master:

  4. #4
    non sbagli, in effetti l'istruzione è diversa ora che guardo meglio.
    Allora, la query restituisce solo 1 record?
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  5. #5
    Esatto. L'ho semplificata al massimo proprio per essere sicura. Ha un solo risultato, non ho dubbi...

    EDIT

    Per essere ancora più sicura, ho usato questa query:
    Codice PHP:

        $query_onda 
    mysql_query("SELECT Giorno, Time( monitoring.Ora ) AS Orario
        FROM `monitoring`
        WHERE ID ='900'"
    $db2); 
    e l'ID ovviamente è univoco

  6. #6
    hai bisogno del foreach? dal codice sembra messo li per nulla.
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  7. #7
    Purtroppo ne avrò bisogno. Questa è solo una piccola parte dello script. Dovrò ricavare e popolare degli array otenuti dal risultato di query abbastanza complesse, che poi andranno combinati insieme tra loro.

  8. #8
    A meno che...con un while possa popolare gli array, ma secondo me diventa potenzialmente pieno di errorini...

  9. #9
    foreach messo così non ti serve a nulla, while scorre già tutti i risultati

  10. #10
    ok provo solo con while...se la cosa si fa indispensabile torno
    Grasssie

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 © 2025 vBulletin Solutions, Inc. All rights reserved.