phpbar.de logo

Mailinglisten-Archive

[php] array in while schleife

[php] array in while schleife

Sorin Marti php_(at)_phpcenter.de
Fri, 30 Aug 2002 11:34:29 +0200


Hi Sandor,

Danke das du dich meiner einmal mehr angenommen hast... :-)

>Ok, was dir fehlt, ist die eindeutige Zuordnung der Variablen desc, hours,
>mins zu einer ProjectId.
>
Das habe ich eben auch gemerkt. Gerade eben habe ich eine Lösung für
mein Problem gefunden...

Das Problem am ganzen ist, dass die Projekte und die dazu gehörenden
Subprojekt vorgegeben sind. Ein user arbeitet bei einem bestimmten
Subprojekt mit und nur in jenen subprojekten bei denen er als member
eingetragen ist kann er Arbeitszeiten eintragen... Ein user loggt sich
also ein und ich frage die DB ab, welche subprojekte angezeigt werden
sollen. Diese werden dann als Formular ausgegeben, in dem er seine
Arbeitszeiten angeben kann. Ich habe nun die Projekt- und Subprojekt-Ids
als Hidden Field mitgegeben und diese werden dann auch als Array in das
"zusammenfassende" Array geschrieben und nicht bloss einmal. Die
while-Schleife ist nötig, da die Anzahl der Subprojekte wo jemand member
ist nicht klar ist...

folgend der nun funktionierende Code:


function makeSubProjectTable($uin)
{
  echo "<form action='addTime.php' method='get'>";
  //Hier kommt das Datums-auswähl-formular...
  $con=tr_connect();
  $user = get_user_uin($uin);
  $uid = get_user_id($user);
  $pid_array = get_subproject_id($uid);
  echo"<table border=1 cellpadding=2
frame=rhs><tr><td><nor>Projekt</nor></td><td><nor>Subprojekt</nor></td><td><n
or>Beschreibung</nor></td><td><nor>h</nor></td><td><nor>min</nor></td></tr>";
  $id="0";
  while($row = mysql_fetch_array($pid_array))
    {
      $sp_id = $row["subproject_id"];
      $p_id = get_project_id($sp_id);
      $sp_na = get_subproject($sp_id);
      $p_na = get_project($sp_id);
      echo "<tr>";
      echo "<td> $p_na <input type='hidden' name=pr_id[] value=$p_id>
</td>";
      echo "<td> $sp_na <input type='hidden' name=spr_id[] value=$sp_id>
</td>";
      echo "<td><input type='text' name='desc[]'></td>";
      echo "<td><input type='text' size='4' name='hours[]'></td>";
      echo "<td><input type='text' size='4' name='mins[]'></td>";
      echo "<td></td>";
      echo "</tr>";
      $date = makeDate($_GET["day"],$_GET["month"],$_GET["year"]);
      $array = array($_GET["pr_id"], $_GET["spr_id"], $_GET["desc"],
$_GET["hours"], $_GET["mins"], $date);
    }


  echo "<tr>";
  echo "<td></td>";
  echo "<td>Absenzen</td>";
  echo "<td><input type=text name='desc_abs'></td>";
  echo "<td><input type=text size=4 name='hours_abs'></td>";
  echo "<td><input type=text size=4 name='mins_abs'></td>";
  echo "</tr>";
  echo "</table>";
  echo "<input type='hidden' name='uin' value=$uin>";
  echo "<br>";
  echo "<input type='submit' value='Senden'>";
  echo "</form>";
  $abs_array =
array($_GET["desc_abs"],$_GET["hours_abs"],$_GET["mins_abs"], $date);
  $tot_array = array($array,$abs_array);
  $chdate =  checkdate ($_GET["month"], $_GET["day"], $_GET["year"]);
  if($chdate==true)
    {
      return $tot_array;
    }
  else
    {
      echo "<redh4>Ungültiges Datum! </redh4>"; return false;
    }
}


php::bar PHP Wiki   -   Listenarchive