הרשם שאלות ותשובות רשימת חברים לוח שנה חיפוש הודעות מהיום סמן פורומים כנקראו

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 24-01-13, 18:37   # 1
MAORBARI
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Sep 2008
הודעות: 484

MAORBARI לא מחובר  

2 שאלות MYSQLI ו שליחת מיילים

1. אם אני עושה ב MYSQLI שאילתא בתוך לולאה.. זה יעבוד? כלומר הרי וא מכניס לזכרון שאילתא חדשה ומוחק את הישנה איך הוא זוכר בסוף הלולאה לחזור אליה, הרי לא שמים לו משתנה בתור ארגומנט.. למשל:
PHP קוד:
$mysqli->query("SELECT * FROM cats");
while(
$cat $mysqli->fetch_assoc()) {

$mysqli->query("SELECT * FROM catalog WHERE cat=".$cat);
$prods $mysqli->fetch_assoc();


אז זה יעשה שגיאה או שזה כל כך מתוחכם וידע מתי לפנות לאיזו שאילתא?

2. מה עדיף..
לעשות שליחת מייל פעם אחת למאה מיילים דרך הפרדה של פסיקים, או לבצע שליחה לכל מייל בהפרש של כמה עשיריות השניה?
מבחינת יעילות ועומס על השרת מה עדיף?

תודה !
  Reply With Quote
ישן 24-01-13, 22:07   # 2
yonatan
I am root
 
yonatan's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: אשדוד
גיל: 39
הודעות: 3,911

yonatan לא מחובר  

לעבוד עם Mailing List מסודר דרך האחסון , לשלוח מייל אחד ... ולא לעשות את זה דרך PHP.
__________________
אחסון אתרים - Red Hat Certified
עקבו אחרינו בטוויטר!

  Reply With Quote
ישן 24-01-13, 22:59   # 3
אדיר
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Mar 2008
מיקום: אשקלון
הודעות: 1,714

אדיר לא מחובר  

1.
א'. לא עושים את זה מלכתחילה כמו שעשית כאן -
את ה- query אתה שם במשתנה וכל המשך העבודה על השאילתה הזו עוברת דרך המשתנה הזה בלבד.
תחזור קצת לדוגמאות קוד של עבודה בתצורה מונחית עצמים תראה איך עושים את זה..

ב'. למה אתה צריך 2 שאילתות? אפשר להסתפק בשאילתה אחת יעילה ומהירה יותר עם JOIN (תדאג לאינדקסים מתאימים).
  Reply With Quote
ישן 25-01-13, 02:01   # 4
MAORBARI
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Sep 2008
הודעות: 484

MAORBARI לא מחובר  

ציטוט:
נכתב במקור על ידי xPerfection צפה בהודעה
1.
א'. לא עושים את זה מלכתחילה כמו שעשית כאן -
את ה- query אתה שם במשתנה וכל המשך העבודה על השאילתה הזו עוברת דרך המשתנה הזה בלבד.
תחזור קצת לדוגמאות קוד של עבודה בתצורה מונחית עצמים תראה איך עושים את זה..

ב'. למה אתה צריך 2 שאילתות? אפשר להסתפק בשאילתה אחת יעילה ומהירה יותר עם JOIN (תדאג לאינדקסים מתאימים).
אני נתתי דוגמה, זה לא משהו אמיתי, לא באמת אכפת לי אם זה יחפש ARRAY או באמת ערך הקטע הוא,
אם אני עושה שאילתא ואחר כך עושה לולאה על RESULT כמו שעשיתי..
בתוכה עושה עוד שאילתה, אז בסיום הסיבוב של הלולאה הוא יתייחס ב fetch_assoc לשאילתא שהייתה בתוך הלולאה ולא במה שמחוץ לה.. אתה מבין את הבעיה שלי?
  Reply With Quote
ישן 25-01-13, 10:15   # 5
אדיר
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Mar 2008
מיקום: אשקלון
הודעות: 1,714

אדיר לא מחובר  

"את ה- query אתה שם במשתנה וכל המשך העבודה על השאילתה הזו עוברת דרך המשתנה הזה בלבד."
אין כאן שום בעיה, זה אפשרי אם רק תעשה את זה כמו שצריך - לא משתמשים בפקודות האלו כמו שעשית ולכן זה גם בכלל לא יעבוד לך.
כשתעשה "משהו אמיתי" שיעבוד ולא סתם דוגמאות אתה כנראה תבין גם איך..

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

Last edited by אדיר; 25-01-13 at 10:21..
  Reply With Quote
ישן 25-01-13, 12:52   # 6
Unikan
חבר חדש
 
מיני פרופיל
תאריך הצטרפות: Jan 2013
הודעות: 6

Unikan לא מחובר  

קוד:
$query1 = $mysqli->query("SELECT * FROM cats");
while($cat = $query1->fetch_assoc()) {

$query2 = $mysqli->query("SELECT * FROM catalog WHERE cat=".$cat);
$prods = $query2->fetch_assoc();

}
אבל כמו שאמרו מעלי, מאוד לא יעיל להשתמש בשאילתות SQL בתוך לולאות.
  Reply With Quote
ישן 25-01-13, 14:17   # 7
MAORBARI
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Sep 2008
הודעות: 484

MAORBARI לא מחובר  

ציטוט:
נכתב במקור על ידי Unikan צפה בהודעה
קוד:
$query1 = $mysqli->query("SELECT * FROM cats");
while($cat = $query1->fetch_assoc()) {

$query2 = $mysqli->query("SELECT * FROM catalog WHERE cat=".$cat);
$prods = $query2->fetch_assoc();

}
אבל כמו שאמרו מעלי, מאוד לא יעיל להשתמש בשאילתות SQL בתוך לולאות.
אז אני אספר לכם מה יש לי ותגידו לי מה א]שרי לעשות..
יש לי במסד טבלה בשם cats
עכשיו בתוך זה אני רוצה לשאוב את כל הנתונים שיצאו ככה, קודם כל לקלוט את כל השורות איפה ש PARENT = 0 (קטגוריית אב) אחר כך לשאוב את כל מה שנמצא תחת הקטגורייות האלה, ואז גם תחת אלה, עד שהגיע למצב שאותן קטגוריות, לא מופיעות בשום parent.. כלומר הן לא קטגוריות אב של שום קטגורייה אחרת...
איך אני שולף את הנתונים מבלי לולאה..? (בצורה הזאת אני מקבל את הנתונים בצורה מסודרת וכל אחד תחת המקום המתאים לו..)
תודה..
לא נראלי אפשרי..
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 

כלים לאשכול
תצורת הצגה

חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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