لإضافة صورة مكان ال 0\1
عدلت كود عرض ال xml
كود PHP:
if ($attr->nodeName=="favorite"){
echo $attr->nodeName." : ".$attr->nodeValue." <a href=view_data.php?act=change&id=".$id.">";
if($attr->nodeValue)echo "remove";else echo "add";
echo "</a><br>";
}
وضعت روابط add\remove مكان الصور وذلك لعدم وجود صور مناسبة لدي.
ملف view_data.php المعدل :
كود PHP:
<?php
include("config.php");
//create new dom object
$dom = new DOMDocument();
//load xml file
$dom->load($xml_file);
//get all the posts
$posts = $dom->getElementsByTagName("post");
//print posts
foreach ($posts as $post){
//get the content of the post(attributes)
$record = $post->childNodes;
//current id
$id = $record->item(0)->nodeValue;
foreach ($record as $attr){
if ($attr->nodeName!="#text"){
if ($attr->nodeName=="favorite"){
echo $attr->nodeName." : ".$attr->nodeValue." <a href=view_data.php?act=change&id=".$id.">";
if($attr->nodeValue)echo "remove";else echo "add";
echo "</a><br>";
}else
echo $attr->nodeName." : ".$attr->nodeValue."<br>";
}
}
echo "<hr>";
}
if ($_GET['act']=="change"){
$posts = $dom->getElementsByTagName("post");
foreach($posts as $post ){
$record = $post->childNodes;
$id = $record->item(0)->nodeValue;
if ($id == $_GET['id']){
//get favorite value
$value =$record->item(3)->nodeValue;
//change fav value
if ($value == 1)
$record->item(3)->nodeValue=0;
else
$record->item(3)->nodeValue=1;
}
}
$dom->save($xml_file);
echo "<meta http-equiv=REFRESH content=0;url=".$url."/view_data.php>";
}
?>
وفعلا ً لا حاجة لتحديث الصفحة عند تغيير خيار المفضلة
لأن الكود يعمل اعادة توجيه لصفحة العرض بعد حفظ الخيار.
بالنسبة لل sqlite
في php يوجد موديول اسمه mod_sqlite ويقوم بادارة نظام قواعد بيانات يدعم العمليات البسيطة من ادخال واخراج، يعني قاعدة بيانات عالخفيف.
دوال ال sqlite تقوم بانشاء قاعدة البيانات على شكل ملف بدون كلمة سر او اسم مستخدم ويمكن ان نعمل عليه استعلامات sql
وهذا الموديول اتوقع يأتي مع اصدارة ال php ولا حاجة لتثبيته
يوجد نسختين من اوامر sqlite:
الأولى وهي عبارة عن جمع جميع الدوال في كلاس واحد وهي تعمل مع +php5
والثانية هي الدوال متفرقة ولا تتبع لكلاس معين وهي تعمل في الاصدارات الاقل من 5
مرجع لنسخة الدوال:
http://php.net/manual/en/book.sqlite.php
مرجع لنسخة ال oop
http://www.php.net/manual/en/ref.sql...sqlitedatabase
انظر الامثلة في الرابط الثاني فهي ممتازة جدًا