Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Query con vari stati

  1. #1

    Query con vari stati

    Secondo voi dove sbaglio ?

    codice:
    $query = "SELECT * FROM immagini WHERE id_record = '$array[id_record]' AND sezione = 'video_1' OR sezione = 'video_2' OR sezione = 'video_3' OR sezione = 'video_4'";
    Il campo sezione memorizza delle variabili (video_1...fino a video_6) e sono sempre quelle.
    Cosi' il risultato che mi da e' come se selezionasse solo il campo id_record fregandosene delle altre condizioni....

    Suggerimenti ?

  2. #2
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Non credo di aver capito cosa vuoi ottenere, comunque la query come l'hai scritta può avere delle controindicazioni.

    Prova a formalizzare la condizione con l'uso della parentesi

    codice:
    $query = "SELECT * FROM immagini WHERE id_record = '$array[id_record]' AND (sezione = 'video_1' OR sezione = 'video_2' OR sezione = 'video_3' OR sezione = 'video_4')";

  3. #3
    Funziona perfettamente !
    Come mai certe controindicazioni ?
    Eppure la query l'ho copiata da un manuale php+mysql di 4 annetti fa...Potrebbe essere quello ?

    Cmq, per il resto funziona, ti ringrazio molto.
    Ciaooo

  4. #4
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    La controindicazione consiste nel fatto che AND e OR hanno uguale precedenza e l'espressione viene risolta da sinistra a destra.

    Ciò comporta che presa una riga della tabella viene valutata la prima condizione, quindi valuta da seconda e le combina con AND, poi valuta la terza e la combina con OR, poi valuta la quarta e la combina con OR...

    Ne consegue che la tua query ti mostrava i record che avevano l'ID specificato e selezione='video_1' o che a prescindere dall'ID contenevano in selezione un valore compreso fra video_2 e video_4

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.