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

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   אלוהים ישמור (https://hosts.co.il/forums/showthread.php?t=82656)

OrPol 18-05-10 09:26

ציטוט:

נכתב במקור על ידי WiPi (פרסם 764515)
while($a as $b){
חח שכחת להחליף את הwhile בforeach

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

פשוט תחליף את הוויל ב׳foreach (בדקתי עם foreach בדוק)

עריכה:
והרי הפלט
523022969|505550772|523702390|

,('523022969505550772523702390', '7')

Erez | TrustMedia.co.il 18-05-10 09:40

PHP קוד:

<?php
$file 
"test.txt";
$handle = @fopen($file"r");
$bigbuffer '';
if (
$handle) {
    while (!
feof($handle)) {
        
$buffer fgets($handlefilesize($file));
        
$buffer str_replace("\n"""$buffer);
        echo 
$buffer "|";
        
$bigbuffer .= $buffer.'|';
    }
    
fclose($handle);
}
$bigbuffer substr($bigbuffer,0,-1);
echo 
"<br/><br/>";
$a=explode("|" $bigbuffer);
foreach(
$a as $b){
print 
" ,('{$b}', '7')";
}  
?>

הבעיה הייתה שלמשתנה bigbuffer העברת את buffer בלי | בין הערכים,ורק הדפסת את buffer ככה

OrPol 18-05-10 09:43

ציטוט:

נכתב במקור על ידי WiPi (פרסם 764519)
PHP קוד:

<?php
$file 
"test.txt";
$handle = @fopen($file"r");
$bigbuffer '';
if (
$handle) {
    while (!
feof($handle)) {
        
$buffer fgets($handlefilesize($file));
        
$buffer str_replace("\n"""$buffer);
        echo 
$buffer "|";
        
$bigbuffer .= $buffer.'|';
    }
    
fclose($handle);
}
$bigbuffer substr($bigbuffer,0,-1);
echo 
"<br/><br/>";
$a=explode("|" $bigbuffer);
foreach(
$a as $b){
print 
" ,('{$b}', '7')";
}  
?>

הבעיה הייתה שלמשתנה bigbuffer העברת את buffer בלי | בין הערכים,ורק הדפסת את buffer ככה

:P כן, עליתי על זה.
אבל שורה תחתונה השגתי מה שרציתי גם ככה:
PHP קוד:

<?php
$file 
"test.txt";
$handle = @fopen($file"r");
$count 0;
$bigbuffer "INSERT INTO users(username, homepage) VALUES ";
if (
$handle) {
    while (!
feof($handle)) {
        
$buffer fgets($handlefilesize($file));
        
$buffer str_replace("\n"""$buffer);
            if(
$count == 0){
            
$buffer "('"$buffer "', '7')";
            }else{
            
$buffer " ,('"$buffer "', '7')";
            }
        
        
$bigbuffer .= $buffer;
        
$count++;
    }
    
fclose($handle);
}
$bigbuffer .= ";";
echo 
$bigbuffer;

?>

ארז, המון תודה :)
אתה כישרון מבוזבז לדעתי :P

Erez | TrustMedia.co.il 18-05-10 09:45

ציטוט:

נכתב במקור על ידי Or Polaczek (פרסם 764520)
:P כן, עליתי על זה.
אבל שורה תחתונה השגתי מה שרציתי גם ככה:
PHP קוד:

<?php
$file 
"test.txt";
$handle = @fopen($file"r");
$count 0;
$bigbuffer "INSERT INTO users(username, homepage) VALUES ";
if (
$handle) {
    while (!
feof($handle)) {
        
$buffer fgets($handlefilesize($file));
        
$buffer str_replace("\n"""$buffer);
            if(
$count == 0){
            
$buffer "('"$buffer "', '7')";
            }else{
            
$buffer " ,('"$buffer "', '7')";
            }
        
        
$bigbuffer .= $buffer;
        
$count++;
    }
    
fclose($handle);
}
$bigbuffer .= ";";
echo 
$bigbuffer;

?>

ארז, המון תודה :)
אתה כישרון מבוזבז לדעתי :P

בבקשה,ולמה מבוזבז חח ?

RS324 18-05-10 11:19

הנה משהו שיכול לעזור לך לעשות את מה שרצית ביותר קלות

PHP קוד:

$lines file('file.txt',FILE_SKIP_EMPTY_LINES);
foreach(
$lines as $line)
{
    
// do stuff here
    
echo($line);
    



AlmogBaku 18-05-10 11:35

אגב-
PHP קוד:

$a explode("\n"$userdata[phones], count(explode("\n"$userdata[phones]))) 

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


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

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