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

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

X-T 20-08-07 20:47

[PHP] קוד שלא פועל כצפוי
 
הקוד הבא:
PHP קוד:

    $i 0;
    
$dm 1;
    function 
showDomainResult($domain,$server,$findText){
    
       if (
checkDomain($domain,$server,$findText)){
       
$i++;
       if(
$dm == 1){
          echo 
'<tr bgcolor="#e2e2e2"><td><input type="checkbox" name="d'.$i.'" /><td><div style="direction:ltr;">'.$domain.'</div></td><td style="color:green;">פנוי</td></tr>';
       
$dm 0;
       }else{
       echo 
'<tr><td><input type="checkbox" name="d'.$i.'" /><td><div style="direction:ltr;">'.$domain.'</div></td><td style="color:green;">פנוי</td></tr>';
       
$dm 1;
       }
       
       }else{
       if(
$dm == 1){
       echo 
'<tr bgcolor="#e2e2e2"><td></td><td><div style="direction:ltr;">'.$domain.'</div></td><td style="color:red;">תפוס</td></tr>';
   
$dm 0;
   }
   else{
      echo 
'<tr><td></td><td><div style="direction:ltr;">'.$domain.'</div></td><td style="color:red;">תפוס</td></tr>';
   
$dm 1;
   }
   }
  } 

אמור להציג תוצאות של דומיין, טבלה ראשונה אמורה להיות אפורה, השניה לבנה וכך הלאה,

משום מה זה הכל לבן,

היכן השגיאה שלי?

Elad-A 20-08-07 20:53

תעשה משהו כזה

קוד:


if($i &#37; 2 == 0)
{
//bgcolor = gray
}
else
{
//bgcolor = white
}


X-T 20-08-07 21:01

ציטוט:

נכתב במקור על ידי Elad-A (פרסם 545421)
תעשה משהו כזה

קוד:


if($i % 2 == 0)
{
//bgcolor = gray
}
else
{
//bgcolor = white
}



לא עוזר, זה רק אפור עכשיו :\

Tomer 20-08-07 21:05

ואנחנו יודעים מה עשית כדי לעזור לך.. תפרט!

4ior 20-08-07 21:06

זה בגלל שהi הdm חיצוני לפונקציה. או שתעשה global או שתשים אותו כחלק מהמשתנים בפונקציה.

X-T 20-08-07 21:14

ציטוט:

נכתב במקור על ידי 4ior (פרסם 545430)
זה בגלל שהi הdm חיצוני לפונקציה. או שתעשה global או שתשים אותו כחלק מהמשתנים בפונקציה.


ניסיתי לא פועל לי

PHP קוד:

    $i 0;
    global 
$dm;
    
$dm 0;
    
$errors 0;
    function 
showDomainResult($domain,$server,$findText){
    
       if (
checkDomain($domain,$server,$findText)){
       
$i++;
       
$errors++;
       if(
$dm == 1){
       
$dm 0;
          echo 
'<tr bgcolor="#e2e2e2"><td><input type="checkbox" name="d'.$i.'" /><td><div style="direction:ltr;">'.$domain.'</div></td><td style="color:green;">פנוי</td></tr>';
       echo 
$dm;
       }else{
       
$dm 1;
       echo 
'<tr bgcolor="#ffffff"><td><input type="checkbox" name="d'.$i.'" /><td><div style="direction:ltr;">'.$domain.'</div></td><td style="color:green;">פנוי</td></tr>';
       echo 
$dm;
       }
       }else{
       if(
$dm == 1){
       
$dm 0;
       echo 
'<tr bgcolor="#e2e2e2"><td></td><td><div style="direction:ltr;">'.$domain.'</div></td><td style="color:red;">תפוס</td></tr>';
   echo 
$dm;
   }
   else{
      echo 
'<tr bgcolor="#ffffff"><td></td><td><div style="direction:ltr;">'.$domain.'</div></td><td style="color:red;">תפוס</td></tr>';
   
$dm 1;
   echo 
$dm;
   }
   }
  } 


Elad-A 20-08-07 21:19

ה global אמור לבוא בתוך הפונקציה..

X-T 20-08-07 21:25

אין שינוי.

הקוד עד כה
PHP קוד:

    function showDomainResult($domain,$server,$findText){
    global 
$i,$dm,$errors;
    
$i 0;
    
$dm 0;
    
$errors 0;
    
       if (
checkDomain($domain,$server,$findText)){
       
$i++;
       
$errors++;
       if(
$dm == 0){
          echo 
'<tr bgcolor="#e2e2e2"><td bgcolor="white"><input type="checkbox" name="d'.$i.'" /><td><div style="direction:ltr;">'.$domain.'</div></td><td style="color:green;">פנוי</td></tr>';
       
$dm 1;
       }else{
       echo 
'<tr bgcolor="white"><td bgcolor="white"><input type="checkbox" name="d'.$i.'" /><td><div style="direction:ltr;">'.$domain.'</div></td><td style="color:green;">פנוי</td></tr>';
       
$dm 0;
       }
       }else{
       if(
$dm == 0){
       echo 
'<tr bgcolor="#e2e2e2"><td bgcolor="white"></td><td><div style="direction:ltr;">'.$domain.'</div></td><td style="color:red;">תפוס</td></tr>';
   
$dm 1;
   }
   else{
      echo 
'<tr bgcolor="white"><td bgcolor="white"></td><td><div style="direction:ltr;">'.$domain.'</div></td><td style="color:red;">תפוס</td></tr>';
   
$dm 0;
   }
   }
  } 

זה כאילו לא מקבל את זה שאני עושה SET למשתנה משום מה.

Elad-A 20-08-07 21:34

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

X-T 20-08-07 21:35

מה שאני מנסה לעשות שיופיע לי רקע שונה כל פעם לדוגמא:
hosts.co.il -תפוס ( רקע אפור )
hosts.org.il -פנוי ( רקע לבן )
hosts.com-פנוי ( רקע אפור )
hosts.org -פנוי ( רקע לבן )

*לצבע אין שום קשר לתוצאה אלה לסדר שהתוצאות מוצגות.

קוד נכון לעכשיו
PHP קוד:

function showDomainResult($domain,$server,$findText){
    global 
$i,$count,$errors;
    
$i 0;
    
$count 0;
    
$errors 0;
    if (
$count == 0){
        
$color "#e2e2e2";
        
$count 1;
    }else{
        
$color "#ffffff";
        
$count 0;
    }
       if (
checkDomain($domain,$server,$findText)){
       
$i++;
       
$errors++;
          echo 
'<tr bgcolor="'.$color.'"><td bgcolor="white"><input type="checkbox" name="d'.$i.'" /><td><div style="direction:ltr;">'.$domain.'</div></td><td style="color:green;">פנוי</td></tr>';
       }else{
       echo 
'<tr bgcolor="'.$color.'"><td bgcolor="white"></td><td><div style="direction:ltr;">'.$domain.'</div></td><td style="color:red;">תפוס</td></tr>';
   }
  } 

*אינו מקבל את הצבע.

Udi 20-08-07 21:44

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

אתה רוצה שהרקע יופיע לסירוגין?

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

X-T 20-08-07 21:49

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

בכל אופן הצלחתי לסדר את הבעיה,

תודה לכל מי שעזר P:

Daniel 20-08-07 22:32

הממ, אולי תגיד?

אני לא בטוח, אך יכול להיות שבצע רקע לא עובד על TR?

Dragon-Boy 21-08-07 20:56

קוד:

$i = 0;
    $dm = 1;
    function showDomainResult($domain,$server,$findText){
    global $dm, $i;
      if (checkDomain($domain,$server,$findText)){
      $i++;
      if($dm == 1){
          echo '<tr bgcolor="#e2e2e2"><td><input type="checkbox" name="d'.$i.'" /><td><div style="direction:ltr;">'.$domain.'</div></td><td style="color:green;">פנוי</td></tr>';
      $dm = 0;
      }else{
      echo '<tr><td><input type="checkbox" name="d'.$i.'" /><td><div style="direction:ltr;">'.$domain.'</div></td><td style="color:green;">פנוי</td></tr>';
      $dm = 1;
      }
       
      }else{
      if($dm == 1){
      echo '<tr bgcolor="#e2e2e2"><td></td><td><div style="direction:ltr;">'.$domain.'</div></td><td style="color:red;">תפוס</td></tr>';
  $dm = 0;
  }
  else{
      echo '<tr><td></td><td><div style="direction:ltr;">'.$domain.'</div></td><td style="color:red;">תפוס</td></tr>';
  $dm = 1;
  }
  }
  }

רואה את השורה המודגשת? זה מה ששכחת לעשות.


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

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