View Single Post
ישן 20-05-06, 05:47   # 1
-VladK-
הוסטסניון
 
-VladK-'s Avatar
 
מיני פרופיל
תאריך הצטרפות: Apr 2006
גיל: 33
הודעות: 2,182

-VladK- לא מחובר  

Thumbs up [מדריך] PHP - הפונקציה EXTRACT

היי.
אוקיי אז ככה ככול הנראה שמתם לב שאני כמעט כל הזמן רק מבקש עזרה וכמעט שלא נותן...
אז החלטתי שנמאס לי להיות נצלן או במילים אחרות אחד שרק מבקש....
אז היום ב-6 בבוקר התעוררתי והיתה לי הרגשה שבא לי לעזור אז הנה אני בא לפה ואני עכשיו מביא לכם פונקציה שנראה לי חוץ ממני אף אחד לא משתמש בא....לפחות בפורום הזה...
הפונקציה נקראת extract() והיא משמשת ל"העפת" האותיות המיותרות...
נראה לכם מבלבל? נראה לכם מיותר? אוקיי אז בואו תסתכלו על זה:
PHP קוד:
<?php
if(isset($_POST['submit'])) {
    require 
'db.php';
    
extract($_POST);
    
$check mysql_query("SELECT aPassword FROM Users WHERE aUsername='$Username'") or die(mysql_error());
}
?>
אוקי בוא נראה מה עשינו פה....בדקנו אם נלחץ הכפתור SUBMIT הבאנו את הקובץ DB אבל אז הופיעה לנו שורה extract($_POST);...מה היא בעצם עושה כאן אתם שואלים? אוקיי השורה הזאת אומרת שאיפה שיש את הביטוי $_POST אז אפשר לא לכתוב אותו כלומר במקום לקחת את השורה: ($_POST['Username']) אנחנו יכולים פשוט לכתוב $Username! פשוט נכון?
למה הפונקציה הזאת טובה חוץ מבגלגל שהיא מאפשרת לי לא להשתמש בחלקים מעצבנים?
תסתכלו טוב על הקוד של לקיחת שורה מהמסד... (SELECT * FROM......) כידוע לכם אסור לשים ($_POST['Username']) בתוך שורת SQL...נגיד ואתם לא רוצים לבזבז משאבי שרת בכך שתעשו משתנה שהערך שלו יהיה ($_POST['Username']) רק על מנת שיהיה ניתן להכניס את הערך של ($_POST['Username']) לשורת הSQL...

אלו היו רק דוגמאות אחדות לשימוש בEXTRACT!....יש עוד מלא דרכים לשימוש בהם...הנה דוגמא אחרונה אבל בSQL...

תסתכלו על השורה הזאת:
PHP קוד:
$userres mysql_fetch_assoc($check); 
השורה הזאת לא זוכר איך בדיוק קוראים לפעולה הזאתי אבל היא מאפשרת לי להוציא שורות מהטבלה במסד הSQL שלי...עכשיו הוצעת השורות אמורות להיראות כך:
$userres['TITLE'];
אבל אם נגדיר את הפונקציה EXTRACT כך:
extract($userres);
הקוד של הוצעת השורה יראה כך:
$TITLE;
יותר נוח...יותר פשוט...וניתן לדחוף אותו לכל מקום מקווה שעכשיו לא תעשו סתם קודים מיותרים
יאלה ביי
  Reply With Quote