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

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

maor 20-11-05 21:33

בעיה בלולאה בתוך לולאה
 
PHP קוד:

   while($dash = mysql_fetch_array($result)) 
   { 
      while(
$dash_s = mysql_fetch_array($result_s)) 
      { 
         
$dash['dash'] = str_replace($dash_s['replace'], $dash_s['file'], $dash['dash']); 
      } 
      echo(
"<b>".$dash['name'].":</b> ".$dash['dash']."<br />"); 
   } 

לא עובד לי:\ מה הבעיה?:qqb001:

eur2 20-11-05 21:48

תנסה את זה:
PHP קוד:

while($dash = mysql_fetch_array($result)) 
   { 
      while(
$dash_s = mysql_fetch_array($result_s)) 
      { 
         
$dash['dash'] = str_replace($dash_s['replace'], $dash_s['file'], $dash['dash']; 
      } 
      echo(
"<b>".$dash['name'].":</b> ".$dash['dash']."<br />"); 
   } 


maor 20-11-05 21:57

כן.. תודה.. מה שינית?

Espire 20-11-05 21:58

מה הבעיה שזה מראה??

maor 20-11-05 22:05

זה לא מראה בעיה זה פשוט לא שינה את הערך שבבסיס בפלט שלו.. ועדיים זה לא עובד לי משום מה זה עושה רק על הראשון

maor 21-11-05 13:49

מישהו יכול לעזור לי?

Alter 21-11-05 22:48

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

maor 22-11-05 07:43

PHP קוד:

    $dashim = "SELECT `id`, `name`, `dash` FROM `dashim` ORDER BY `id` DESC LIMIT 5";
    
$result = mysql_query($dashim);
    
$dashim_s = "SELECT `id`, `replace`, `file` FROM `smilles`";
    
$result_s = mysql_query($dashim_s);
    while(
$dash = mysql_fetch_array($result))
    {
        while(
$dash_s = mysql_fetch_array($result_s))
        {
            
$dash['dash'] = str_replace($dash_s['replace'], $dash_s['file'], $dash['dash']);
        }
        echo(
"<b>".$dash['name'].":</b> ".$dash['dash']."<br />");
    } 

זה כל העמוד..

Ikki 22-11-05 18:57

PHP קוד:

$query[0] = mysql_query("SELECT id, name, dash FROM dashim ORDER BY id DESC LIMIT 5"); 
$query[1] = mysql_query("SELECT id, replace, file FROM smilles"); 
while(@(
$dash0 = mysql_fetch_array($query[0]))) { 
while(@(
$dash1 = mysql_fetch_array($query[1])) { 
$dash['dash'] = str_replace($dash1['replace'], $dash1['file'], $dash0['dash']); 
} 
echo 
"<b>" . $dash['name'] . ":</b> " . $dash['dash'] . "<br />"; 
} 


maor 22-11-05 21:49

עדיין לא עובד..

Ikki 22-11-05 22:02

PHP קוד:

$query[0] = mysql_query("SELECT id, name, dash FROM dashim ORDER BY id DESC LIMIT 5"); 
$query[1] = mysql_query("SELECT id, replace, file FROM smilles"); 
while(@(
$dash0 = mysql_fetch_array($query[0]))) { 
while(@(
$dash1 = mysql_fetch_array($query[1]))) { 
$dash['dash'] = str_replace($dash1['replace'], $dash1['file'], $dash0['dash']); 
} 
echo 
"<b>" . $dash['name'] . ":</b> " . $dash['dash'] . "<br />"; 
} 

טעות שלי, עכשיו?

maor 22-11-05 23:06

עדיין לא עובד...
שמע תיקנתי קצת תקוד...
עכשי זה עושה מה שצריך לעשות אבל רק על השורה הראשנה שהוא קורא מהטבלה ועל כל השאר הוא לא עושה...
PHP קוד:

<?php
$dashim 
= "SELECT `id`, `name`, `dash` FROM `dashim` ORDER BY `id` DESC";
$result_dashim = mysql_query($dashim);
$replaces = "SELECT `w2replace`, `replacew` FROM `replaces`";
$result_replaces = mysql_query($replaces);
while(
$dash = mysql_fetch_array($result_dashim))
{    while(
$replace = mysql_fetch_array($result_replaces))
    {
        
$w2replace = $replace['w2replace'];
        
$replacew = $replace['replacew'];
        
$dash['dash'] = str_replace($w2replace, $replacew, $dash['dash']);
    }
    echo(
"<b>".$dash['name'].":</b> ".$dash['dash']."<br />\n");
}
?>

ניראה לי שעליתי על באג- אם עושים לולאה בתוך לולאה אז הלולאה הפנימית מתבצעת פעם אחת...

astricks 23-11-05 06:47

את השאילתה הראשונה תשמור במערך (array) ותעשה עליו foreach במקום while.

*שאני אחזור הביתה אני אכתוב את הקוד המתוקן


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

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