2013-12-09 54 views
1

你好我自學PHP/SQL/APACHE,並在我的一個模塊的例子中發現這個問題。我不尋找代碼,但尋找方向和大綱如何攻擊這個程序。如何開始php程序需要sql/txt文件輸入查詢?

林首先想到:50MB TXT轉換成XML ...第二:讀取XML文件到PHP ..第三:PHP讀取到數據的查詢SQL數據庫..

這聽起來是否正確?請借出任何意見,鏈接或建議謝謝。

寫PHP程序,讀取張貼pubs.txt文件,分析它, 和 數據插入到MySQL表。

pubs.txt包含許多出版物。每個<pub> … </pub>對指定一個 發佈,其ID,標題,年份,日記(<booktitle>),頁面和作者 信息。一些信息可能會丟失。對於缺失字段,您可以選擇使用默認值012或NULL。有些信息看起來不正確,但您不必擔心它。 pubs.txt中的數據自動由計算機從網絡資源提取的 。

使用PHP編寫一個Web界面,應提供直觀的形式讓 用戶:

•將發佈到數據庫特定作者

•查詢所有出版物

•查詢特定年份中的所有出版物

•查詢特定日記中發佈的所有出版物

•查詢包含在標題

•查詢與特定字符串的所有出版物與作者,年份,期刊的組合,和 標題約束

所有出版物的txt文件的格式如下但同樣的風格

<pub> 
    <ID>0</ID> 
    <title>Regression Time Warping for Similarity Measure of Sequence</title> 
    <year>2004</year> 
    <booktitle>CIT</booktitle> 
    <pages>826-830</pages> 
    <authors> 
      <author>Hansheng Lei</author> 
      <author>Venu Govindaraju</author> 
    </authors> 
</pub> 
<pub> 
    <ID>1</ID> 
    <title>A Computational Model for Face Location Based on Cognitive Principles</title> 
    <year>1992</year> 
    <booktitle>AAAI</booktitle> 
    <pages>350-355</pages> 
    <authors> 
      <author>Venu Govindaraju</author> 
      <author>Sargur N. Srihari</author> 
      <author>David B. Sher</author> 
    </authors> 
</pub> 
+0

爲什麼選擇xml?你不能將它讀入數組嗎? '每個 ...'< - 看起來像已經是XML。 – bansi

+0

問題是標籤圍繞整個文本不包圍 ..這是否有意義?我希望它..我編輯顯示我的XML文件 –

+0

@DavidSalazar檢查我的解決方案。我在本地機器上測試過它。它工作正常。 –

回答

2

您好大衛50MB我在這裏發佈我的解決方案在我的本地machine.Please讓我知道如有任何問題,其進行測試。

N.B
data.txt是您的文本文件名。

<?php 

error_reporting(E_ERROR); 
$header = '<?xml version="1.0" encoding="UTF-8"?>'."\n<datalist>"; 
$content = $header."\n".file_get_contents("data.txt")."\n</datalist>"; 
$ob = simplexml_load_string($content); 
$json = json_encode($ob); 
$array = json_decode($json, true); 
$alldata = $array["pub"]; 

foreach ($alldata as $key => $value) { //access all data in loop 
$id = $value["ID"]; 
$title = $value["title"]; 
$year = $value["year"]; 
$booktitle = $value["booktitle"]; 
$pages = $value["pages"]; 
$authors = implode(",", $value["authors"]["author"]); 
//All process data can available here .run your sql query for insert. 
} 

?> 
+0

謝謝sanjog。我最好通過sql命令行使用標準的sql查詢嗎? –

+0

我不能得到你。請詳細解釋 –

+0

獲取數據到sql查詢我會運行sql命令行並插入?或者我會創建另一個PHP文件來連接和創建數據庫? –

相關問題