1

私はこのような2つのテーブルを持っています:

[tblFacilityHrs] id uid title description

[tblFacilityHrsDateTimes] owner_uid startEventDate endEventDate startTime endTime days recurrence finalDate

私は次のようにテーブルに参加しました:

$result = mysql_query("SELECT * FROM tblFacilityHrs JOIN tblFacilityHrsDateTimes ON tblFacilityHrs.uid =tblFacilityHrsDateTimes.owner_uid") or trigger_error(mysql_error());

両方のテーブルを表示するために、各レコードを調べて、すべてをテーブルに入れます。

while($row = mysql_fetch_array($result)){ 
foreach($row AS $key => $value) { $row[$key] = stripslashes($value); } 
echo "<tr>";  
echo "<td valign='top'>" . nl2br( $row['title']) . "</td>";  
echo "<td valign='top'>" . nl2br( $row['description']) . "</td>";  
echo "<td valign='top'>" . nl2br( $row['startEventDate']) . "</td>";
echo "<td valign='top'>" . nl2br( $row['endEventDate']) . "</td>"; 
echo "<td valign='top'>" . nl2br( $row['startTime']) . "</td>";     
echo "<td valign='top'>" . nl2br( $row['endTime']) . "</td>"; 
echo "<td valign='top'>" . nl2br( $row['days']) . "</td>";     
echo "<td valign='top'>" . nl2br( $row['recurrence']) . "</td>";   
echo "<td valign='top'>" . nl2br( $row['finalDate']) . "</td>";   

私の質問は、各レコードをどのように編集するかです。

テーブルの下の私のメインページでは、通常これを行います:

擬似コード

echo "<td valign='top'><a href=edit.php?id={$row['id']}>Edit</a></td><td><a href=delete.php?id={$row['id']}>Delete</a></td> "; 

次に、編集ページで次のようにします。

擬似コード

if (isset($_GET['id']) ) { 
    $id = (int) $_GET['id']; 
    if (isset($_POST['submitted'])) { 
    foreach($_POST AS $key => $value) { $_POST[$key] = mysql_real_escape_string($value); } 
    $sql = "`title` =  '{$_POST['title']}' ,  `description` =  '{$_POST['description']}'   WHERE `id` = '$id' "; 
    mysql_query($sql) or die(mysql_error()); 
    echo (mysql_affected_rows()) ? "Edited row.<br />" : "Nothing changed. <br />"; 
    echo "<a href='list.php'>Back</a>"; 

テーブルが結合されているので、これはどのように機能しますか?どうすれば両方を編集できますか?

4

1 に答える 1

3

各テーブルを個別に更新する必要があると思います。最初にマスターテーブル、次にディテールテーブル、その後データビューを再バインドします

于 2012-05-07T15:17:03.033 に答える