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

הוסטס - פורום אחסון האתרים הגדול בישראל (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. הזמן כעת הוא 09:21.

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