Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343

    motore di ricerca con menu a tendina

    Buongiorno a tutti ...

    Ho un problema ho un motore di ricerca interno che mi prende i dati dgt nella barra di ricerca e fino a qui tutto ok ...

    ho implementato nella form di ricerca 3 menu a tendina che mi vanno a selezionare 3 campi chiave per la ricerca così da rifinirla ulteriormente....

    ma non funziona qualcuno mi sa dire perché ????

    form

    Codice PHP:
     <?php 
      
    require ("db_connect.php");  
      
    $aid $_POST['aid'];   
        
    $bid $_POST['bid']; 
         
    $cid $_POST['cid']; 
       
    $fascias = @mysql_query ("SELECT id, fascia FROM fascia"); 
      if (!
    $fascias) { 
      exit(
    '

    unable to obtain fascias </p>'
    ); 
      } 
      
    $tipos = @mysql_query ("SELECT id, tipo FROM tipo "); 
      if (!
    $tipos) { 
      exit(
    '

    unable to obtain tipos </p>'
    ); 
      } 
      
    $modellos = @mysql_query ("SELECT id, modello FROM modello "); 
      if (!
    $modellos) { 
     exit(
    '

    unable to obtain tipos </p>'
    ); 
      } 
      
    ?> 
      <table width="100%"> 
      <tr> 
        <td width="22%">

    [img]immagini/logo2.jpg[/img]</p> 
        

     
        <h2>Raffina la ricerca</h2> 
        </p></td> 
        <td width="78%"> 
        <table width="100%"> 
              <tr> 
                <th width="90%" align="center" valign="bottom" scope="col"></th> 
                <th width="9%" scope="col"></th> 
              </tr> 
              <tr> 
      <td align="center" valign="bottom"> <h2>Vendita Barche</h2> <hr /><h5>inserisci: un comune o una provincia o una regione o una citta' </h5> 
               <form action='cerca.php' method='POST'> 
               <input type='text' tabindex='15' name='cerca' class='input' size="15" > 
      <select name="aid" size="1"> 
      <option selected value="">Seleziona fascia prezzo</option> 
     <?php 
       
    while ($fascia mysql_fetch_array($fascias)) { 
        
    $aid $fascia['id']; 
        
    $afascia htmlspecialchars($fascia['fascia']); 
        echo 
    "<option value='$aid'>$afascia</option>\n"
      } 
      
    ?> 
    </select> 

    <select name="cid" size="1"> 
      <option selected value="">Tipologia barca</option> 
    <?php 
       
    while ($modello mysql_fetch_array($modellos)) { 
        
    $cid $modello['id']; 
        
    $cmodello htmlspecialchars($modello['modello']); 
        echo 
    "<option value='$cid'>$cmodello</option>\n"
      } 
      
    ?> 
    </select> 

    <select name="bid" size="1"> 
      <option selected value="">Seleziona tipo annuncio</option> 
       
    <?php 
       
    while ($tipo mysql_fetch_array($tipos)) { 
        
    $bid $tipo['id']; 
        
    $btipo htmlspecialchars($tipo['tipo']); 
        echo 
    "<option value='$bid'>$btipo</option>\n"
      } 
      
    ?> 
    </select></p>
     

       
       
      </td> 
                <td width="9%">




     
                <button class="button orangeButt">Trova
    Barche</button> 

            </form><td width="1%"></td> 
              </tr> 
            </table> 
         </td> 
      </tr> 
    </table>
    cerca.php

    Codice PHP:
    <?php   
    if(!isset($_SESSION)){session_start ();}   
    class 
    MySQL{       
        function 
    MySQL()       
        {       
            require_once 
    "db_connect.php";  //metti l'once   
        
    }       
    }       
    $data = new MySQL();     
    if(isset (
    $_POST['cerca'])){   
        
    $_SESSION['cerca']=$_POST['cerca'];   
    }   
    $cerca=mysql_escape_string(stripslashes($_SESSION['cerca']));   
    if(
    $cerca=="" || strlen($cerca)<2){   
        echo 
    "dati inseriti non validi";   
        
    //e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere   
    }else{   
        
    $q= ("SELECT * FROM     
            annunci INNER JOIN regione ON (annunci.regioneid=regione.id )     
            INNER JOIN provincia ON (annunci.provinciaid=provincia.id)     
            INNER JOIN citta ON (annunci.cittaid=citta.id)     
            INNER JOIN cliente ON (annunci.clienteid=cliente.id)     
            INNER JOIN tipo ON (annunci.tipoid=tipo.id)  
             INNER JOIN users ON (annunci.user_id=users.id)   
            INNER JOIN modello ON (annunci.modelloid=modello.id)  
            INNER JOIN fascia ON (annunci.fasciaid=fascia.id)   
            WHERE id_annunci LIKE '%
    $cerca%'  OR name LIKE '%$cerca%' OR regione LIKE '%$cerca%' OR citta LIKE '%$cerca%' OR messaggio LIKE '%$cerca%' OR prezzo LIKE '%$cerca%' OR mq LIKE '%$cerca%' OR modello LIKE '%$cerca%' OR tipo LIKE '%$cerca%' OR fascia LIKE '%$cerca%' ");   
           
         
    $q mysql_query($q) or die (mysql_error()) ;   
        
    $count=mysql_num_rows($q);  
        if(
    $count == 0){   
            echo 
    "non ci sono dati col valore cercato";   
            
    //e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere es. registrati   
        
    }else{   
            
    //visto che ci sono dati inserisci anche la paginazione   
            
    require_once "paginazione.php";//metti l'once   
            
    $p = new Paging;   
            
    $max 5;   
            
    // identifichiamo la pagina da cui iniziare la numerazione   
            
    $inizio $p->paginaIniziale($max);   
            
    // troviamo il numero delle pagine che dovrà essere contato    
            
    $pagine $p->contaPagine($count$max);   
            
    $lim="LIMIT $inizio$max";   
            
    $sq_lim=$q.$lim;//ripetere lo stesso codice uguale è sempre cattiva programmazione   
            
    $risultato=mysql_query($sq_lim);   
            
            while(
    $row=mysql_fetch_array($q)){      
                
    $click_annuncio $row['click_annuncio'];   
    $id_annunci $row['id_annunci'];   
    $user_id $row['id']; 
        
    $modello $row['modello']; 
      
    $messaggio substr($row['messaggio'], 025);   
      
    $mq $row['mq']; 
      
    $prezzo $row['prezzo'];  
      
    $tipologia $row['tipologia'];  
        
    $sigla $row['sigla'];  
       
    $tipo $row['tipo'];  
      
    $name $row['name'];  
       
    $locali $row['locali'];  
      
    $via $row['via'];  
      
    $citta $row['citta'];  
      
    $username $row['username'];  
      
    $email $row['email'];  
       
    $condizioni $row['condizioni'];  
        
    $regione $row['regione'];  
         
    $tipo $row['tipo'];  
          
    $condizioni $row['condizioni'];  
           
    $logo_cliente $row['logo_cliente'];  
               
        
       
    $nome_file $row['nome_file'];  
      
    $tipo_file $row['tipo_file'];  
      
    $dati_file $row['dati_file'];  
        
      
    $nome_file_vero $row['nome_file_vero'];  
      
    $tipo_file $row['tipo_file'];  
      
    $dati_file $row['dati_file'];  
        
                
    //cosa ci sta a fare in mezzo a una table <p class='three'> eventualmente la class dalla al td o al tr  
                //tra l'altro non c'è la chiusura del tag </p>  
                //poi c'è una chiusura </table> nel mezzo (quindi hai messo due chiusure e una sila apertura) e  
                //ci sono dei tr non aperti ma solo chiusi  
                
    echo" <h5><table width='100%'>";  
      echo
    " <tr>";  
       echo
    " <p class='three'><td colspan='3'> <a href=\"rannunci.php?id=$id_annunci\"/>$via,$citta,$name,$sigla,$regione</a></td>";  
     echo
    " </tr>";  
     echo
    " <tr>";  
      echo
    "  <td width='14%' bgcolor='#f4f9fd'> <a href=\"rannunci.php?id=$id_annunci\"/>[img]immagini2.php?id_annunci=$id_annunci[/img]</a></td>";  
      echo
    "  <td width='45%' bgcolor='#f4f9fd'><table width='100%'>";  
       echo
    "   <tr>";  
        echo
    "    <td>Stato Imbarcazione :
     
    $tipo 
     Tipo imbarcazione: 
    $modello
    </td>"
    ;  
        echo
    "  </tr>";  
        echo
    "  <tr>";  
          echo
    "  <td> <a href=\"rannunci.php?id=$id_annunci\"/><button class=\"button orangeButt\">Vedi dettagli </button></td>";  
    echo
    "</tr>";  
     echo
    "     <tr>";  
        echo
    "    <td></td>";  
        echo
    "  </tr>";  
       echo
    " </table></td>";  
      echo
    "  <td width='31%' bgcolor='#f4f9fd'>Prezzo:$prezzo
    Lunghezza:
    $mq
    Cabine:
    $locali</p> <a href=\"rannunci.php?id=$id_annunci\"/>[img]immagini1.php?id=$user_id[/img]</a></td>";  
      echo
    "</tr>";  
    echo
    "</table></h5>";  

    }   

            
    $lista $p->listaPagine($_GET['p'], $pagine);  
            echo 
    "<tr><td colspan=\"3\">";  
            echo 
    "$lista . 
    "
    ;  
              
    $navigatore $p->precedenteSuccessiva($_GET['p'], $pagine);   
             echo 
    $navigatore;   
            echo 
    "</td></tr>";  
            echo
    "</table></h5>";  
        }
    //fine if-else ci sono dati  
    }//fine if-else post giusto  
    ?>

  2. #2
    Utente di HTML.it L'avatar di skjobax
    Registrato dal
    Jan 2010
    Messaggi
    569
    Esattamente cosa non funziona?
    Comunque, hai provato ad eseguire la query dal pannello di controllo del database (es: phpmyadmin)?
    A volte la soluzione a un problema è sempre la più semplice...

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.