2010-03-03 7 views
0

J'ai un fichier html qui a des détails de la facturesélectionner les numéros et les insérer dans la base de données?

Je voudrais savoir s'il existe un moyen de récupérer uniquement les numéros de facture et de les stocker séparément dans ma base de données sql en utilisant php?

<p>Invoice ID: 0201</p> 
<p>MID : Q987</p> 
<p>Desciption: Solid Concrete Blocks</p> 
<p>Qty: 7478 Blocks </p> 
<p>&nbsp;</p> 
<p>Invoice ID: 0324</p> 
<p>MID : Q443</p> 
<p>Desciption: Window Slides with Chrome </p> 
<p>Qty: 33 Units </p> 
+0

montrez-nous à quoi ressemblent les numéros de facture dans le format html. Il est conseillé d'utiliser une analyse HTML comme http://simplehtmldom.sourceforge.net/ pour ce genre de travail. – codaddict

+0

Veuillez fournir un exemple de code HTML pour les personnes interrogées. –

+0

Très bien. Voir les chapitres sur les tableaux, Xml, formulaires et bases de données à http://www.tuxradar.com/practicalphp – Gordon

Répondre

1

Vous pouvez essayer quelque chose comme ceci pour extraire tous les numéros de facture:

<?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); 

?> 

Sortie:

array(2) { 
    [0]=> 
    string(4) "0201" 
    [1]=> 
    string(4) "0324" 
} 

Une fois que vous avez extrait tous les numéros de facture vous pouvez les insérer dans un table de base de données en utilisant quelque chose comme:

<?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) 
?> 
+0

Merci ... c'était assez utile – LiveEn

0

Voici quelques étapes:

1: créez un schéma de base de données correspondant à vos données. Un schéma est la disposition d'une table de base de données.

2: analyser le doc html et obtenir vos données en utilisant la méthode proposée par codaddict

3: boucle à travers vos données un enregistrement à la fois et utiliser INSERT pour la mettre dans votre table.

Sans plus d'informations spécifiques à ce sujet, nous ne pouvons pas vous en dire plus.

Questions connexes