הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   תכנות - מדריכים, code snippets (https://hosts.co.il/forums/forumdisplay.php?f=68)
-   -   [מדריך] PHP - הפונקציה EXTRACT (https://hosts.co.il/forums/showthread.php?t=22171)

-VladK- 20-05-06 05:47

[מדריך] 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;
יותר נוח...יותר פשוט...וניתן לדחוף אותו לכל מקום :) מקווה שעכשיו לא תעשו סתם קודים מיותרים |winky|
יאלה ביי|לב|

BlueNosE 20-05-06 07:43

צר לי לאכזב אותך
אבל כל הקודים שלי באתר הם עם extract
חוץ מקודים בהם אני צריך לאמת אם המשתנה ריק ואם כן להחזיר שקר
אני משתמש בזה כל הזמן בכל מקום אפשרי...
בכל מקרה, תודה =]

-VladK- 20-05-06 08:10

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

BlueNosE 20-05-06 08:38

הוא יקח את האחרון..
כע, לא טוב לאותו מסד או עם שמות זהים..

Rom 20-05-06 08:52

מדריך נחמד
אבל אני משתמש מלא בextract
חוץ ממקרים שאני צריך שהשם של המשתנה יהיה שונה מהשם של העמודה במסד/בפוסט

meshuga 20-05-06 09:06

אני ממש לא אוהב להשתמש בזה....אני אוהב "לשלוט" בשם של המשתנים שלי...וככה זה סתם ללא סדר.
בכל מקרה.....אני מניח שהוספת פה להרבה משתמשים.

PhS 20-05-06 09:32

הוספת לי הרבה אבל זה לא שימושי למערכות גדולות שבהן כמו שאמרו פה "לשלוט" בשם של המשתנים
אבל לדברים קטנים זה מצויין

-VladK- 20-05-06 09:38

שמח לעזור :) חחח אולי אני יביא עוד איזה הסברים על פונקציות שימושיות ולא מוכרות ;)

meshuga 20-05-06 09:40

ציטוט:

נכתב במקור על ידי CriSis
שמח לעזור :) חחח אולי אני יביא עוד איזה הסברים על פונקציות שימושיות ולא מוכרות ;)

חח...בכיף...

-VladK- 20-05-06 09:42

ציטוט:

נכתב במקור על ידי meshuga
חח...בכיף...

השאלה איזה..................


כל הזמנים הם GMT +2. הזמן כעת הוא 07:30.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ