10/10/2018, 10:47

chuyển từ xml sang mysql và ngược lại

các anh ơi.giúp em chút được không
em cần làm bài tập tuần thầy cô giao
trong đó có yêu cầu:
1- lấy dữ liệu từ mysql tạo ra file xml
sau khi thêm sửa xóa trong file xml thì
2- cập nhật lại các giá trị trong mysql
anh chị nào có kinh nghiệm có thể giúp em chút ko?
em thì thấy trong mysql có chức năng convert ra file xml nhưng em không nghĩ sẽ dùng cái đó cho yêu cầu 1 /còn yêu cầu thứ 2 thì em không thể nào làm được vì không có chút tài liệu nào cả!
giúp em với nhé.ai giúp em em sẽ mời đi ăn kem ha
Ý Nhi viết 12:52 ngày 10/10/2018
@bupbexinh2505:mình cũng đang tìm hiểu phần này, nhưng cũng chưa hiểu cho lắm . Mà bạn đang học ở đâu vậy ?

Mong có đại huynh nào chỉ giúp 2 tiểu mụi mụi với
zmt264 viết 12:58 ngày 10/10/2018
dạo này hình như có 1 lớp học mà thày cho đề về chủ đề này rồi cũng vào post bài hay sao ấy, hỏi 1 đề giống y chang nhau:

http://ddth.com/showthread.php?t=401717

http://ddth.com/showthread.php?t=402750

Bài này chỉ cần các bạn biết

1) Đọc DB
2) Ghi file

là được thôi. Nhưng 1 số bạn hổng kiến thức cả 2 phần trên
lenggiauit viết 12:57 ngày 10/10/2018
Ví dụ ở dưới, chỉ chuyển từ xml sang mysql và ngược lại, còn chỉnh sửa file xml thì tự viết hoặc tự sửa bằng tay rồi Update xuống Database
Copy mấy đoạn code:
1. file: Lngsoft_Class.php
Code:
<?php
class LngSoft_Class
{
	private $host = "localhost";
	private $user = "root";
	private $pass = "";
	private $data = "Test";
	private $table ="Table1";
	public function Connectdb()
	{
	
		$conn =	mysql_connect($this->host, $this->user, $this->pass) or die("Cannot Connect MySQL !");
		mysql_query("SET character_set_results=utf8", $conn);
		return $conn ? 1 : 0;
	}
	public function getdata()
	{
		return $this->data;
	}
	public function CloseConnect()
	{
		mysql_close();
	}
	public function selectdb()
	{
		mysql_select_db($this->data);
		mysql_query("SET NAMES utf8");
	}	
		
}
?>
2. file : index.php
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Index</title>
</head>

<body>
<?php 
	include("Lngsoft_Class.php");
	$myconn = new Lngsoft_Class;
?>
<a href="CreateDatabase.php">1. Create Database</a>
<br />
<a href="index.php?request=showdb"> + Show Database</a>

<?php
	if($_GET['request'] == 'showdb')
	{
		echo '<br /> Load Data from Database <br />';
		$myconn->Connectdb();
		$myconn->selectdb();
		$query = "Select * from Table1";
		$result = mysql_query($query) or die(mysql_error());
		while($rows = mysql_fetch_array($result))
		{
			extract($rows);
			echo $ID . ' - ' . $Name . ' -  ' . $***;
			echo '<br />';
		}	
	}
?>
<br />
<a href="Action.php?Save=xml">2. Save Database to XML</a>
<br />
<a href="index.php?request=showxml"> + Show XML File</a>
<?php
	if($_GET['request'] == 'showxml')
	{
		echo '<br /> Load Data from XMl File <br />';
		$doc = new DOMDocument('1.0', 'utf-8');
			if(method_exists($doc, 'load'))
			{
				$doc->load(realpath('Table1.xml'));
				$table1 = $doc->getElementsByTagName("table1");
				foreach( $table1 as $tb )
				{
					echo $tb->getElementsByTagName("ID")->item(0)->nodeValue;
					echo ' - ' . $tb->getElementsByTagName("Name")->item(0)->nodeValue;
					echo ' - ' . $tb->getElementsByTagName("***")->item(0)->nodeValue;
					echo '<br />';
				}
				
			 }
			 else
			 {
				echo "Cannot Load Config XML, Please Config Server add PHP XML DOM and Reload Page !"; 
			 }
	}
?>
<br />
<a href="Action.php?Save=db">3. Update XML to Database</a>
</body>
</html>
3. file : CreateDatabase.php
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Create Database</title>
</head>
<body>
<?php 
	include("Lngsoft_Class.php");
	$myconn = new Lngsoft_Class;
	if($myconn->Connectdb() == 1)
	{
		$create = mysql_query("Create database if not exists " . $myconn->getdata()) or die(mysql_error());
		echo "Create Database OK !";
		$myconn->selectdb();
		$table = "Create Table Table1 (
				ID	int not null auto_increment,
				Name	nvarchar(255),
				***	nvarchar(255),
				PRIMARY KEY (ID)
		)";
		mysql_query($table) or die(mysql_error());
		echo "<br />Create Table OK !";
		$insert1 = "Insert into Table1 Set ID =1, Name ='Ý Nhi', ***= 'Female'";
		$insert2 = "Insert into Table1 Set ID =2, Name ='bupbexinh2505', ***= 'Female'";
		mysql_query($insert1) or die(mysql_error());
		mysql_query($insert2) or die(mysql_error());
		echo "<br />Insert OK !";
	}
	else
	{
		echo "Cannot Create DataBase !";
	}
	
?>
<br />
<a href="index.php"> Back to Index</a>
</body>
</html>
4. file Action.php
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Action</title>
</head>
<body>
<?php 
	include("Lngsoft_Class.php");
	$myconn = new Lngsoft_Class;
?>

<?php
 	if($_GET['Save'] == 'xml')
	{
		$doc = new DOMDocument('1.0', 'utf-8');
		$Createroot = $doc->createElement("root");
		$doc->appendChild($Createroot);
		$root = $doc->getElementsByTagName("root")->item(0);
		$myconn->Connectdb();
		$myconn->selectdb();
		$query = "Select * from Table1";
		$result = mysql_query($query) or die(mysql_error());
		$j =0;
		while($rows = mysql_fetch_array($result))
		{
			extract($rows);
			$Createtb1 = $doc->createElement('table1');
			$root->appendChild($Createtb1);
			$tb1 = $doc->getElementsByTagName("table1")->item($j++);
			$i= $doc->createElement('ID', $ID);
			$n= $doc->createElement('Name', $Name);
			$s= $doc->createElement('***', $***);
			$tb1->appendChild($i);
			$tb1->appendChild($n);
			$tb1->appendChild($s);
		}	
		
		$doc->save('Table1.xml');	
		echo 'Save to XML OK ! File name: Table1.xml';
	}
	else if($_GET['Save'] == 'db')
	{
		$doc = new DOMDocument('1.0', 'utf-8');
			if(method_exists($doc, 'load'))
			{
				$doc->load(realpath('Table1.xml'));
				$table1 = $doc->getElementsByTagName("table1");
				foreach( $table1 as $tb )
				{
					$myconn->Connectdb();
					$myconn->selectdb();
					$query = "Update Table1 set Name = '" . $tb->getElementsByTagName("Name")->item(0)->nodeValue . "', ";
					$query .=" *** = '" .  $tb->getElementsByTagName("***")->item(0)->nodeValue ."' ";
					$query .=" where ID=" . $tb->getElementsByTagName("ID")->item(0)->nodeValue ;
					mysql_query($query) or die(mysql_error());
				}
				echo 'Update OK';
			 }
			 else
			 {
				echo "Cannot Load Config XML, Please Config Server add PHP XML DOM and Reload Page !"; 
			 }	
	}
?>
<br />
<a href="index.php"> Back to Index</a>
</body>
</html>
Sửa mấy chỗ *** thành S ex vì trên forum bị chuyển thành ***
hoặc down hết tất cả các file : http://www.mediafire.com/?d63jzma65hud3aj

Trước khi chạy phải cấu hình PHP thêm PHP XML DOM
Ý Nhi viết 13:03 ngày 10/10/2018
@zmt264 : Thông tin về sự trùng hợp thật thú vị,mà chắc là không học cùng thầy rồi . Nhưng có bạn học thầy Đặng Minh Tuấn

@lenggiauit : Cảm ơn bạn, bài viết thật hay và bổ ích.

Bạn chủ theard ơi ... đâu rồi
bupbexinh2505 viết 12:54 ngày 10/10/2018
k biết xampp em cài thì cái file config nó ở đâu nữa
nhưng em làm form thêm sản phẩm thì nó vẫn thêm được
như vậy là cấu hình php DOM chưa anh

[=========> Bổ sung bài viết <=========]

à quên cảm ơn anh nhiều ha/làm xong bài này .rảnh em sẽ mời anh đi ăn kem ha/mà anh ở đâu zợ
Biết Chết Liền viết 13:03 ngày 10/10/2018
Được gửi bởi Ý Nhi
@bupbexinh2505:mình cũng đang tìm hiểu phần này, nhưng cũng chưa hiểu cho lắm . Mà bạn đang học ở đâu vậy ?

Mong có đại huynh nào chỉ giúp 2 tiểu mụi mụi với
Nói thế hèn gì thằng khùng kia 2 h sáng mà nó vẫn viết ví dụ cho xem

Được gửi bởi zmt264
dạo này hình như có 1 lớp học mà thày cho đề về chủ đề này rồi cũng vào post bài hay sao ấy, hỏi 1 đề giống y chang nhau:

http://ddth.com/showthread.php?t=401717

http://ddth.com/showthread.php?t=402750

Bài này chỉ cần các bạn biết

1) Đọc DB
2) Ghi file

là được thôi. Nhưng 1 số bạn hổng kiến thức cả 2 phần trên
Tiếu nhĩ

Được gửi bởi bupbexinh2505
k biết xampp em cài thì cái file config nó ở đâu nữa
nhưng em làm form thêm sản phẩm thì nó vẫn thêm được
như vậy là cấu hình php DOM chưa anh

[=========> Bổ sung bài viết <=========]

à quên cảm ơn anh nhiều ha/làm xong bài này .rảnh em sẽ mời anh đi ăn kem ha/mà anh ở đâu zợ
Hình như xampp mặc định khi cài là có XML DOM rồi. Dẫn tui đi ăn kem nữa
bupbexinh2505 viết 12:50 ngày 10/10/2018
Được gửi bởi Biết Chết Liền

Hình như xampp mặc định khi cài là có XML DOM rồi. Dẫn tui đi ăn kem nữa
vậy a giúp em phần update vào database đi
câu lệnh insert into đó anh ấy viết luôn giá trị vào
em thì k muốn viết như thế mà muốn khi người dùng nhập vào form thêm thông tin thì sẽ thay đổi file xml(cái này em làm được rồi) và cập nhật vào database
câu lệnh insert em sửa lại là
$insert1 = "Insert into sanpham Set MaSP ='$MaSP', TenSP ='$TenSP', MaLoai= '$MaLoai',Hinh='$Hinh',TomTatChucNang='$TomTatChuc Nang',ChiTiet='$ChiTiet',Gia='$Gia',TinhTrang='$Ti nhTrang',NgayDang='$NgayDang'" ;
mysql_query($insert1) or die(mysql_error());
nhưng nó lại chỉ update được có 1 bản ghi đầu tiên vào trong database thôi
giờ em phải sửa ntn bây giờ !help me
Ý Nhi viết 12:52 ngày 10/10/2018
Mới thấy nick name zmt264 hồi sáng còn sáng, sao giờ bị banned rổi nhỉ ???
bupbexinh2505 viết 12:57 ngày 10/10/2018
Ý nhi bạn làm được chưa?
Bài liên quan
0