PHP search from javascript listbox

Discussion in 'PHP' started by kevinl2375, Sep 14, 2010.

  1. #1
    I am having a few issues and thought I would get someone elses opinion..

    I have a dynamically populated triple list box on a search page and I would like to take the info from the last list box and display all the info for it on the same page.

    The database that the last listbox comes from is also the database with all the info in it.
    Any help anyone could offer would be appreciated..
    This is what I have so far:

    SEARCH.php

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Search Catalogues</title>
    
    <script language="javascript" type="text/javascript">
    function getXMLHTTP() { 
            var xmlhttp=false;    
            try{
                xmlhttp=new XMLHttpRequest();
            }
            catch(e)    {        
                try{            
                    xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch(e){
                    try{
                    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
                    }
                    catch(e1){
                        xmlhttp=false;
                    }
                }
            }
                 
            return xmlhttp;
        }
        
        function getModel(makeId) {        
            
            var strURL="findModel.php?make="+makeId;
            var req = getXMLHTTP();
            
            if (req) {
                
                req.onreadystatechange = function() {
                    if (req.readyState == 4) {
                        // only if "OK"
                        if (req.status == 200) {                        
                            document.getElementById('modeldiv').innerHTML=req.responseText;                        
                        } else {
                            alert("There was a problem while using XMLHTTP:\n" + req.statusText);
                        }
                    }                
                }            
                req.open("GET", strURL, true);
                req.send(null);
            }        
        }
        function reload(form){
    var val=form.cat.options[form.cat.options.selectedIndex].value;
    self.location='dd.php?cat=' + val ;
    }
    
        function getSeries(makeId,modelId) {        
            var strURL="findSeries.php?make="+makeId+"&model="+modelId;
            var req = getXMLHTTP();
            
            if (req) {
                
                req.onreadystatechange = function() {
                    if (req.readyState == 4) {
                        // only if "OK"
                        if (req.status == 200) {                        
                            document.getElementById('seriesdiv').innerHTML=req.responseText;                        
                        } else {
                            alert("There was a problem while using XMLHTTP:\n" + req.statusText);
                        }
                    }                
                }            
                req.open("GET", strURL, true);
                req.send(null);
            }
                    
        }
    </script>
    <style type="text/css">
    <!--
    body {
        font: 100% Verdana, Arial, Helvetica, sans-serif;
        background: #666666;
        margin: 0;
        padding: 0;
        text-align: center; 
        color: #000000;
    }
    .oneColElsCtr #container {
        width: 65em;
        background: #FFFFFF;
        margin: 0 auto; 
        border: 1px solid #000000;
        text-align: left; 
    }
    .oneColElsCtr #mainContent {
        padding: 0 20px; 
    }
    -->
    </style>
    </head>
    
    <p>
    <body class="oneColElsCtr">
    
    <div id="container">
      <div id="mainContent">
        <h1><img src="search_files/AAG Logo.png" width="987" height="84" alt="AAG Home" longdesc="http://www.atlasauto.com/" /></h1>
    
        <form action="test submit.php?go" method="post">
        
        <table width="100%" border="0" cellpadding="6">
      <tr>
        <td width="48%" align="right" scope="col">Search by Part Number:</td>
        <td width="52%" align="left" scope="col"><input type="text" name="part_number" id="part_number" /></td>
      </tr>
      <tr>
        <td colspan="2" align="right">&nbsp;</td>
        </tr>
      <tr>
        <td align="right">&nbsp;</td>
        <td align="left"><input type="submit" name="submit" id="submit" value="Submit" /></td>
      </tr>
      <tr>
        <td colspan="2" align="right">&nbsp;</td>
      </tr>
      <tr>
        <td align="right">OR</td>
        <td align="left">&nbsp;</td>
      </tr>
      <tr>
        <td align="right">&nbsp;</td>
        <td align="left">&nbsp;</td>
      </tr>
      <tr>
        <td align="right"><label for="component">Search by Product:</label></td>
        <td align="left"><select name="component" id="component" >
          <option value="" selected="selected">Please Select Product</option>
          <option value="1">Filters</option>
          
        </select></td>
      </tr>
      <tr>
        <td align="right">Vehicle Make:</td>
        <td align="left"><select name="make" onChange="getModel(this.value)">
        <option>Select Vehicle Make</option>
        <option value="1">ACURA    <option value="2">ALFA ROMEO    <option value="3">ALPINA    <option value="4 ">ARO     <option value="5">ASIA MOTORS    <option value="6">ASTON MARTIN    <option value="7">AUDI    <option value="8">BARKAS    <option value="9">BEDFORD    <option value="10">BERTONE    <option value="11">BMW    <option value="12">CADILLAC    <option value="13">CHEVROLET    <option value="14">CHRYSLER     <option value="15">CITROEN    <option value="16">DACIA     <option value="17">DAEWOO    <option value="18">DAIHATSU    <option value="19">DODGE    <option value="20">FIAT    <option value="21">FIAT (Poland)    <option value="22">FORD (Europe)    <option value="23">GINETTA    <option value="24">HINO    <option value="25">HONDA    <option value="26">HYUNDAI    <option value="27">INFINITI    <option value="28">INNOCENTI    <option value="29">IRMSCHER    <option value="30">ISDERA    <option value="31">ISUZU    <option value="32">IVECO    <option value="33">JAGUAR    <option value="34">JAGUAR-DAIMLER    <option value="35">JEEP    <option value="36">KIA     <option value="37">LADA    <option value="38">LANCIA    <option value="39">LAND ROVER    <option value="40">LEXUS    <option value="41">LONDON TAXIS    <option value="42">LOTUS    <option value="43">MASERATI    <option value="44">MAZDA    <option value="45">MEGA    <option value="46">MERCEDES-BENZ     <option value="47">MINI ( BMW )    <option value="48">MITSUBISHI    <option value="49">MORGAN    <option value="50">NISSAN    <option value="51">OPEL    <option value="52">PEUGEOT    <option value="53">PIAGGIO    <option value="54">PONTIAC    <option value="55">PORSCHE    <option value="56">PROTON    <option value="57">RENAULT    <option value="58">ROVER    <option value="59">SAAB    <option value="60">SEAT    <option value="61">SKODA    <option value="62">SMART    <option value="63">SSANGYONG    <option value="64">SUBARU    <option value="65">SUZUKI    <option value="66">TALBOT    <option value="67">TATA    <option value="68">TOYOTA    <option value="69">TRABANT    <option value="70">VOLVO    <option value="71">VW     <option value="72">ZASTAVA    </select></td>
      </select></td>
      </tr>
      <tr>
        <td align="right">Vehicle Model:</td>
        <td ><div id="modeldiv"><select name="model" >
        <option>Select Vehicle Make First</option>
            </select></div></td>
      </tr>
      <tr>
        <td align="right">Vehicle Series:</td>
        <td ><div id="seriesdiv"><select name="series">
        <option>Select Vehicle Make and Model First</option>
            </select></div></td>
      </tr>
      <tr>
        <td align="right">&nbsp;</td>
        <td align="left">&nbsp;</td>
      </tr>
      <tr>
        <td align="right">&nbsp;</td>
        <td align="left"><input type="submit" name="submit2" id="submit2" value="Submit" /></td>
      </tr>
      <tr>
        <td align="right">&nbsp;</td>
        <td align="left">&nbsp;</td>
      </tr>
      <tr>
        <td align="right">&nbsp;</td>
        <td align="left">&nbsp;</td>
      </tr>
      <tr>
        <td align="right">&nbsp;</td>
        <td align="left">&nbsp;</td>
      </tr>
      <tr>
        <td align="right">&nbsp;</td>
        <td align="left">&nbsp;</td>
      </tr>
      <tr>
        <td height="30" align="right">&nbsp;</td>
        <td align="left">&nbsp;</td>
      </tr>
      <tr>
        <td height="32" align="right">&nbsp;</td>
        <td align="left"><label for="submit"></label></td>
      </tr>
        </table>
    </form>
        <h2>&nbsp;</h2>
      <!-- end #mainContent --></div>
    <!-- end #container --></div>
    </body>
    </html>
    
    Code (markup):
    TEST SUBMIT.php

    <?php
      if(isset($_POST['submit2'])){
      if(isset($_GET['go'])){
      if(preg_match($_POST['series'])){
      $series=$_POST['series'];
     
      include 'vehicle_db.php';
      
      $sql="SELECT  ID, series FROM vehicle_series WHERE series LIKE '%" . $series .  "%'";
    
      
      $result=mysql_query($sql);
      
      while($row=mysql_fetch_array($result)){
              $ID=$row['ID'];
              $make=$row['make'];
              $model=$row['model'];
              $series=$row['series'];
              $year=$row['year'];
              $oil=$row['oil'];
              $air=$row['air'];
              $fuel=$row['fuel'];
              $cabina=$row['cabina'];
              $cabinb=$row['cabinb'];
              $other=$row['other'];
              
      
      echo "<ul>\n";
      echo "<li>" . "<a  href=\"search.php?id=$ID\">"   .$make . " " . $model .  " "   .$series . " " . $year .  " "   .$oil . " " . $air .  " "   .$fuel . " " . $cabina .  " "   .$cabinb . " " . $other .  "</a></li>\n";
      echo "</ul>";
      }
      }
      else{
      echo  "<p>Please enter a search query</p>";
      }
      }
      }
    ?>
    Code (markup):
    Regards
    Kev
     
    kevinl2375, Sep 14, 2010 IP