2016-06-28 22 views
0

您好幫助非常感謝。 我無法解決這個問題。我無法在這個特定任務的任何地方找到教程。 我有一個ID,製造商,ModelNo,Manupartcode和更多字段的表。來自Databse的我的SQL PHP多層下拉列表

我想要第一個下拉列表中填寫製造商。 SELECT Manufacturer FROM Table_Name; 這很好

第二個列表需要是ModelNo。 SELECT ModelNo FROM Table_Name WHERE Manufacturer ='我們從第一個列表中選擇';

INDEX.PHP 

<!DOCTYPE html> 
<html> 
<head> 
<script> 
function showData(str) 
{ 
    if (str == "") 
    { 
     document.getElementById("txtHint").innerHTML = ""; 
     return; 
    } 
    else 
    { 
     if (window.XMLHttpRequest) 
     { 
      // code for IE7+, Firefox, Chrome, Opera, Safari 
      xmlhttp = new XMLHttpRequest(); 
     } 
     else 
     { 
      // code for IE6, IE5 
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     xmlhttp.onreadystatechange = function() 
     { 
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
      { 
       document.getElementById("txtHint").innerHTML = xmlhttp.responseText; 
      } 
     }; 
     xmlhttp.open("GET","showData.php?q="+str,true); 
     xmlhttp.send(); 
    } 
} 
</script> 
</head> 
<body> 

<form> 
<?php 

$conn = new mysqli('Server_Name', 'Username', 'Password', 'Database_Name') 
or die ('Cannot connect to db'); 

    $result = $conn->query("select DISTINCT Manufacturer from Table_Name"); 

    echo "<select name = 'Manufacturer' onchange = 'showData(this.value)'>"; 

    while ($row = $result->fetch_assoc()) { 

        unset($Manufacturer); 
        $Manufacturer = $row['Manufacturer']; 
        echo '<option value="'.$Manufacturer.'">'.$Manufacturer.'</option>'; 

} 

    echo "</select>"; 
?> 
</form> 

<br> 

<div id="txtHint"> 
    Text 
</div> 

</body> 
</html> 


SHOWDATA.PHP 

<!DOCTYPE html> 
<html> 
<head> 
<style> 
table { 
    width: 100%; 
    border-collapse: collapse; 
} 

table, td, th { 
    border: 1px solid black; 
    padding: 5px; 
} 

th {text-align: left;} 
</style> 
</head> 
<body> 

<?php 
$q = intval($_GET['q']); 

$con = mysqli_connect('Server_Name', 'Username', 'Password', 'Database_Name'); 
if (!$con) { 
    die('Could not connect: ' . mysqli_error($con)); 
} 

mysqli_select_db($con,"Database_Name"); 
$sql="SELECT ModelNo FROM Table_Name WHERE Manufacturer = '".$q."'"; 
$result = mysqli_query($con,$sql); 

echo "<table> 
<tr> 
<th>ModelNo</th> 
</tr>"; 
while($row = mysqli_fetch_array($result)) { 
    echo "<tr>"; 
    echo "<td>" . $row['ModelNo'] . "</td>"; 
    echo "</tr>"; 
} 
echo "</table>"; 
mysqli_close($con); 
?> 
</body> 
</html> 

回答

0

解決

發現這個在線這裏的某個地方。

將此替換爲:echo '<option value="'.$Manufacturer.'">'.$Manufacturer.'</option>';

添加此相反:

$q = isset($_GET['q']) ? $_GET['q'] :'WW'; 

查詢現在工作正常。

$sql="SELECT ID, ModelNo FROM IE_STARSYSIE_stock WHERE Manufacturer = '".$q."'";