שלום

freak2100

New member
שלום

יש לי בעייה קטנה, ואולי תסכימו לעזור לי.... בעקרון אני צריך איזשהו סקריפט קטן בPHP משהו מאוד ספציפי, מאוד קטן ופשוט.... אני יודע לבנות את מה שאני צריך בASP. הבעייה היא, שהשרת שאליו יהיה מאוחסן הקובץ לא תומך בASP, ולכן אני צריך את אותו קוד - בPHP.... מה שאני צריך זה שתסבירו לי כמה דברים בPHP אבל על ידי שיטה של copy-past (או הפנייה לעמוד שבו יש את הקוד המתאים) אני אסביר.... הקוד שיש לי עכשיו נראה ככה:
<? if ($_GET["act"] == "add"){ //להוסיף למסד נתונים את השחקן //$_GET["name"] //$_GET["score"] } //לשנות את הנתונים, שיקראו ממסד נתונים echo "&pname0=Default&pscore0=0&pname1=Default&pscore1=0&pname2=Default&pscore2=0&pname3=Default&pscore3=0&pname4=Default&pscore4=0&pname5=Default&pscore5=0&pname6=Default&pscore6=0&pname7=Default&pscore7=0&pname8=Default&pscore8=0&pname9=Default&pscore9=0"; //התוצאה האחרונה בטבלת שיאים השלמה (של החמישים מקומות) echo "&lastscore=0"; ?>​
עכשיו, מה שאני צריך זה דבר כזה: *מסד נתונים, שבו יש 50 רשומות, ובכל רשומה יש 3 עמודות: שם, ניקוד ותאריך (ושעה). הערכים ההתחלתיים יהיו: Default, 0, התאריך והשעה הנוכחיים. אני יודע לבנות כזה בaccess.... אבל איך מתקשרים בין PHP לaccess? ויותר טוב יהיה לבנות אותו בmySQL, נכון? אז איך עושים את זה? *בif צריך לקלוט את שני הנתונים ולבצע משהו כזה:
1. SELECT TOP 1 * FROM hiscores ORDER BY score 2. UPDATE hiscores SET score=score, name=name, date=date WHERE score=score AND name=name AND date=date​
נראה לי שהבנתם למה הכוונה..... (בקיצור, להחליף את התוצאה האחרונה בתוצאה שנשלחה) *אחרי זה אני צריך להוציא את הפלט (בכל מקרה....). הפלט צריך להלקח מהDB בצורה דומה לזאת:
SELECT TOP 10 * FROM hiscores ORDER BY score​
ולהיות מוצג כמו שכתבתי עכשיו (רק שעכשיו זה לא דינמי). *הפלט האחרון צריך להיות ערך השיא האחרון בטבלה (של ה50 תוצאות...). מי יכול לעזור לי בזה? נראה לי שזה לא מאוד מסובך (אילו הייתי יכול לעשות את זה בASP..........)
 

hary_i

New member
לא לגמרי הבנתי

אבל בכל מקרה, אני לא מאמין שמישהו יטרח לבנות את זה עבורך כך סתם בחינם פנה אלי במסרים, זו לא נראית לי עבודה מסובכת. הכי כדאי שתלמד בעצמך PHP אחרי הכל רוב השרתים בעולם מריצים PHP אז למה בכלל לעבוד עם ASP?
 

N i X

New member
לפעמים אנשים כן טורחים...

אם משהו ניראה לי מעניין מספיק, אני עושה את זה... אבל הסקריפט המסויים הזה לא ניראה מעניין ;) לפחות לא לי, ובכל מקרה, אני חושב שכדאי לבחור מההודעה המקורית, ללכת ל php.net לקרוא קצת reference על הפונקציות של mysql, זה אמור לעזור. אם למדת access בבה"ס, אז לומדים עקרונות של בסיסי נתונים באופן כללי, (לא שלמדתי את זה בבה"ס, אבל ככה אמרו...) אתה אמור להסתדר גם עם mysql, תעבוד עם phpMyAdmin, הוא יעזור לך בתחילת הדרך לייצור טבלאות חדשות.
 

freak2100

New member
אני יודע

בגלל זה ניסיתי למקד את השאלה שלי ככה שלא יצא כאילו אני מבקש שתבנו לי את התוכנה אלא רק תסבירו לי איך מתקשרים למסד נתונים - אחרי הכל אני יודע להדפיס את הנתונים ואני יודע לעשות IF, ונראה לי שגם עם לולאה אני אסתדר - ככה שכל מה שנשאר זה לבנות מסד נתונים ולהריץ עליו שאילתות SQL... טוב, תודה בכל אופן, אני חושב שאני אחפש את התשבה ברפרנסים של PHP... תודה רבה
 

freak2100

New member
אז אולי אתם יכולים להגיד לי

רק איך מתחברים למסד נתונים Access? את השאר אני כבר אצליח איכשהו לעשות לבד אבל את זה אני לא מצליח חרשתי כבר את גוגל, ואת הקוד של phpBB (עזרתי למישהו לעצב אותו אז עוד יש לי את הקבצים), וחיפשתי פה בפורום - אני לא מוצא את זה בשום מקום תודה!!!
 

hary_i

New member
איך מתחברים למסד נתונים

אני יכול להגיד רק איך מתחברים ל MySQL כי רק איתו אני עובד. חיבור לבסיסי נתונים SQL אחרים הוא דומה. לחיבור לשרת משתמשים בפונקציה: mysql_connect היא מקבלת כפרמטרים את שם השרת, שם המשתמש והסיסמה. לאחר מכן לבחירת בסיס נתונים משתמשים בפונקציה: mysql_select_db לביצוע שאילתה ניתן להשתמש ב: mysql_query כאשר הפרמטר הוא השאילתה כמחרוזת. לאחר מכן את תוצאות השאילתה ניתן לקבל בעזרת: mysql_fetech_array פונקציה זו תתן בכל פעם שורה אחת מתוצאת השאילתה. מה שנתתי כאן יכול להספיק לך כפוינטרים לרפרנס.
 

freak2100

New member
אוקיי, תודה, אבל עדיין

מצאתי את העמוד הזה:
וניסיתי משהו כזה:
<?php if (!$conn = new COM("ADODB.Connection")) exit("Unable to create an ADODB connection<br>"); $strConn = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("hiscores.mdb"); $conn->open($strConn); $strSQL = "SELECT TOP 10 name, score, FROM hiscores ORDER BY date"; $rs = $conn->execute($strSQL); $name = $rs->Fields(0); $score = $rs->Fields(1); while (!$rs->EOF) { echo $name->value; echo "<br>"; echo $score->value; echo "<br>"; $rs->MoveNext(); } $rs->Close(); $conn->Close(); $rs = null; $conn = null; ?>​
(זה כל העמוד...) וקיבלתי את השגיאה הזאת: Fatal error: Cannot instantiate non-existent class: com in /home/web/150mb.com/user_dir/mokagino/www.gamextra.com/brusi/KPonline/test.php on line 2 למה, ומה עלי לעשות? תודה
(השאלה שלי יותר ממוקדת עכשיו, נכון?)
 

freak2100

New member
רציתי בלי DSN.... טוב, נו, לא חשוב

אני אבקש מעזרה מאלה שבונים את האתר (אני חלק מתת אתר, וכל מי שאיתי בתת אתר הזה לא יודע PHP או יודע PHP ברמה בסיסית מדי....) אולי הם יוכלו לעזור תודה, בכל אופן
 

hary_i

New member
בזה לא אוכל לעזור לך

אתה מנסה להתחבר לבסיס נתונים של מיקרוסופט וכפי שאמרתי קודם, אני לא יודע (וגם לא מתכוון ללמוד) איך מתחברים לדברים כאלו. כמו שאני לא עוזר לאנסים וגנבים, אני לא עובד עם מוצרים של חברות לא מוסריות.
 
למעלה