النتائج 1 إلى 6 من 6

الموضوع: انا بحاجتكم يا اهل سوالف! كيف اكتب في ملف xml من خلال php

  1. #1
    عضو نشيط
    تاريخ التسجيل
    May 2002
    المشاركات
    235

    انا بحاجتكم يا اهل سوالف! كيف اكتب في ملف xml من خلال php



    اخواني , انا بحاجة ماسة لمساعدتكم كون هذا الموضوع سيساعدني في انجاز عمل كبير في عملي , بارك الله فيكم و الله لا يحرمكم الاجر

    احتاج سكربت بسيط php و ملف xml وظيفتهما كالتالي :

    هنالك خبر يتكون من :
    1-عنوان الخبر 2-نص الخبر 3-تاريخ الخبر 4-رقم الخبر 5-مفضلة(نعم او لا او ايقونه)

    يقوم ملف البي اتش بي بقرأئة الخبر من الفاريبلز المحددة
    ويكون الخيار الديناميكي هو الخيار 5-مفضلة (نعم او لا) بحيث يستطيع الكتابة على ملف xml تحديد الخيار المرغوب فيه

    بحيث يستطيع المستخدم الضغط على نعم او لا للمفضلة في الخبر الذي يقرأة من خلال رابط او ايقونة بحيث يغير المتغير في ملف xml بـ yes or no على حسب اختيار المستخدم

    الغرض هو تحديد الخبر اما ان يكون في المفضلة او لا ,, اي يكون ملف php يستطيع الكتابة والقرائة ايضا بمساعدة جافا سكربت مثلاً



    اتمنى ان تكون الصورة اتضحت .. انتظركم بفارغ الصبر

    جزاكم الله عنا كل خر





    __________________
    موقع نحلة لاختصار الروابط
    http://4b.bz

    لا تعاند من إذا قال فعل!


  2. #2
    عضو فعال
    تاريخ التسجيل
    Jun 2008
    المشاركات
    1,600


    اخي العزيز لقد برمجت لك السكربت الذي تريد.

    سكربت php يعرض ويضيف معلومات لل xml ويمكن ان تغير قيمة حقل ال favorite منه.

    السكربت مكون من 4 ملفات:

    data.xml
    view_data.php
    add_data.php
    config.php

    غير عنوان الموقع في ملف ال config


    يمكن ايضًا استعمال sqlite فهي افضل واسهل





    التعديل الأخير تم بواسطة ahmad sadiq ; 12-05-2011 الساعة 02:17 AM

  3. #3
    عضو نشيط
    تاريخ التسجيل
    May 2002
    المشاركات
    235


    لك والله دعوة في ظهر الغيب يا اخي احمد من قلب صادق ان شاء الله ..
    لله درك .. هذا ما ابحث عنه
    اريد فقط منك طلباً فضلا لا امرا ان اتابع معك بعض للمسات التي احتاجها ان قررنا اضافة او تعديل شغلات بسيطة ..
    مثلا استبدال 1,0 بصور
    وكيف بعد ما اضغط على تغيير او على الايقونة الخاصة بالمفضلة تتغير ايضا في ملف العرض بحيث يعمل تحديث بشكل مباشر دون ان اقوم بتحديث الصفحة الياً

    والله انك اختصرت علي عمل 60% جزاك الله خير

    وهل ارشدتني بمعلومات اكثر عن sqlite





    __________________
    موقع نحلة لاختصار الروابط
    http://4b.bz

    لا تعاند من إذا قال فعل!

  4. #4
    عضو فعال
    تاريخ التسجيل
    Jun 2008
    المشاركات
    1,600


    لإضافة صورة مكان ال 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

    انظر الامثلة في الرابط الثاني فهي ممتازة جدًا





    التعديل الأخير تم بواسطة ahmad sadiq ; 01-03-2010 الساعة 01:00 AM

  5. #5
    عضو نشيط
    تاريخ التسجيل
    May 2002
    المشاركات
    235


    لا حرمك الله الاجر اخوي احمد وبارك الله في جهودك .. ونعم المعلم والله

    استفدت كثيراً .. نفع الله بك





    __________________
    موقع نحلة لاختصار الروابط
    http://4b.bz

    لا تعاند من إذا قال فعل!

  6. #6
    عضو فعال
    تاريخ التسجيل
    Jun 2008
    المشاركات
    1,600


    حياك الله اخي الكريم

    بما اني كنت اتعلم ال xpath قمت بتطبيق مثال للاستعلام على ملف ال xml.

    هذا الكود يظهر جميع المواضيع التي تم حفظها في المفضلة:
    كود PHP:
    <?php
    include("config.php");
    $domDoc = new DOMDocument();
    $domDoc->load($xml_file);
    $query "//data/post[favorite='1']";

    $xpath = new DOMXPath($domDoc);
    $posts $xpath->evaluate($query);
    echo 
    "there are ".$posts->length." favorite posts<br><hr>";

    foreach(
    $posts as $post)
    echo 
    $post->nodeValue."<br>";
    ?>
    الاستعلام هو:
    كود:
    $query = "//data/post[favorite='1']";
    مراجع:

    php xpath
    http://www.tuxradar.com/practicalphp/12/3/3
    dom php xpath
    http://www.php.net/manual/en/domxpath.evaluate.php
    xpath syntax
    http://www.w3schools.com/XPath/xpath_syntax.asp










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض