Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661

    [php] condizione IF non rispettata da variabile

    Ciao,

    ho questo condizonale
    codice:
    if (isSet($ordina_ricerca) || !empty($ordina_ricerca) || isSet($ordina_ascdesc) || !empty($ordina_ascdesc)){            
                switch ($ordina_ricerca) {
                    case 1:	
            	        $query ="SELECT * FROM #__autoexp_mark INNER JOIN #__autoexp_add ON #__autoexp_add.mark_id=#__autoexp_mark.id WHERE #__autoexp_add.published = '1' ";
                    break; 
                  }
            }else{
                $query = "SELECT * FROM #__autoexp_add WHERE published = '1'";   
            }
    $ordina_ricerca e $ordina_ascdesc, possono essere non definiti... ma se definiti provengono da POST;
    il problema è che se le due variabili non sono definite... non mi fa }else{

    cosa succede?

    grazie

  2. #2
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    dove è l'errore?


  3. #3
    non c'è nessun errore in quel codice.
    non ti va in else perchè molto probabilmente una o entrambe le variabili sono definite da qualche parte.

  4. #4
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    ok, ma non capisco dove...


    grazie per il supporto!

  5. #5
    Prova a mandare in echo le variabili e vedere quale delle tante ritorna.

    Codice PHP:
    if (isSet($ordina_ricerca)) {
        echo 
    "1° Controllo OK
    "
    ;
    }
    if (!empty(
    $ordina_ricerca)) {
        echo 
    "2° Controllo OK
    "
    ;
    }
    if (isSet(
    $ordina_ascdesc)) {
        echo 
    "3° Controllo OK
    "
    ;
    }
    if (!empty(
    $ordina_ascdesc)){
        echo 
    "4° Controllo OK
    "
    ;
    }

    exit;
    /*
    Piazza questo codice prima del tuo script
    e vedi quale dei tanti da un risultato.
    Visto che il tuo if è composto di OR, vuol dire 
    che almeno uno dei controlli è TRUE
    */ 
    Male che ti va, prova ad invertire l'IF nel seguente modo.
    Codice PHP:
    if (!isset($ordina_ricerca) || empty($ordina_ricerca) || !isset($ordina_ascdesc) || empty($ordina_ascdesc)){            
                
    $query "SELECT * FROM #__autoexp_add WHERE published = '1'";   

            }else{
       switch (
    $ordina_ricerca) {
          case 
    1:    
             
    $query ="SELECT * FROM #__autoexp_mark INNER JOIN #__autoexp_add ON #__autoexp_add.mark_id=#__autoexp_mark.id WHERE #__autoexp_add.published = '1' ";
                    break; 
                  }
            } 
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  6. #6
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    grazie!

    funziona!!!!

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.