herbert : schleifen problem (for mit if)

hi leute!

ich hab ein mir völlig unverständliches problem.
ich habe 3 if-abfragen innerhalb einer for-schleife.
sobald ein bestimmtes element einer if-schleife true ist, bleibt
der code irgendwie hängen.

hier der quell-source:
<?php
$bh = 8;
$bm = 1;
$eh = 10;
$em = 1;

$akth = 8;
$aktbgnext = 0;

for($g=1; $g<=14; $g++)
{
 if ($akth == $bh){if ($bm == "0"){$hh1 = "symbol_s"; $hh2 = "symbol_s";} if ($bm == "1"){$hh1 = ""; $hh2 = "symbol_s";}}
 if ($akth == $eh){if ($em == "0"){$hh1 = ""; $hh2 = "";} if ($em == "1"){$hh1 = "symbol_e"; $hh2 = "";}}
 if (($akth >= $bh && $akth <= $eh) && ($akth != $bh && $akth != $eh)){$hh1 = "symbol_f"; $hh2 = "symbol_f";}
 print"  <tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>
  <td height='18' align='center' valign='middle'>
    $hh1
  </td>
   </tr>
   <tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>
  <td align='center' valign='middle' background='../../bilder/bilder/dotted.gif' bgcolor='#BACAD7'>
    <img src='../../bilder/bilder/transparent.gif' width='1' height='1'>
  </td>
   </tr>
   <tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>
  <td height='18' align='center' valign='middle'>
    $hh2
  </td>
   </tr>";
 $akth = $akth+1;
}
?>

hier das gekürzte ergebnis (zeilen wiederholen sich bis zum ende derfor-schleife):
<table width='114' border='0' cellpadding='0' cellspacing='0'>
  <tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>

<td height='18' align='center' valign='middle' bgcolor='#DDE6EC'>  </td>
   </tr>

<tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>
  <td align='center' valign='middle' background='../../bilder/bilder/dotted.gif' bgcolor='#BACAD7'>
    <img src='../../bilder/bilder/transparent.gif' width='1' height='1'>  </td>
   </tr>

<tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>
  <td height='18' align='center' valign='middle' bgcolor='#DDE6EC'>
    symbol_s  </td>
   </tr><tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>
    <td align='center' valign='middle' bgcolor='#333333'>
      <img src='../../bilder/bilder/transparent.gif' width='1' height='1'>    </td>
     </tr>  <tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>

<td height='18' align='center' valign='middle' bgcolor='#C9D6E0'>
    symbol_f  </td>
   </tr>

<tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>
  <td align='center' valign='middle' background='../../bilder/bilder/dotted.gif' bgcolor='#BACAD7'>
    <img src='../../bilder/bilder/transparent.gif' width='1' height='1'>  </td>
   </tr>

<tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>
  <td height='18' align='center' valign='middle' bgcolor='#C9D6E0'>
    symbol_f  </td>
   </tr><tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>
    <td align='center' valign='middle' bgcolor='#333333'>
      <img src='../../bilder/bilder/transparent.gif' width='1' height='1'>    </td>
     </tr>  <tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>

<td height='18' align='center' valign='middle' bgcolor='#DDE6EC'>
    symbol_e  </td>
   </tr>

<tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>
  <td align='center' valign='middle' background='../../bilder/bilder/dotted.gif' bgcolor='#BACAD7'>
    <img src='../../bilder/bilder/transparent.gif' width='1' height='1'>  </td>
   </tr>

<tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>
  <td height='18' align='center' valign='middle' bgcolor='#DDE6EC'>  </td>
   </tr><tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>
    <td align='center' valign='middle' bgcolor='#333333'>
      <img src='../../bilder/bilder/transparent.gif' width='1' height='1'>    </td>
     </tr>  <tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>

<td height='18' align='center' valign='middle' bgcolor='#C9D6E0'>
    symbol_e  </td>
   </tr>

<tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>
  <td align='center' valign='middle' background='../../bilder/bilder/dotted.gif' bgcolor='#BACAD7'>
    <img src='../../bilder/bilder/transparent.gif' width='1' height='1'>  </td>
   </tr>

<tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>
  <td height='18' align='center' valign='middle' bgcolor='#C9D6E0'>  </td>
   </tr><tr align='left' valign='top' bgcolor='#BACAD7' class='text_s'>
    <td align='center' valign='middle' bgcolor='#333333'>
      <img src='../../bilder/bilder/transparent.gif' width='1' height='1'>    </td>
   </tr></table>

  1. habe das problem schon gelöst, hatte das unset am ende der schleife vergessen...

  2. Moin Herbert,

    for($g=1; $g<=14; $g++){
       if($akth == $bh){
           $hh1 =($bm) ? ""         : "symbol_s";
           $hh2 = "symbol_s";
       }
       if($akth == $eh){
           $hh1 =($em) ? "symbol_e" : "";
           $hh2 = "";
       }
       if($akth > $bh && $akth < $eh)
           $hh1 = "symbol_f";
           $hh2 = "symbol_f";
       }
       print $html_out;
       $akth++;
    }

    leider geht aus Deiner Problembeschreibug nicht hervor, wo Dein Code "irgendwie hängen bleibt". Vermutlich meist Du, weil nach dem dritten Durchlauf keine der angegebenen Bedingungen mehr eintreten kann, da $akth dann den Wert 11 hat, das Ausleibende umdefinieren der Variablen $hh1 und $hh2. Da hilft nur eine problemorientiertere Herangehensweise, bei der man Dir ohne weitere Informationen nicht zur Hand gehen kann.

    Gruß aus Berlin!
    eddi