Visualizzazione dei risultati da 1 a 8 su 8

Discussione: if annidato

  1. #1
    Utente di HTML.it L'avatar di gio78
    Registrato dal
    Oct 2002
    Messaggi
    83

    if annidato

    Ciao, non riesco a eseguire un ciclo if annidato.
    So che non è il massimo ma, ormai ho lo script impostato nel seguente modo e avrei bisogno di fare un select del tipo:

    select where (( (mese=$mese) e:

    (prodotto="prodottow" dove quantitaw>2) o dove:

    ((prodotto="prodottow" dove quantitaw>2) && (prodottoq="prodottoq" dove quantitaq>2))

    che ho tradotto così:

    $where="
    (
    ((mese=$mese) && (prodotto='prodottow' and quantitaw>2)
    or ((prodotto='prodottow' and quantitaw>2) and (prodotto='prodottoq' and quantitaq>2))
    )";}


    Forse c'è una parentesi ditroppo ma devo prendere un record solo se sodisfa le quantita di due campi insieme...



    Grazie.

  2. #2
    non so se sbaglio, ma il select where sarebbe lo switch con questa sintassi:
    Codice PHP:
    swhitch ($variabile) {
       case 
    : { $operazione1 }
       case 
    : { $operazione2 }
       default : {
         
    $operazione3 
      
    }

    cioè, se $variabile risulta edentica a 1 esegue $operazione1 se invece e uguale a 2 esegue $operazione2, altrimenti (se $variabile e diverso da 1 o da 2 ) esegue $operazione3

    Non saprei se è questo che ti interessa

    N.B. : scusa, mi sono sbagliato con il select case di VB.net, Cmq prova ha sostituire " && " con " and "

  3. #3
    Utente di HTML.it L'avatar di gio78
    Registrato dal
    Oct 2002
    Messaggi
    83

    no.........

    Ciao, grazie.
    In realtà mi serve dirgli di fare la select se ((campo1=1 e campo1=1) e (campo2=2 e campo2=2)). Quindi, di selezionare la riga solo se entrambe le coppie di campi verificano la condizione...Però non va...forse dovrei fare select di select...

    Bo!

  4. #4
    puoi provare cosi:
    Codice PHP:
    $query "SELECT campo FROM tabella WHERE (campo = 1 AND capo = 2) AND (campo = 3 AND campo = 4);" 

  5. #5
    Utente di HTML.it L'avatar di gio78
    Registrato dal
    Oct 2002
    Messaggi
    83
    Grazie.
    Infatti funzionerebbe ma il problema è che poi ci devo mettere pure degli OR, quindi dovrei racchiudere il tuo esempio in ulteriori parentesi, ma non va...incredibile, sto sbroccando di brutto.

  6. #6
    prova cosi:
    Codice PHP:
    $query "SELECT campo FROM tabella WHERE ((campo=1 AND campo=2) AND (campo=3 ADN campo = 4)) or ((campo=5 AND campo=5) or (campo=4 AND campo=4)); 
    Cmq se non è quello che vuoi, se sai usare Access, dopo aver fatto la query puoi anche vedere il codice sql, magari è quello che vuoi tu?

  7. #7
    Utente di HTML.it L'avatar di gio78
    Registrato dal
    Oct 2002
    Messaggi
    83

    no.........

    Esatto, è logico ma non mi va nel momento in cui racchiudo tra due parentesi c.....

  8. #8
    Perche non posto il codice dove si trova la 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.