我有一个包含发票明细的html文件
我想知道有没有办法可以只检索发票号码并使用php在我的sql数据库中单独存储?
<p>Invoice ID: 0201</p>
<p>MID : Q987</p>
<p>Desciption: Solid Concrete Blocks</p>
<p>Qty: 7478 Blocks </p>
<p> </p>
<p>Invoice ID: 0324</p>
<p>MID : Q443</p>
<p>Desciption: Window Slides with Chrome </p>
<p>Qty: 33 Units </p>
答案 0 :(得分:1)
您可以尝试这样的方法来提取所有发票号码:
<?php
$input = "<body>
<p>Invoice ID: 0201</p>
<p>MID : Q987</p>
<p>Desciption: Solid Concrete Blocks</p>
<p>Qty: 7478 Blocks </p>
<p> </p>
<p>Invoice ID: 0324</p>
<p>MID : Q443</p>
<p>Desciption: Window Slides with Chrome </p>
<p>Qty: 33 Units </p>
</body>";
$invoice_ids = array();
if(preg_match_all('{<p>Invoice ID:\s*(\d+)</p>}',$input,$matches)) {
$invoice_ids = $matches[1];
}
var_dump($invoice_ids);
?>
输出:
array(2) {
[0]=>
string(4) "0201"
[1]=>
string(4) "0324"
}
提取完所有发票号后,您可以使用以下内容将其插入数据库表中:
<?php
$con = mysql_connect("localhost","USRNAME","PASSWD");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("DB_NAME", $con);
foreach($invoice_ids as $id) {
$query = "INSERT INTO YOUR_TABLE_NAME(invoice_num) VALUES $id";
if(!mysql_query($query,$con)) {
die('Error: ' . mysql_error());
}
}
mysql_close($con)
?>
答案 1 :(得分:0)
这里有几个步骤:
1:创建与您的数据匹配的数据库模式。模式是数据库表的布局。
2:解析html doc并使用codaddict
建议的方法获取数据3:一次循环显示一条记录,并使用INSERT将其放入表中。
如果没有更具体的信息,我们可以告诉你更多信息。