Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Definizione variabile

  1. #1

    Definizione variabile

    Salve ragazzi,
    in questo piccolo lasso di codice
    codice:
     $query = "SELECT * FROM Opera WHERE ";
            foreach ($terms as $each){
                
                $i++;
                
                if($i == 1)
                    
                    
                      $query .= "TipoOpera LIKE '%$each%' OR Titolo ecc ecc...' ";
    
                     
                    
                    else
                
                    
                      $query .= "OR TipoOpera LIKE '%$each%'  ecc... ";
                }
    riscontro dei problemi, a query inviata mi dice che lavariabile $i non è definita.

    Se invece eseguo questa modifica:
    codice:
     $query = "SELECT * FROM Opera WHERE ";
            foreach ($terms as $each){
                
                $i=0;
                
                if($i == 0)
                    
                    
                      $query .= "TipoOpera LIKE '%$each%' OR Titolo ecc ecc...' ";
    
                     
                    
                    else
                
                    
                      $query .= "OR TipoOpera LIKE '%$each%'  ecc... ";
                }
    ed inserisco la ricerca fatta da una parola allora ottengo il risultato, se invece introduco due parole esempio: oro bianco ottengo
    codice:
    Notice: Undefined variable: i in /var/www/html/Tesi/pages/search.php on line 43 Notice: Undefined variable: i in /var/www/html/Tesi/pages/search.php on line 46 Notice: Undefined variable: i in /var/www/html/Tesi/pages/search.php on line 43 Notice: Undefined variable: i in /var/www/html/Tesi/pages/search.php on line 46 Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /var/www/html/Tesi/pages/search.php on line 64 Nessun risultato per la chiave: "oro bianco"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TipoOpera LIKE '%bianco%' OR Titolo LIKE '%bianco%' OR Tecnica LIKE '%bianco%' O' at line 1
    che nel primo caso non riscontro, escluso quello di definizione della variabile.

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Dichiara $i fuori dal ciclo e incrementala alla fine del foreach

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    159
    Prima del ciclo metti

    Codice PHP:
    $i 0

  4. #4
    Grazie ragazzi, ma non va
    non riesce a trovare nulla così solo errori sia con una parola che con due ricercate.

    Piuttosto ditemi che ho sbagliato a dichiarare la variabile:

    codice:
     $query = "SELECT * FROM Opera WHERE ";
            foreach ($terms as $each)
                $i=0;
            {
    	
                
            
    	
    	
    	if($i == 1)
    	
    	 $query .= ".... ";
    	 
    	else
    	 $query .= "OR .... ";
    	$i++
    	}

  5. #5
    che scemo ... scusatemi! riprovo


    Nada! neppure così
    codice:
     $query = "SELECT * FROM Opera WHERE ";
    $i=0;
            foreach ($terms as $each)   
            {
    	
                
            
    	
    	
    	if($i == 1)
    	
    	 $query .= "TipoOpera LIKE '%$each%' OR Titolo LIKE '%$each%' OR Tecnica LIKE '%$each%' OR Anno LIKE '$each' OR Collocazione LIKE '$each' OR AreaCompetenza LIKE '$each' OR Altezza LIKE '$each'OR Larghezza LIKE '$each'OR Profondita LIKE '$each' OR Durata LIKE '$each' OR  TitoloOriginale LIKE '$each' OR TitoloInternazionale LIKE '$each' OR GenereFilm LIKE '$each'OR AutoreFotografia LIKE '$each' OR AutoreScenografia LIKE '$each' OR FormaMusicale  LIKE '$each' OR Tonalita  LIKE '$each' OR IdentificativoOpera LIKE '$each' OR PrimaEsecuzione LIKE '$each'OR Organico LIKE '$each' OR InformazioniLibretto LIKE '$each' OR DataCreazione LIKE '$each' OR Incipit LIKE '$each' OR IncipitModerno LIKE '$each' OR DataUltimaModifica LIKE '$each' ";
    	 
    	else
    	 $query .= "OR TipoOpera LIKE '%$each%' OR Titolo LIKE '%$each%' OR Tecnica LIKE '%$each%' OR Anno LIKE '$each' OR Collocazione LIKE '$each' OR AreaCompetenza LIKE '$each' OR Altezza LIKE '$each'OR Larghezza LIKE '$each'OR Profondita LIKE '$each' OR Durata LIKE '$each' OR  TitoloOriginale LIKE '$each' OR TitoloInternazionale LIKE '$each' OR GenereFilm LIKE '$each'OR AutoreFotografia LIKE '$each' OR AutoreScenografia LIKE '$each' OR FormaMusicale  LIKE '$each' OR Tonalita  LIKE '$each' OR IdentificativoOpera LIKE '$each' OR PrimaEsecuzione LIKE '$each'OR Organico LIKE '$each' OR InformazioniLibretto LIKE '$each' OR DataCreazione LIKE '$each' OR Incipit LIKE '$each' OR IncipitModerno LIKE '$each' OR DataUltimaModifica LIKE '$each' ";
    	
    	}
            $i++;

  6. #6
    Fatta!

    codice:
    $query = "SELECT * FROM Opera WHERE ";
            $i=0;
            foreach ($terms as $each)   
            {
    	 $i++;
                
            
    	
    	
    	if($i == 1)
    	
    	 $query .= "TipoOpera LIKE '%$each%' OR Titolo LIKE '%$each%' OR Tecnica LIKE '%$each%' OR Anno LIKE '$each' OR Collocazione LIKE '$each' OR AreaCompetenza LIKE '$each' OR Altezza LIKE '$each'OR Larghezza LIKE '$each'OR Profondita LIKE '$each' OR Durata LIKE '$each' OR  TitoloOriginale LIKE '$each' OR TitoloInternazionale LIKE '$each' OR GenereFilm LIKE '$each'OR AutoreFotografia LIKE '$each' OR AutoreScenografia LIKE '$each' OR FormaMusicale  LIKE '$each' OR Tonalita  LIKE '$each' OR IdentificativoOpera LIKE '$each' OR PrimaEsecuzione LIKE '$each'OR Organico LIKE '$each' OR InformazioniLibretto LIKE '$each' OR DataCreazione LIKE '$each' OR Incipit LIKE '$each' OR IncipitModerno LIKE '$each' OR DataUltimaModifica LIKE '$each' ";
    	 
    	else
    	 $query .= "OR TipoOpera LIKE '%$each%' OR Titolo LIKE '%$each%' OR Tecnica LIKE '%$each%' OR Anno LIKE '$each' OR Collocazione LIKE '$each' OR AreaCompetenza LIKE '$each' OR Altezza LIKE '$each'OR Larghezza LIKE '$each'OR Profondita LIKE '$each' OR Durata LIKE '$each' OR  TitoloOriginale LIKE '$each' OR TitoloInternazionale LIKE '$each' OR GenereFilm LIKE '$each'OR AutoreFotografia LIKE '$each' OR AutoreScenografia LIKE '$each' OR FormaMusicale  LIKE '$each' OR Tonalita  LIKE '$each' OR IdentificativoOpera LIKE '$each' OR PrimaEsecuzione LIKE '$each'OR Organico LIKE '$each' OR InformazioniLibretto LIKE '$each' OR DataCreazione LIKE '$each' OR Incipit LIKE '$each' OR IncipitModerno LIKE '$each' OR DataUltimaModifica LIKE '$each' ";
    	
    	}
    Grazie tante

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.