ถ้าจะใช้ php เรียกข้อมูลจาก mysql แล้วเอามาสร้าง .xml ทำได้ไหมครับ
สามารถทำได้ครับ
โดยการรับข้อมูลที่ต้่องการแล้วนำไปเก็บไว้ในตัวแปรนั้นๆ
แล้วก็ echo ค่าออกมาครับเช่น
Code (PHP)
$string = '<?xml version="1.0" encoding="UTF-8"?>';
$string .= '<person>';
//--- query value ------
$sql = 'select * from tablename';
$query = mysql_query($sql);
while($record = mysql_fetch_array($query))
{
$string .= '<name>' . $record['name'] . '</name>';
$string .= '<email>' . $record['email'] . '</email>';
}
$string .= '</person>';
echo $string;
Date :
2010-06-18 17:31:42
By :
oxygenyoyo
QUERY เดียวเลยก็ได้ค่ะ
Code (PHP)
SELECT CONCAT('<?xml version="1.0" encoding="UTF-8"?>\n'
,'<Photos>\n',
GROUP_CONCAT(
'\t<Photo>\n'
,'\t\t<Src>', `PICTURE_SRC`, '</Src>\n'
,'\t\t<Title>' ,`TITLE` ,'</Title>\n'
,'\t</Photo>\n' SEPARATOR '')
,'</Photos>') AS xmlTAG
FROM TABLENAME
นี่เป็น OUTPUT ค่ะ
Code (PHP)
<?xml version="1.0" encoding="UTF-8"?>
<Photos>
<Photo>
<Src>ANT.JPG</Src>
<Title>ANT PIC</Title>
</Photo>
<Photo>
<Src>BAT.JPG</Src>
<Title>BAT</Title>
</Photo>
<Photo>
<Src>CAT.JPG</Src>
<Title>CAT</Title>
</Photo>
</Photos>
Date :
2010-06-18 18:03:24
By :
blurEyes
เอ่อ... ผมไม่เข้าใจ โค้ดของคุณ blurEyes เลยอ่ะครับ รบกวนช่วยอธิบายหน่อยได้ไหมครับ
Code (PHP)
SELECT CONCAT('<?xml version="1.0" encoding="UTF-8"?>\n'
,'<Photos>\n',
GROUP_CONCAT(
'\t<Photo>\n'
,'\t\t<Src>', `PICTURE_SRC`, '</Src>\n'
,'\t\t<Title>' ,`TITLE` ,'</Title>\n'
,'\t</Photo>\n' SEPARATOR '')
,'</Photos>') AS xmlTAG
FROM TABLENAME
ผมบอกตรงๆว่าไม่เคยเห็นอ่ะครับ = =
ถ้าเป็นไปได้พอจะมีเวลาว่างก็รบกวนคุณ blurEyes หน่อยนะครับ จะขอบคุณอย่างยิ่งครับ
Date :
2010-06-18 18:36:26
By :
oxygenyoyo
อยากทดสอบ ก้อสร้างตารางแล้วป้อนค่า
จากนั้นเอา QUERY นี้ไปรันค่ะ
ปกติน่าจะติด MySQL QUERY BROWSER กันอยู่แล้วปะคะ
ทดสอบในนั้นเลยค่ะ
QUERY นี้เป็นนการ CONCAT string เพื่อให้ OUTPUT
เป็นตามข้อกำหนดของ XML โดยดึง field มา GROUP CONCAT
เท่านั้นเองค่ะ
หากทำอะไรให้เสร็จใน QUERY
App จะ Run ได้เร็วและบางกรณีจะเสถียรกว่าด้วยค่ะ
อ่อ output ออกมาจาก MySQL Query Browser จะติดกันเป็นพืด
เพราะ GRID ที่ OUTPUT ไม่ SUPPORT พวก escape sequence อย่าง
Line feed หรือ TAB ค่ะ ให้ Click ขวา Copy row value เอาไปแปะใน
text editor จะได้ format ที่ถูกต้องค่ะ
และ function : Copy row value จะครอบค่าที่ copy ออกมาด้วย ' และ '
แต่ถ้าคุณ เอาไป fetch ใน PHP ก้อจะได้ PLAIN TEXT
ตามที่ OUT PUT ข้างบนค่ะ
Date :
2010-06-18 18:44:41
By :
blurEyes
เก่งจัง
Date :
2010-06-18 21:46:47
By :
plakrim
ก็เก่งด้วยกันทั้งหมดนี่แหละค่ะ เจ้าของบอร์ดยิ่งเก่งค่ะ ^ ^
Date :
2010-06-18 21:52:21
By :
blurEyes
ขอบคุณมากๆเลยคับ
คุณoxygenyoyo และ คุณblurEyes
แต่ผมยังสับสนอยู่ครับ ขอถามคุณblurEyes คือเราต้องสร้าง file .php codeชุดบน แล้วส่งคำสั่ง สร้าง .xmlขึ้นเปง codeชุดล่าง ใช้ไหมครับถ้าใช่
file .xml ที่สร้างขึ้นมา จะกำหนดชื่ออย่างไร
หรือ เป็นการใส่code ชุดบน ลงในflie.xml เเล้วทำการเรียก ข้อมูลมา ทำงานคำสั่งเหมือน code ชุดล่าง (เอาไฟล์นี้ไปใช้ได้เลย)
แล้ว MySQL QUERY BROWSER คืออะไรครับไม่เคยใช้เลย
ขอบคุณทุกท่านอีกครั้งจ้า
Date :
2010-06-23 19:42:46
By :
sagon
MySQL Query Browser เป็น GUI Tools for Windows ในชุดของ MySQL Community Server
ก็ทำหน้าที่เหมือนกับ PHPMyAdmin แหละค่ะ
ใครถนัดอะไรก็ใช้ตัวนั้นค่ะ
เอา Query
Code (PHP)
SELECT CONCAT('<?xml version="1.0" encoding="UTF-8"?>\n'
,'<Photos>\n',
GROUP_CONCAT(
'\t<Photo>\n'
,'\t\t<Src>', `PICTURE_SRC`, '</Src>\n'
,'\t\t<Title>' ,`TITLE` ,'</Title>\n'
,'\t</Photo>\n' SEPARATOR '')
,'</Photos>') AS xmlTAG
FROM TABLENAME
ลงไปใส่ใน $sql ค่ะ แล้วปรับแก้ชื่อฟิด์ล และชื่อ TABLE ให้เป็นตามที่คุณได้ออกแบบไว้ค่ะ
$sql = ... <<<<
$query = mysql_query($sql);
Date :
2010-06-23 20:46:20
By :
blurEyes
อืมดี ทุกอย่าง แต่ชื่อยาวไปนิด
Date :
2010-06-24 22:58:18
By :
peterxp
ขอรบกวนคุณ blurEyes อีกหน่อยเถอะครับ
คือผมใส่code ดังนี้ mappic = ชื่อรูป.jpg, sname= ชื่อรูป (ในtableที่ ใช้มีfield มากกว่านี้ แต่เอามาใช้แค่2 field ครับทำได้ใช่ไหมครับ)แต่มันไม่โชว์อะไรเลยคับผมใส่codeพลาดตรงไหนหรือไม่
Code (PHP)
<?
include("../func/db.php");
$sql = SELECT CONCAT('<?xml version="1.0" encoding="UTF-8"?>\n'
,'<Photos>\n',
GROUP_CONCAT(
'\t<Photo>\n'
,'\t\t<Src>', `mappic`, '</Src>\n'
,'\t\t<Title>' ,`sname` ,'</Title>\n'
,'\t</Photo>\n' SEPARATOR '')
,'</Photos>') AS xmlTAG
FROM shop
$query = mysql_query($sql);
?>
และ อยากถามว่า ผมจะต้องนำ.xmlที่สร้าง ไปใช้กับ jquery ที่จะดึงรายชื่อรูปจากfile.xml
สามารถสร้าง photos.php นำไปใส่แทน photos.xml ได้หรือไม่ ตามcodeข้างล่าง
Code (PHP)
xmlDoc = getXmlDoc(httpReq, "photos.xml");
ขอบคุณมากๆครับ
Date :
2010-06-29 20:15:28
By :
sagon
พี่ค่ะ ตอนนี้นู๋กำลังทำ เว็บเซอร์วิส ต้องการเอาข้อมูลจากฐานข้อมูลมาทำเป็น xml
Code (PHP)
$sql = "select * from hotel ";
$P = mysql_query($sql);
$f = fopen("hotels.xml","w"); // open new file
fputs($f,"<?xml version = '1.0' encoding = 'utf-8'? >");// wrire
fputs($f,"<hotels>");// wrire
$rowP = mysql_num_rows($P);
if($rowP == 0)
{ return "not found" ; }
else {
fputs($f,"<table>\r\n");
for($i = 0;$i<$rowP;$i++)
{
$H = mysql_fetch_array($P);
fputs($f,"<idH>$H['idH']</idH> \r\n");
fputs($f,"<name>$H['$name']</name>\r\n");
fputs($f,"<tot>$H['tot'];</tot>\r\n");
fputs($f,"<add>$H['add'];</add>\r\n");
fputs($f,"<idP>$H['idP'];</idP>\r\n");
}
}
fputs($f,"</table>\r\n");
fputs($f,"<hotels>");
fclose($f);
mysql_free_result($P);
mysql_close($conn);
นี่โค้ดค่ะ แล้วผลรันมันเป็นแบบนี้อ่ะค่ะ
Code
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\AppServ\www\project4\testPro3.php on line 29
มันเป็นเพราะเหตุใด ค่ะ ขอบคุณค่ะ ^^"
Date :
2010-09-07 16:34:32
By :
pak
อิจฉาจัง เก่งกันทั้งนั้น ทั้งเก่งทั้งน่ารัก มันน่านัก......
Date :
2010-09-07 16:59:46
By :
somparn
Load balance : Server 04