לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 29-10-2005, 14:51
  Paladin Paladin אינו מחובר  
 
חבר מתאריך: 03.09.05
הודעות: 116
עזרה ממש דחופה וקריטית



שלום אנשים

אני ממש ממש צריך את העזרה שלכם

אני לא מתעסק ב PHP ולכן אני גם לא מבין בזה יותר מידי



מה שאני כן מתעסק בו זה FLASH MX 2004 PROFFESIONAL ובגללזה באתי אליכם.

בניתי ב FLASH אפליקציה שבנויה על DATABASE של XML (הקודבהמשך)

הבעיה שלי היא שחשבתי שלפלאש יש את האפשרות לערוך קבצי XML ומסתבר שהגאונים ב MACROMEDIA לא חשבו על זה והחליטו שהדבר יעשה באמצעותצד-שרת.

מש שקרה הוא שבניתי אתהאפליקציה וכעת היא לא יעילה לחלוטיןכי אין לי אפשרות לערוך את ה DATABASE דרכה.

הבנתי ש ב PHP זו הדרך הכי קלה להכין סקריפט עריכה לתוכן שלה XML שלי ושזה ממש סקריפט קטן של כמה שורות.

אני ממש אעריך את זה אם תוכלו לעזור לי לבנות אחד ולהסבירלי קצת איך הוא עובד.



אני אשתדל להסביר מה אני צריך אחרי הקוד:



קוד:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <main> <id1> <date>DATE</date> <user>NAME</user> <message>MESSAGE</message> </id1> <id2> <date>DATE</date> <user>NAME</user> <message>MESSAGE</message> </id2> </main>






ועכשיו... הבעיה: קודם כל, כל פעם שמישהו ילחץ על כפתורשמירה זה ייצור לו עוד

<idNUM>

חדש ובתוכו יהיו את התגיות

date,user,message

עד לפה זה לא קשור ל php כי אני אשמור את הערכים הללו במשתנים שישלחו לסקריפט הצד שרת בתור idNUM date user message

מה שאני צריך זה שהסקריפט ישמור לי את הערכים הללו בצורת ה XML בתוך הקובץ ולא ימחק לי את שאר התוכן של הקובץ.

עד לפה היה החלק הפשוט של שמירה בקובץ.

החלק הבעייתי הוא של העריכה של id מסויים

אני מספק דרך האפליקציה את ה id המסויים שאני צריך שזה ישנה ושוב שולח א הערכים בתור idNUM user date message ומוסיך ערך של edited וכל מה שאני צריך הוא שכמו במקרה הקודם זה ישמור את זה בתוך ה XML אבל כאן שזה ימחק את ה idNUM המקורי ויחליף אותו בנתונים החדשים וישאיר את כל שאר ה id במקומם.



אני ממש ממש ממש צריך את העזרה שלכם אחרת עבודה של חודשיים ירדה לי לטימיון.

בבקשה תחזרו אלי



תודה!!









תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #5  
ישן 30-10-2005, 19:06
צלמית המשתמש של tnadav1
  משתמש זכר tnadav1 tnadav1 אינו מחובר  
 
חבר מתאריך: 02.10.05
הודעות: 2,355
שלח הודעה דרך MSN אל tnadav1
בתגובה להודעה מספר 3 שנכתבה על ידי Paladin שמתחילה ב "[font=Verdana]כן. טוב חשבתי..."

טוב... כמה דברים.
אתה רוצה להשתמש ב-database נכון? אז קודם אתה צריך להגיד איזה database כי יש פונקציות
להתחברות ל-database אבל לכל סוג database יש פקודה אחרת.
בקשר לעריכת קבצי xml-
אין לי מושג בתחום הזה אז אני יעשה את המיטב ויביא סקריפט הזגמה וסביר לך אותו:
קוד PHP:
<?php
$file 
"data.xml";
$depth = array();

function 
startElement($parser$name$attrs
{
    global 
$depth;
    for (
$i 0$i $depth[$parser]; $i++) {
        echo 
"  ";
    }
    echo 
"$name\n";
    
$depth[$parser]++;
}

function 
endElement($parser$name
{
    global 
$depth;
    
$depth[$parser]--;
}

$xml_parser xml_parser_create();
xml_set_element_handler($xml_parser"startElement""endElement");
if (!(
$fp fopen($file"r"))) {
    die(
"could not open XML input");
}

while (
$data fread($fp4096)) {
    if (!
xml_parse($xml_parser$datafeof($fp))) {
        die(
sprintf("XML error: %s at line %d",
                 
xml_error_string(xml_get_error_code($xml_parser)),  
                 
xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);
?>

אוקי,התג הראשון <?php הוא מן הסתם תג ההתחלה של php,תג הסיום הוא כזה:?>
בשורה השניה מגדירים משתנה בשם file והערך שלו הוא data.xml
בשורה השלישית מגדירים משתנה בשם depth,לא מגדירים ערך אבל מגדירים שהוא מערך
ברביעית מגדירים פונקציה בשם startElement עם המשתנים parser,name ו attrs
בשורה אח"כ יש את הגדרת global הכוונה היא למשתנה גלובאלי,והמשתנה הוא depth
עכשיו יש לולאת for שאני בטוח שאתה מכיר מתכנות ב-action script לכן לא רק אומר שהתנאי הוא:אם המשתנה i קטן מהמשתנה-depth[$parser] שים לב שזה מערך,והמפתח שלו הוא המשתנה parser
בשורה הבאה יש את מה שעושים בלולאה,echo זאת פעולת הדפסה,פה לא מדפיסים כלום
נגמרה הללואה אבל נשארה הפונקציה,המשך הפונקציה הוא הדפסת המשנה name והרדת שורה
ולאחר הגדלת המערך depth[$parser] בפוסט קידום.
נגמרה הפונקציה הראשונה והנה הגדרה על פונקציה שניה בשם endElement אם המשתנים parser וname,שוב מגדירים את depth כמשתנה גלובאלי ומפחיתים את המשתנה depth[paser] בפוסט הפחתה
מגדירים משתנה בשם xml_parser שהוא שווה לפוקציה xml_parser_create שזאת הפונקציה לעיבוד הנתונים של קובץ xml
xml_set_element_hendler היא פונקציה שמגדירה מה לעשות עם פתיחת תאג וסגירת תאג (זה מה שבנתי מהאתר של php)פה הפונקיה היא עם הערך הראשון,התחלת העיבוד,השני:פונקצית ההתחלה והשלישי זה פוקצית הסוף,אותם הסברתי קודם.
עכשיו יש משפט if קצת מסובך להסברה,יש פה את המשתנה fp שהערך שלו הוא הפונקציה fopen שהיא פותחת את הקובץ,הערכים הם המתנה file שהגדרנו בהתחלה,ו r שאומר שההרשאות של הקובץ הם לקריאה בלבד.
אבל יש ! בהתחלה וזה אומר שאם הערך של המשתנה לאחר הפונקציה הוא שקר,כלומר שהפונקציה
נתקלה בבעיות,יש את ההתניה שהיא הפוקציה die שמדפיסה פלט ועצרת את התוכנה. פה יש את
ההודעת שגיאה-could not open XML input.
אם הכל היה בסדר הסקריפט ימשיך לרוץ ולכן יש את ללואת ה-while ההתניה פה דומה להתניה במשפט ה-if , מכריזים על המשתנה data ששווה ל- fread שזאת היא פונקצית הקריאה ובשבילה הפעלנו את הפונקציה fopen כפי שזכור,fp הוא המשתנה ששווה לפונקציית fopen ולכן ב-fread יש את המשתנה fp, אח"כ יש את הפורט שהוא 4096
בתוך הלולאה יש התניי שאם הפוקציה xml_parse שמעבדת את הנתונים,אני מניח שאתה יכול להבין מה המשתנים שהזנו לה,בקיצור,אם הפונקציה מחזירה ערך שקר יש את פוקצית die שבתוכה יש את פונקציית sprintf שעלייה אני צריך עוד ללמוד.בתוך הפונקציה sprintf יש טקסט דינאמי של הודעת שגיאה בעזרת קובעים מראש מוגדרים.
בסוף יש את הפונקציה xml_parser_free שמשחררת את הנתונים המעובדים מהמשתנה xml_parser

אני לא ממש בטוח בקשר לכל הפונקציות בכול זאת אני חדש ב-php אני חושב שמשתמשים אחרים יתקנו אותי אם יש טעויות
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 10:58

הדף נוצר ב 0.07 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר