請幫助我解決這個問題。我有兩個DB,一個跟蹤用戶和系統活動,另一個跟蹤僅用戶活動。下面代碼的目的是首先從第二個DB中檢索所有表格。這些表有以下欄目:如何使用循環結構將數據更新或插入表中
(ID |日期|借記卡|信用卡|號碼|描述| ACCOUNTTYPE | COMPANY_ID)
的想法是檢索所有表只有自己|借記卡|信用|列。這些字段(| debit | credit |)已經有一些值。檢索完成後,我應該能夠更新或者在可能的情況下對從數據庫檢索到的任何或所有表執行新的插入操作。
以下是我寫的代碼。它檢索好,但不能做插入或更新。請協助我
同一頁面自行調用。
//Connection and Extraction from DB
//DB Connection exists
//SQL Query
$sql = "show tables from $companyname";
$results = mysql_query($sql) or die(mysql_error());
$count = 1;
while($row = mysql_fetch_array($results))
{
$results2 = mysql_query("SELECT * FROM `$row[0]` LIMIT 1") or die('Error'.mysql_error());
while($row2 = mysql_fetch_array($results2))
{
$debit = $row2['debit'];
$credit = $row2['credit'];
echo "<tr><td>$count. </td><td width='30%'>".ucwords($row[0])."</td><td width='30%'>
<input type='text' name='debit' value='$debit' align='right'></td>
<td width='30%'><input type='text' name='credit' value='$credit' align='right'></td></tr>";
}
$count++;
}
//Insertion into DB
if(isset($_POST['submit'])) {
//SQL Query
$sql3 = "show tables from $companyname";
$results3 = mysql_query($sql3) or die(mysql_error());
$count = 1;
while($row3 = mysql_fetch_array($results3))
{
$results4 = mysql_query("SELECT * FROM `$row3[0]` LIMIT 1") or die('Error '.mysql_error());
$debit = $_POST['debit'];
$credit = $_POST['credit'];
while($row4 = mysql_fetch_array($results4))
{
$query = mysql_query("UPDATE `$row3[0]` SET `debit`= '$row4[debit]' , `credit`= '$row4[credit]' WHERE `id`=`$row4[id]`");
echo "UPDATE `$row3[0]` SET `debit`= '$row4[debit]' , `credit`= '$row4[credit]' WHERE `id`=`$row4[id]` <br>";
echo $num;
}
$count++;
}
}
爲什麼不是第二個schem中的所有數據一個(/數據庫)只是你的第一個模式中的表? – 2012-07-07 12:20:24
感謝您的快速回復。第一個模式包含一個記錄特定活動的表格。這個表格的PK在第二個模式中的所有表格中都是FK。 – 2012-07-07 13:35:16
所以你使用多個表白色相同的結構只是爲了獲得每個自動增量? – 2012-07-07 13:38:54