הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 18-05-10, 00:17   # 1
OrPol
א.פורום תוכנה
עסק רשום
 
OrPol's Avatar
 
מיני פרופיל
תאריך הצטרפות: Aug 2006
הודעות: 1,979

OrPol לא מחובר  

אלוהים ישמור

אני שולח בPOST את הפרמטרים הבאים: phones, addzero וhomepage.
PHP קוד:
$userdata $_POST['userdata'] ;



$count 0;
$a explode("\n"$userdata[phones], count(explode("\n"$userdata[phones])));
while(
$a){
$num $userdata[addzero] . $a;
    if(
$count == 0){
    
$sql "INSERT INTO users(username, homepage) VALUES ('{$num}', '{$userdata[homepage]}')";
    }else{
    
$sql .= " ,('{$num}', '{$userdata[homepage]}')";
    }
$count++;
}
$sql .=";"
למה אני מקבל את זה?
Fatal error: Allowed memory size of 94371840 bytes exhausted (tried to allocate 94109660 bytes) in /home/polaczek/smsindex.controlpanels.co.il/cp/insert_list.php on line 28

(שורה 28 היא $sql .= " ,('{$num}', '{$userdata[homepage]}')"
נ.ב׳. גם בלי ה׳count ובעוד 40 אופציות אחרות יש בעיה. לפעמים הוא מכניס אינסוף שורות ריקות למסד

תודה מראש!

Last edited by OrPol; 18-05-10 at 00:39..
  Reply With Quote
ישן 18-05-10, 01:02   # 2
AlmogBaku
חבר וותיק
 
AlmogBaku's Avatar
 
מיני פרופיל
תאריך הצטרפות: Nov 2007
מיקום: מודיעין
הודעות: 1,022

AlmogBaku לא מחובר  

לא הבנתי שום דבר ממה ששאלת, מהריקווסטים שביצעת או מהקוד שלך.
אל תתקמצן עלינו בפירוט ובחתך קוד
  Reply With Quote
ישן 18-05-10, 01:14   # 3
יונתן
חבר בקהילה
 
יונתן's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 342
Send a message via Skype™ to יונתן

יונתן לא מחובר  

נסה להגדיל את נפח הזכרון (ברירת מחדל 8)

קוד:
ini_set("memory_limit","91M");
__________________
או כן או לא, מה שבטוח אולי, וגם זה מוטל בספק.

Last edited by יונתן; 18-05-10 at 01:18..
  Reply With Quote
ישן 18-05-10, 08:33   # 4
Erez | TrustMedia.co.il
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 1,854

Erez | TrustMedia.co.il לא מחובר  

אולי נוצרת פה לולאה אינסופית,תבדוק אם הלולאה נגמרת מתישהו,ואם היא לא נגמרת אז למה(וממתי עושים while על ערך מexplode,אף פעם לא ראיתי דבר כזה :|)
__________________
  Reply With Quote
ישן 18-05-10, 08:36   # 5
OrPol
א.פורום תוכנה
עסק רשום
 
OrPol's Avatar
 
מיני פרופיל
תאריך הצטרפות: Aug 2006
הודעות: 1,979

OrPol לא מחובר  

ציטוט:
נכתב במקור על ידי WiPi צפה בהודעה
אולי נוצרת פה לולאה אינסופית,תבדוק אם הלולאה נגמרת מתישהו,ואם היא לא נגמרת אז למה(וממתי עושים while על ערך מexplode,אף פעם לא ראיתי דבר כזה :|)
EXPLOAD מחזיר מערך,
WHILE עוברת על כל המערך

וכן נוצרת פה לולאה אינסופית, השאלה היא למה (כשאני מפעיל את הקובץ ונותן לו מספיק זמן הוא מכניס 140,000 ערכים למסד, כאשר בUSERNAME קוראים לו Array0 :O).

אולי אני אחליף \n ל| ואעשה אקספלוד ל| :P
  Reply With Quote
ישן 18-05-10, 08:43   # 6
Erez | TrustMedia.co.il
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 1,854

Erez | TrustMedia.co.il לא מחובר  

אם אתה רוצה לעבור על מערך אז תשתמש בforeach
__________________
  Reply With Quote
ישן 18-05-10, 08:48   # 7
OrPol
א.פורום תוכנה
עסק רשום
 
OrPol's Avatar
 
מיני פרופיל
תאריך הצטרפות: Aug 2006
הודעות: 1,979

OrPol לא מחובר  

ציטוט:
נכתב במקור על ידי WiPi צפה בהודעה
אם אתה רוצה לעבור על מערך אז תשתמש בforeach
נכון :P
אבל למען הסר ספק, בעקרון? גם WHILE עובדת (אני משתמש בה כשאני מוציא FETCH ARRAY ממסד).
  Reply With Quote
ישן 18-05-10, 08:52   # 8
Erez | TrustMedia.co.il
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 1,854

Erez | TrustMedia.co.il לא מחובר  

ציטוט:
נכתב במקור על ידי Or Polaczek צפה בהודעה
נכון :P
אבל למען הסר ספק, בעקרון? גם WHILE עובדת (אני משתמש בה כשאני מוציא FETCH ARRAY ממסד).
כשאתה עושה fetch מהמסד אתה לא מקבל מערך,כשאתה קורא לפונקציה היא מחזירה לך מערך של השורה הראשונה,ואז הוא כל פעם קורא מחדש לפונקציה שמחזירה לך כל פעם עוד שורה מהמסד עד שבסוף כשאין שורות אז זה מחזיר "שקר",ככה שאין פה מערך אחד גדול אלא כל פעם מערך חדש,מקווה שהבנת
__________________
  Reply With Quote
ישן 18-05-10, 09:05   # 9
OrPol
א.פורום תוכנה
עסק רשום
 
OrPol's Avatar
 
מיני פרופיל
תאריך הצטרפות: Aug 2006
הודעות: 1,979

OrPol לא מחובר  

ציטוט:
נכתב במקור על ידי WiPi צפה בהודעה
כשאתה עושה fetch מהמסד אתה לא מקבל מערך,כשאתה קורא לפונקציה היא מחזירה לך מערך של השורה הראשונה,ואז הוא כל פעם קורא מחדש לפונקציה שמחזירה לך כל פעם עוד שורה מהמסד עד שבסוף כשאין שורות אז זה מחזיר "שקר",ככה שאין פה מערך אחד גדול אלא כל פעם מערך חדש,מקווה שהבנת
טיינקס בנאדם, בכ"מ הFOREACH לא עוזר, אולי אני לא משתמש בו נכון?
אני עובד עכשיו על קובץ טסט.
PHP קוד:
$file "test.txt";
$handle = @fopen($file"r");
if (
$handle) {
    while (!
feof($handle)) {
        
$buffer fgets($handlefilesize($file));
        
$buffer str_replace("\n"""$buffer);
        echo 
$buffer "|";
        
$bigbuffer .= $buffer;
    }
    
fclose($handle);
}
echo 
"<br/><br/>";
$a=explode("|" $bigbuffer);
foreach(
$a as $b){
print 
" ,('{$b}', '7')";

במקור (TEST.TXT) יש את התוכן הבא:
523022969
505550772
598725674

החלק העליון עם הFOPEN עובד, הוא מחזיר לי שורה ארוכה עם מספרים כש| מפריד ביניהם.
כשאני לוקח את זה לEXPLODE ולFOREACH, הוא מחזיר לי את הPRINT שיש בתוך הFOREACH,
אבל במקום להחזיר לי אותו כל פעם עם מספר שונה,
יענו
,('523022969', '7'), ("505550772', '7')
וכו',

הוא מחזיר לי ב$b את כל המספרים מהEXPLODE ברצף.

יענו ,('523022969505550772', '7',)
וכו'...


כיוון?

Last edited by OrPol; 18-05-10 at 09:34..
  Reply With Quote
ישן 18-05-10, 09:23   # 10
Erez | TrustMedia.co.il
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 1,854

Erez | TrustMedia.co.il לא מחובר  

while($a as $b){
חח שכחת להחליף את הwhile בforeach
__________________
  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. הזמן כעת הוא 00:03.

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