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

    query con più clausole where

    ciao a tutti..ho in costruzione un sito e ho bisogno di fare una query al database con più clausole.
    Vi spiego, ho un database di nome serie_a_partite con 7 campi(Giornata,IdHome,IdAway,GolHome,GolAway,CHome ,CAway)
    dove
    Giornata= Il numero della giornata di campionato
    IdHome= L'Id del giocatore in casa
    IdAway= Stessa cosa di sopra ma in trasferta
    GolHome= Gol in casa
    GolAway= Gol intrasferta
    CHome= é un campo che mi dice se il giocatore in casa ha confermato il risultato
    CAway= Stessa cosa di sopra ma in trasferta

    Adesso io voglio prendere tutte quelle righe che hanno come Idhome o idaway l'id dell'utente loggato e dove Chome o Caway devono avere il valore 'No'
    Ho provato ad usare questa query:

    Codice PHP:
    "SELECT * FROM serie_a_partite WHERE IdHome OR IdAway = '".$utente['ID']."' AND CHome OR CAway = 'No'" 
    Ma come risultato non mi mostra solo le righe selezionate ma tutte quelle del database..dove ho sbagliato? Io ho provato così ma è giusto quello che ho scritto io? dico il database(uso mysql) riesce a interpretare queste query dove il "WHERE" ha due clausole?

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    "SELECT * FROM serie_a_partite WHERE IdHome = '".$utente['ID']."' OR IdAway = '".$utente['ID']."' AND CHome = 'No' OR CAway = 'No'"

    La sintassi che hai usato non va.

    Devi pensare che ogni parte della clausola deve ritornare true o false.
    Ad esempio, quando scrivi : idHome OR IdAway = 'valore' hai idHome che è sempre true. dovresti scrivere : idHome = 'valore' OR IdAway = 'valore'
    Stessa cosa per la seconda parte della clausola => CHome OR CAway = 'No'
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    niente da fare da lo stesso risultato..mi mostra tutte le righe

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quale è il valore della variabile che contiene la query ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    AND ha priorita' maggiore di OR.
    credo che la query corretta sia
    Codice PHP:
    "SELECT * FROM serie_a_partite WHERE (IdHome = '".$utente['ID']."' OR IdAway = '".$utente['ID']."') AND (CHome = 'No' OR CAway = 'No')" 
    danno

  6. #6
    perfetto funziona!! grazie mille non sapevo si potessero usare le parentesi nelle query

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.