我有一個XML文件,並在我檢查後需要數據庫中的數據。所以我顯示在一個表中的數據,然後我嘗試寫入數據庫中的數據。但與我的代碼,我只得到我的數據庫中的XML的第一組數據。但每個xml至少有20個或更多。我怎樣才能寫入數據庫中的所有數據?PHP讀取XML並寫入數據庫
與此代碼i。從XML
<form action="insert.php" method="post" />
<table id="Wagen">
<thead>
<tr>
<th>Typ</th>
<th>Kennzeichen</th>
<th>Fahrer</th>
</tr>
</thead>
<tbody>
<?php
$url = ('./cars.xml');
$xml = simplexml_load_file(urlencode($url), null, true);
foreach ($xml->car as $cars) :?>
<tr>
<td><input type="hidden" name="name" value="<?php echo $cars->typ; ?>"><?php echo $cars->typ; ?></td>
<td><input type="hidden" name="kfz-nr" value="<?php echo $cars->plate; ?>"><?php echo $cars->plate; ?></td>
<td><input type="hidden" name="fahrer" value="<?php echo $cars->driver; ?>"><?php echo $cars->driver; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<input type="submit" name="senden" value="XML speichern" />
</form>
和與此代碼我嘗試在數據庫中寫入數據顯示的數據。但我只得到我桌子上的第一排。而不是其他人。
<?php
error_reporting(E_ALL);
$MYSQL_HOST = 'localhost';
$MYSQL_USER = 'username';
$MYSQL_PASS = 'password';
$MYSQL_DATA = 'database';
$connid = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS) OR die("Error: ".mysql_error());
mysql_select_db($MYSQL_DATA) OR die("Error: ".mysql_error());
if (isset($_POST['senden']))
{
$sql =
"INSERT INTO myTable
(fahrzeug,
kennzeichen,
fahrer
)
VALUES
('".mysql_real_escape_string(trim($_POST['name']))."',
'".mysql_real_escape_string(trim($_POST['kfz-nr']))."',
'".mysql_real_escape_string(trim($_POST['fahrer']))."');
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
mysql_query("SET NAMES 'utf8'");
}
?>
我希望有人能幫助我。 :)
這是完全正確的,你只有一個值。因爲您只發送一個值。 – xAqweRx