2013-05-12 188 views
0

我是PHP新手。我有一個數據庫,就像保存箱中的附件一樣。它有4個列與PHP和mysql數據庫相互關聯的下拉列表

  1. 司名稱
  2. 區名稱
  3. 坦納名稱
  4. 聯盟名稱

這些都是我們國家的行政單元。我想創建四個下拉列表/組合框,這些將從數據庫中填充。有一件事是必須相互關聯的。如果有人選擇分區名稱,則只顯示屬於該分區的分區名稱。同樣,如果選擇的區域只會在第三個下拉列表中顯示Thana名稱。同樣,第四個下拉列表將被填滿。

數據庫模式:

https://dl.dropboxusercontent.com/u/81313785/database_schema.xls

這裏是我使用的代碼:

<?php 
$con = pg_connect("data connection"); 
if (!$con) 
    { 
    die("Could not connect: " . pg_last_error()); 
    } 

    $locfindsql = "SELECT unionname, thananame, distname, divname from union_bgd"; 

//echo $sql; 
$result = pg_query($con, $locfindsql); 

$row = array(); 
?> 
<div id="leftpanel" style="position: absolute; top: 12%; left: 1%; bottom: 2%; width: 20%; height: 86%; box-shadow: 4px 4px 4px #888888; 
     background: #5e5e5c; z-index:-888;"> 

    <div id="findPlace" style= "position: absolute; left: 8px; top: 8px; right: 8px; height: 275px; background: rgb(245, 246, 246); border-radius: 4px;" > 
     <h4>Find a location</h4> 
     Division:</br> 
     <select name="Division"> 
      <? 
      while($row = pg_fetch_array($result)) 
       { 
       echo "<option>$row[divname]</option>"; 
       } 
      ?> 
     </select></br> 
     District:</br> 
     <select name="District"> 
      <? 
      while($row = pg_fetch_array($result)) 
       { 
       echo "<option>$row[distname]</option>"; 
       } 
      ?> 
     </select></br> 
     Upazila:</br> 
     <select name="Union"> 
      <? 
      while($row = pg_fetch_array($result)) 
       { 
       echo "<option>$row[thananame]</option>"; 
       } 
      ?> 
     </select></br> 
     Union:</br> 
     <select name="Union"> 
      <? 
      while($row = pg_fetch_array($result)) 
       { 
       echo "<option>$row[unionname]</option>"; 
       } 
      ?> 
     </select></br> 
      <? 
      pg_close($con); 
      ?> 

     <button id="placebutton" style="font-size: small; font-family: Arial;"><a href="javascript:onPlaceBtnClick('findPlaceButton')">Find the Place</a></button> 
    </div> 

    </div> 
+0

究竟你的問題是什麼?你有什麼問題?你有沒有嘗試過什麼? – peterm 2013-05-12 06:41:03

回答

2

我不確定這是否是ki nd你正在談論的事情,但我希望它會對你有所幫助。這是代碼從數據庫填充下拉列表。這不是生產代碼,但它顯示了將數據庫結果提供給表單的一種方法。如果您完全不熟悉PHP並想快速學習基礎知識,則可以嘗試w3schools.com,看看它是否對您有所幫助。還有在php.net的文檔,您可以深入PHP的深處。

// GET LIST AND DISPLAY IN FORM 
    $link = mysqli_connect($db_connection, $db_user, $db_passwd, $db_name); 
    // check connection 
    if (mysqli_connect_errno()) 
    { 
     printf("Connect failed: %s\n", mysqli_connect_error()); 
     exit(); 
    } 
    // else echo "<p>Connected to database.</p>"; 
    // Get value for new student id 
    $query = "SELECT custid, firstname, lastname FROM customer ORDER BY lastname, firstname ASC"; 
    if($result = mysqli_query($link, $query)) 
    { 
     echo '<p><form action="./index.php" method="post">'; 
     // 
     //SELECT THE CUSTOMER MAKING THE PAYMENT 
     echo'<select name="loadcustomer">'; 
     echo'<option value="" selected="selected" disabled="disabled">Select a Customer</option>'; 
     while ($idresult = mysqli_fetch_row($result)) 
     { 
      $custid = $idresult[0]; 
      $firstname = $idresult[1]; 
      $lastname = $idresult[2]; 

      echo'<option value="' . $custid . '">' . $firstname . '&nbsp;' . $lastname . '</option>'; 
     } 
     echo'</select></p><p>'; 
     // 
     // SELECT THE NUMBER OF HOURS TO BE PAID 
     echo'<select name="numberofhours">'; 
     echo'<option value="" selected="selected" disabled="disabled">Select # of Hours</option>'; 
     echo'<option value="1">1</option>'; 
     echo'<option value="2">2</option>'; 
     echo'<option value="3">3</option>'; 
     echo'<option value="4">4</option>'; 
     echo'<option value="5">5</option>'; 
     echo'<option value="6">6</option>'; 
     echo'<option value="7">7</option>'; 
     echo'<option value="8">8</option>'; 
     echo'</select></p><p>'; 
     echo'<input type="submit" value="Load Customer" />'; 
     echo'</form></p>'; 
    } 
    mysqli_free_result($result); 
    // close connection 
    mysqli_close($link); 
+0

我已更新我的代碼。你能看看這一刻嗎? – 2013-05-12 10:50:11

1

如果我正確地理解下面的代碼將正常工作,只是做MySQL的設置正確

 <?php 
    $con=mysqli_connect("your host","mysql_user","user_password","your_db"); 
    // Check connection 
    if (mysqli_connect_errno()) 
     { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
     } 

    $result = mysqli_query($con,"SELECT destrict, thana FROM your table"); 
    ?> 
    <select> 
    <? 
    while($row = mysqli_fetch_array($result)) 
     { 
     echo "<option>$row[destrict]</option>"; 

     } 
    ?> 
    </select> 
    <? 
    mysqli_close($con); 
    ?> 
+0

我已更新我的代碼。你能看看這一刻嗎? – 2013-05-12 10:48:37

+0

請將所有三種不同的while循環像$ row,$ row1,$ row2 ....... – 2013-05-12 12:25:58