با عرض سلام و خسته نباشید خدمت تمامی کاربران گرامی ایران دلفی.
یکی از کاربران در خصوصی پیغامی مبنی بر چگونگی Export کردن دیتا از MySQL به فرمت های XML و SQL رو از طریق php و به ساده ترین روش خواسته بودند، قطعا تمامی کاربرانی که از php و MySQL استفاده میکنند این موضوع رو میدانند که phpMyAdmin این قابلیت رو به صورت ویزاردی فراهم کرده است، ولی چنانچه مایل باشید خودتان کد مربوطه رو بنویسید میبایست از فرمتهای زیر استفاده نمایید.
مثال :
فرض میکنیم جدول زیر را داریم :
کد:
CREATE TABLE IF NOT EXISTS `tblstudent` (
`stuName` varchar(20) COLLATE utf8_persian_ci NOT NULL,
`stuFamil` varchar(20) COLLATE utf8_persian_ci NOT NULL,
`stuTell` varchar(11) COLLATE utf8_persian_ci NOT NULL,
`stuAddress` varchar(200) COLLATE utf8_persian_ci NOT NULL,
`stuId` varchar(10) COLLATE utf8_persian_ci NOT NULL,
PRIMARY KEY (`stuId`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci;
حال قرار است از جدول بالا یک خروجی XML بگیریم.
کافی است قطعه کد زیر را استفاده نموده و بسته به جدول خودتان آن را خصوصی سازی بنمایید.
کد:
<?php
$conn = new mysqli("localhost","root","",'dbIrandelphi');
mysqli_set_charset($conn,'utf8');
$res = $conn->query("select * from tblStudent");
echo '<?xml version="1.0" encodeing="UTF-8"?>';
echo "\n <database name='dbwebservice'>";
while($temp = mysqli_fetch_array($res))
{
echo "\n <table name='tblstudent'> \n \t";
echo '<column name="stuId">'.$temp['stuId']."</column>\n \t";
echo '<column name="stuName">'.$temp['stuName']."</column>\n \t";
echo '<column name="stuFamil">'.$temp['stuFamil']."</column>\n \t";
echo '<column name="stuTell">'.$temp['stuTell']."</column>\n \t";
echo ' <column name="stuAddress">'.$temp['stuAddress']."</column>";
echo "\n</table>";
}
echo "\n</database>";
?>
همچنین برای خروجی گرفتن به فرمت SQL کافیست قطعه کد زیر را برای خودتان خصوصی سازی نمایید.
کد:
<?php
$conn = new mysqli("localhost","root","",'dbwebservice');
mysqli_set_charset($conn,'utf8');
$res = $conn->query("select * from tblStudent");
$count = 0;
echo "insert into tblstudent ( stuId,stuName,stuFamil,stuTell,stuAddress) values \n";
while($temp = mysqli_fetch_array($res))
{
echo "( '".$temp['stuId']." ', '";
echo $temp['stuName']."', '";
echo $temp['stuFamil']."', '";
echo $temp['stuTell']."', '";
echo $temp['stuAddress']."' ) ";
if( $count<mysqli_num_rows($res)-1){
echo ", \n";
}else{
echo "; \n";
}
$count++;
}
?>
توجه : برای استفاده از خروجی باید view page source رو ببینید.
سعی کردم مطلب رو خیلی ساده و کوتاه بیان کنم ، لذا چنانچه دوستان براشون سوالی پیش اومد در ذیل همین پست سوال کنند.
موفق و موید باشید.
ابوالفضل عربی
1397/03/14
علاقه مندي ها (Bookmarks)