2013-04-25 2 views
0

좋아, 내 데이터베이스의 영역 테이블에 새 영역을 삽입/업데이트하려면 영역을 건물에 연결해야합니다 (buildingID는 fk입니다). 구역 테이블), 지금 내가 건물과 연결된 새로운 구역을 입력 할 수 있도록 양식을 만들었지 만 수동으로 buildingID를 입력해야합니다. 원하는 것은 건물 테이블의 모든 건물 이름입니다. 드롭 다운 상자에 표시하여 새 영역을 추가 할 때 buildingID를 입력하지 않고 선택할 수 있습니다.외래 키를 사용하여 드롭 다운에서 다른 테이블로 데이터 삽입

나에게 도움이 될만한 사람에게 감사드립니다.

?php 
$con = mysql_connect ("localhost","user","pass"); 
if (!$con){ 
die("can not connect: " . mysql_error()); 
} 
mysql_select_db("dbname",$con); 

if(isset($_POST['update'])){ 
$updatequery = "UPDATE zones SET Zonename='$_POST[zonename]', Zonenumber='$_POST[zonenumber]', Zonecapacity='$_POST[zonecapacity]', buildingID='$_POST[buildingid]'WHERE zoneID='$_POST[hidden]'"; 
mysql_query($updatequery, $con); 
}; 

if(isset($_POST['add'])){ 
$addquery = "INSERT INTO zones (Zonename, Zonenumber, Zonecapacity, buildingID) VALUES  ('$_POST[uname]', '$_POST[ucapacity]', '$_POST[unumber]', '$_POST[ubuilding]')"; 
mysql_query($addquery, $con); 
}; 


$sql = "SELECT * FROM zones"; 

$myData = mysql_query($sql,$con); 
echo "<table> 
<tr> 
<th> </th> 
<th>Zone Name</th> 
<th>Zone Number</th> 
<th>Zone Capacity</th> 
<th>Building ID</th> 
</tr>"; 
while ($record = mysql_fetch_array($myData)){ 
echo "<form action=addeditzone.php method=post>"; 
echo " <tr>"; 
echo "<td>" . $record['zoneID'] . " </td>"; 
echo "<td>" . "<input type=text name=zonename value='" . $record['Zonename'] . "' </td>"; 
echo "<td>" . "<input type=text name=zonenumber value='" . $record['Zonenumber'] . "' </td>"; 
echo "<td>" . "<input type=text name=zonecapacity value='" . $record['Zonecapacity'] . "' </td>"; 
echo "<td>" . "<input type=text name=buildingid value='" . $record['buildingID'] . "' </td>"; 
echo "<td>" . "<input type=hidden name=hidden value=" . $record['zoneID'] . " </td>"; 
echo "<td>" . "<input type=submit name=update value=update" . " </td>"; 
echo "</form>"; 
} 
echo "<form action=addeditzone.php method=post>"; 
echo "<tr>"; 
echo "<td><td><input type=text name=uname></td>"; 
echo "<td><input type=text name=unumber></td>"; 
echo "<td><input type=text name=ucapacity></td>"; 
echo "<td><input type=text name=ubuilding></td>"; 
echo "<td>" . "<input type=submit name=add value=add>" . " </td>"; 
echo "<tr>"; 
echo "</form>"; 
echo "</table>"; 
mysql_close($con); 

?> 

답변

0

다음은 데이터베이스 테이블 데이터로 드롭 보관함을 채우는 코드입니다.

<?php 
    $con = mysql_connect ("127.0.0.1","root"); 
    if (!$con){ 
     die("can not connect: " . mysql_error()); 
    } 
    mysql_select_db("examples",$con); 
if (isset($_POST['submit'])){ 




    $sql = "INSERT INTO zones (Zonename,Zonecapacity,buildingID) VALUES 
    ('$_POST[Zonename]','$_POST[Zonecapacity]','$_POST[BuildingID]')"; 
    $inserted=mysql_query($sql,$con); 
    if($inserted) { 
     echo "New Zone succesfully entered"; 
    } else { 
     echo "fail ". mysqli_error($con); 
    }; 
} else { 
    echo "<form action='insertzone1.php' method='post'> 
      Insert New Zone:<br><br> 
      Zone Name:<br><input type='text' name='Zonename'><br><br> 
      Zone Capacity:<br><input type='int' name='Zonecapacity'><br><br> 
      Building:<br>"; 
    $sql = "select * from building"; 
    $res = mysql_query($sql,$con); 
    echo mysql_error($con); 
    echo "<select name='BuildingID'>"; 
    while ($row = mysql_fetch_array($res)){ 

     echo "<option value=" . $row['buildingID'] . ">". $row['buildname'] . "</option>"; 
    } 
    echo "</select><br><input type='submit' name='submit'> 
      </form>"; 


    mysql_close($con); 
}; 
+0

정말 고마워요! – user2317823

+0

잊지 마세요 !!! mysql_query는 더 이상 사용되지 않습니다. PDO 또는 mysqli 사용을 고려하십시오. 나는 오히려 PDO. –

관련 문제