[Solved] bin am verzweifeln ?! Hilfe Bitte :-)

Begonnen von pyr0, 16 Dezember 2009, 15:04:18

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

pyr0

Salü an Alle,

Bin gerade dabei mein Modul fertig zumachen.
Nur hänge ich gerade fest.

Ich möchte ein paar "Checkboxen" darstellen   <- kein Problem
dies mache ich mit folgendem Code
  #checkboxen für teamgruppe
               $result2 = sql_query("SELECT team_group_id, team_group  FROM " . $prefix . "_project_team_group where team_group_projectid='$project_id' order by team_group_id ASC");
               
                echo '<table border="0"  width="100%" >';
                while ($row = sql_fetch_assoc($result2)) {
                    echo'<tr>
                          <td width="10%" align="center"><input type="checkbox" name="group_id[' . $row['team_group_id'] . ']" value="1"></td>
                          <td width="90%" >' . $row['team_group'] . '</td>
                        </tr>';
                    }
                echo'</table>';


Soweit alles klar, wenn ich jetzt aber das ganze wieder anzeigen will, wird meine Schleife immer zu oft durch laufen
das versuche ich gerade mit folgenden Code
  echo '<table border="0"  width="100%" >';
      echo'<tr>';
  foreach ($group AS $group_id => $is_group_on) {
#echo '<b>' . $group_id . '</b> <br />';
           
         

            $result2 = sql_query("SELECT team_group_id, team_group  FROM " . $prefix . "_project_team_group where team_group_projectid='$project_id' order by team_group_id ASC");
             
         
                while ($row = sql_fetch_assoc($result2)) {
             
                if($row['team_group_id'] ==$group_id){
                  $check = "checked";
                  }
                  else{
                  $check ="";
                 
                  }
                #if($group_id =
                    echo'<tr>';
                          echo'<td width="10%" align="center">'
                          .'<input type="checkbox" ' . $check . ' name="group_id[' . $row['team_group_id'] . ']" value="1"></td>'
                          .'<td width="90%" >' . $row['team_group'] . '</td>'
                        .'</tr>';
                    }
                   
                    }
                   
                echo'</table>';


Anbei noch zwei Bildchen wie es aussieht.
Bild 1 zeigt wie es nicht aussehen soll und Bild 2 halt naja so wie es sein sollte  :puzzled:

Leider wied die Datenbankabfrage immer zu oft gemacht.
Kann mir da mal jemand bitte bei helfen.
Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

fatdom

ich weis nicht ob die lösung ist, aber das ist mir aufgefallen:
das du echo'<tr>'; drinstehen hast aber der rest dazu fehlt...
absicht? mach mal weg und berichte...

  echo '<table border="0"  width="100%" >';
echo'<tr>';
  foreach ($group AS $group_id => $is_group_on) {
#echo '<b>' . $group_id . '</b> <br />';
           
         

            $result2 = sql_query("SELECT team_group_id, team_group  FROM " . $prefix . "_project_team_group where team_group_projectid='$project_id' order by team_group_id ASC");
             
         
                while ($row = sql_fetch_assoc($result2)) {
             
                if($row['team_group_id'] ==$group_id){
                  $check = "checked";
                  }
                  else{
                  $check ="";
                 
                  }
                #if($group_id =
                    echo'<tr>';
                          echo'<td width="10%" align="center">'
                          .'<input type="checkbox" ' . $check . ' name="group_id[' . $row['team_group_id'] . ']" value="1"></td>'
                          .'<td width="90%" >' . $row['team_group'] . '</td>'
                        .'</tr>';
                    }
                   
                    }
                   
                echo'</table>';


in so:
  echo '<table border="0"  width="100%" >';
  foreach ($group AS $group_id => $is_group_on) {
#echo '<b>' . $group_id . '</b> <br />';
           
         

            $result2 = sql_query("SELECT team_group_id, team_group  FROM " . $prefix . "_project_team_group where team_group_projectid='$project_id' order by team_group_id ASC");
             
         
                while ($row = sql_fetch_assoc($result2)) {
             
                if($row['team_group_id'] ==$group_id){
                  $check = "checked";
                  }
                  else{
                  $check ="";
                 
                  }
                #if($group_id =
                    echo'<tr>';
                          echo'<td width="10%" align="center">'
                          .'<input type="checkbox" ' . $check . ' name="group_id[' . $row['team_group_id'] . ']" value="1"></td>'
                          .'<td width="90%" >' . $row['team_group'] . '</td>'
                        .'</tr>';
                    }
                   
                    }
                   
                echo'</table>';

pyr0

#2
Ja so ist besser nur das es so ist wie Du es geschrieben hast, es ändert noch nix Schade

Vielleicht noch mal zur besseren Erklärung :
   ich lese eine DB-Tabelle aus und zeige dann den Inhalt an und davor mache ich die Checkboxen nur soll man aber auch mehrere Sachen auswählen können
   dies geht soweit auch super bzw kein Problem

jetzt kommt es aber: ich möchte das ganze an eine andere Funktion dann weiter geben und dann wieder aus der selber DB-Tabelle auslesen und dann aber die markieren mit "checked" welche ich vorher ja schon gewählt hatte

Egal was ich bisher gemacht habe:
-bei einer Auswahl alles super
- bei mehreren wird die Tabelle jedesmal so oft wiederholt, wie man vorher gewählt hat als zB 3 mal ausgeählt = 3 mal Tabelle anzeigen und das soll nicht sein



Merci
Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

fatdom

wenn du das alles so machen willst wie beschrieben gehört da ja noch nen ischen mehr code zu.
evt. sollte man da mal schauen...
wenn ich das jetzt alles richtig verstehe willst du das was du "angeklickt" hast in der DB speichern und an einer anderen stelle wieder aufrufen. oder was du "angeklickt" hast direkt in eine andere funktion übergeben oder willst du da ein mehr seitiges formular raus machen?

pyr0

Im Prinzip wird in der ersten Funktion alles angezeigt und man kann auswählen
#####################################################################
# function TaskNew();
# anlegen von neuer aufgabe
####################################################################
function TaskNew(){
global $prefix,$module_name,$project_id,$base_name,$base_id,$bgcolor2,$header_desc;
pmxHeader::add('<script type="text/javascript" src="modules/'.$module_name.'/include/cal.js"></script>'); 
   include("header.php");
   opentable();
   $tip=_MF_ProjectModule_useradmin_task_view_tip;
   include("modules/$module_name/project-useradmin/header.php");
    admin_header_with_tip($tip);

  echo '<fieldset>';
 
 
   echo "<form action=\"modules.php?name=$module_name\" method=\"post\">"
      ."<input type=\"hidden\" name=\"op\" value=\"useradmin_task_new_save_befor\">"
      ."<input type=\"hidden\" name=\"base_name\" value=\"$base_name\">"
      ."<input type=\"hidden\" name=\"base_id\" value=\"$base_id\">"
      ."<input type=\"hidden\" name=\"project_id\" value=\"$project_id\">";
     
    $img_path="modules/$module_name/images"; 

   echo '<div align="center">';
           
              #hauptteil
      echo" <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"  width=\"100%\" >
             <tr>
               <td width=\"97\" height=\"25\"  align=\"right\"><b>" . _MF_ProjectModul_proj_task_single . "</b></td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"*\" colspan=\"4\" align=\"left\">";
               
             
               echo"<input type=\"text\" name=\"task_name\" size=\"30\"></td>
             </tr>
             <tr>
               <td width=\"97\" align=\"right\" valign=\"top\"><b>" . _MF_ProjectModul_proj_desc . "</b></td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"*\" colspan=\"4\" align=\"left\"><textarea rows=\"10\" name=\"task_desc\" cols=\"50\">";
               
               echo"</textarea></td>
             </tr>
             <tr>
               <td width=\"*\" align=\"right\" colspan=\"6\">&nbsp;</td>
             </tr>
             <tr>
               <td width=\"100\" align=\"right\" valign=\"top\"><b>" . _MF_ProjectModul_proj_status . "</b></td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"130\" valign=\"top\" align=\"left\">";
               ##status daten holen
           
             
               
               $result3 = sql_query("SELECT id,name  FROM " . $prefix . "_project_status ");
         
                while ($row = sql_fetch_assoc($result3)) {
                  echo '<input type="radio" value="' . $row['id'] . '"  name="status_id"> ' . $row['name'] . '<br />';
                }
             
               echo"</td>
               <td width=\"100\" align=\"right\" valign=\"top\"><b>" . _MF_ProjectModule_useradmin_task_allocated . "</b></td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"*\" align=\"left\">";
               #checkboxen für teamgruppe
               $result2 = sql_query("SELECT team_group_id, team_group  FROM " . $prefix . "_project_team_group where team_group_projectid='$project_id' order by team_group_id ASC");
               
                echo '<table border="0"  width="100%" >';
                while ($row = sql_fetch_assoc($result2)) {
                    echo'<tr>
                          <td width="10%" align="center"><input type="checkbox" name="group_id[]" value="' . $row['team_group_id'] . '"></td>
                          <td width="90%" >' . $row['team_group'] . '</td>
                        </tr>';
                    }
                echo'</table>';
                 
               $datum = date("d.m.Y");
               echo"&nbsp;</td>
             </tr>
             <tr>
               <td width=\"100\" align=\"right\"><b>" . _MF_ProjectModul_proj_start . "</b></td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"100\" align=\"left\"><input type=\"text\" id=\"ende\" size=\"8\" maxlength=\"8\" name=\"start\" value=\"$datum\"  > ";
             
?><a href="javascript:Kalender.anzeige(null,null,'ende',null,null,'%d.%b.%y ')"><?
            echo "<img title=\"" . _proj_calendar_start . "\" src=\"modules/$module_name/images/default/calender.jpg\" width=\"25\" border=\"0\"></a></td>
               <td width=\"100\" align=\"right\"><b>" . _MF_ProjectModul_proj_end . "</b></td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"*\" align=\"left\"><input type=\"text\" id=\"ende1\" size=\"8\" maxlength=\"8\" name=\"ende\" value=\"\" >";?>
<a href=" javascript:Kalender.anzeige(null,null,'ende1',null,null,'%d.%b.%y ')">
                <?
                echo "<img title=\"" . _proj_calendar_end . "\" src=\"modules/$module_name/images/default/calender.jpg\" width=\"25\" border=\"0\"></a></td>
             </tr>
             <tr>
               <td width=\"100\" align=\"right\">&nbsp;</td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"100\">&nbsp;</td>
               <td width=\"100\">&nbsp;</td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"*\">&nbsp;</td>
             </tr>
              <tr>
               <td width=\"100\" align=\"right\">&nbsp;</td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"100\"><input type=\"submit\" name=\"submit\" value=\"" . _MF_ProjectModul_proj_button_save . "\"></form></td>
               <td width=\"100\">&nbsp;</td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"*\">&nbsp;</td>
             </tr>
           </table></div>";
  echo'</fieldset>';
  closetable();
  include("modules/$module_name/include/footer.php");

}



dann soll in der kommenden Funktion auf Fehler überprüft werden und angezeigt werden
ich weiss ist nicht der beste Weg den ich hier nehme aber ist nunmal so  :red:

Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

pyr0

hier jetzt die zweite Funktion
#####################################################################
# function TaskSaveBefor();
# anlegen von neuer aufgabe
####################################################################
function TaskSaveBefor(){
global $prefix,$module_name,$project_id,$base_name,$base_id;

show_req();
#exit;
  $img_path="modules/$module_name/images/default"; 
  #fehler abfangen und auswerten
       $task_name = chop(mxAddSlashesForSQL($_POST['task_name']));
        if(($task_name =="") OR (empty($task_name))){
         #   $check_task_name='echo "<img src=\"$img_path/error_klein.jpg\" border=\"0\">Bitte einen Namen angeben<br />";';
                $check_error ="1";
                $check_error_taskname_pic="<img src=\"$img_path/error_klein.jpg\" border=\"0\">";
                }
               
        #testen ob beschreibung vorhanden ist
        $task_desc = chop(mxAddSlashesForSQL($_POST['task_desc']));
       
        if($task_desc =="") {
          #  $check_task_name='echo "<img src=\"$img_path/error_klein.jpg\" border=\"0\">Bitte einen Namen angeben<br />";';
                $check_error ="1";
                $check_error_taskdesc_pic="<img src=\"$img_path/error_klein.jpg\" border=\"0\">";
                }
               
        #testen ob status gesetzt ist
         if(($_POST['status_id']=="") OR (!isset($_POST['status_id']))){
               $check_error ="1";
                $check_error_taskstatus_pic="<img src=\"$img_path/error_klein.jpg\" border=\"0\">";
             
               }
               else{
                     
               $result4 = sql_query("SELECT id, name FROM " . $prefix . "_project_status where id='" . $_POST['status_id'] . "'");
              list($status_id,$status_name) = sql_fetch_row($result4);
              }
        #testen ob teammitglieder zugewiesen sind
          if(($_POST['group_id'] =="") or (!isset($_POST['group_id']))){
              $check_error ="1";
              $check_error_tasksmember_pic="<img src=\"$img_path/error_klein.jpg\" border=\"0\">";   
            }
     
       
        #testen von ende datum
        #umwandel des datums fuer die kontrolle
        if($_POST['start'] == ""){
          $check_error ="1";
            $check_error_startdate_pic="<img src=\"$img_path/error_klein.jpg\" border=\"0\">";
            $check_error_date_pic="<img src=\"$img_path/error_klein.jpg\" border=\"0\">";
            }
          else{
            $test_start_time=strtotime($_POST['start']);
            $test_end_time=strtotime($_POST['ende']);
            if($test_end_time < $test_start_time){
                $check_error ="1";
                $check_error_date_pic="<img src=\"$img_path/error_klein.jpg\" border=\"0\">";
                }
            }
    #fehler anzeigen
    if(@$check_error == "1"){
    pmxHeader::add('<script type="text/javascript" src="modules/'.$module_name.'/include/cal.js"></script>'); 
    echo "<form action=\"modules.php?name=$module_name\" method=\"post\">"
      ."<input type=\"hidden\" name=\"op\" value=\"useradmin_task_new_save_befor\">"
      ."<input type=\"hidden\" name=\"base_name\" value=\"$base_name\">"
      ."<input type=\"hidden\" name=\"base_id\" value=\"$base_id\">"
      ."<input type=\"hidden\" name=\"project_id\" value=\"$project_id\">";
     
   
    include("header.php");
    opentable();
    echo '<fieldset>';
      echo '<div align="center">
             <table border="1"  width="100%" >
               <tr>
                  <td width="30%" valign="top"><b>' . _MF_ProjectModule_useradmin_task_new . '</b><br /><br /></td>
                  <td width="40" valign="top"><img src="modules/' . $module_name . '/images/project-useradmin/tip.png"></td>
                  <td width="*" valign="top">' . _MF_ProjectModul_New_Project_error_msg . ':<br /><br />' . _MF_ProjectModul_New_Project_error_help . '<br /></td>';
        echo '</tr>
             </table>
            </div>';
    echo '</fieldset>';
    echo '<fieldset>';
   
   # show_req();
    echo" <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"  width=\"100%\" >
             <tr>
               <td width=\"97\" height=\"25\"  align=\"right\"><b>" . _MF_ProjectModul_proj_task_single . "</b> " . @$check_error_taskname_pic . " </td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"*\" colspan=\"4\" align=\"left\">";
               
             
               echo"<input type=\"text\" name=\"task_name\" size=\"30\" value=\"$task_name\"></td>
             </tr>
             <tr>
               <td width=\"97\" align=\"right\" valign=\"top\"><b>" . _MF_ProjectModul_proj_desc . "</b> " . @$check_error_taskdesc_pic . "</td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"*\" colspan=\"4\" align=\"left\"><textarea rows=\"10\" name=\"task_desc\" cols=\"50\">";
               echo $task_desc;
               
               echo"</textarea></td>
             </tr>
             <tr>
               <td width=\"*\" align=\"right\" colspan=\"6\">&nbsp;</td>
             </tr>
             <tr>
               <td width=\"100\" align=\"right\" valign=\"top\"><b>" . _MF_ProjectModul_proj_status . "</b> " . @$check_error_taskstatus_pic . "</td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"130\" align=\"left\" valign=\"top\">";
               ##status daten holen
           
             
               
               $result = sql_query("SELECT id,name  FROM " . $prefix . "_project_status ");
                while ($row = sql_fetch_assoc($result)) {
                  if($_POST['status_id'] == $row['id']){
                  $check = "checked";
                  }
                  else{
                  $check ="";
                  }
                 echo '<input type="radio" ' . $check . ' value="' . $row['id'] . '"  name="status_id"> ' . $row['name'] . '<br />';
                }
   
               echo"</td>
               <td width=\"100\" align=\"right\" valign=\"top\"><b>" . _MF_ProjectModule_useradmin_task_allocated . "</b> " . @$check_error_tasksmember_pic . "</td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"*\" align=\"left\">";
           

und jetzt kommt die stelle wo es hängt
               #checkbox für user
                 echo '<table border="0"  width="100%" >';
                 echo'<tr>';
                $result2 = sql_query("SELECT team_group_id, team_group  FROM " . $prefix . "_project_team_group where team_group_projectid='$project_id'  order by team_group_id ASC");
                        $group=$_POST['group_id'];
                        $zahl= count($group);
                       # echo $zahl;
                        foreach($group as $group_id){
                            echo '' . $group_id . '';
                            }
                     while ($row = sql_fetch_assoc($result2)) {
                      #schleife kommen zum abarbeiten
                       
                     
                       
                     
                       

                     
                       # $check = "checked";
                        #}
                        #else{
                        #  $check ="";
                        #  }
                      echo'<tr>';
                      echo'<td width="10%" align="center">'
                        .'<input type="checkbox" ' . $check . ' name="group_id[]" value="' . $row['team_group_id'] . '"></td>'
                        .'<td width="90%" >' . $row['team_group'] . '</td>'
                        .'</tr>';
                        }
                       
                 
                       
                       
                   
               
           
                     
                            echo'</table>';
                       
           


Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

pyr0

ab hier ist dann wieder alles klar

           
                $date = $_POST['start'];
                $end_date = $_POST['ende'];
               echo"&nbsp;</td>
             </tr>
             <tr>
               <td width=\"100\" align=\"right\"><b>" . _MF_ProjectModul_proj_start . "</b> " . @$check_error_startdate_pic . "</td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"100\" align=\"left\"><input type=\"text\" id=\"ende\" size=\"8\" maxlength=\"8\" name=\"start\" value=\"$date\"  > ";
             
?><a href="javascript:Kalender.anzeige(null,null,'ende',null,null,'%d.%b.%y ')"><?
            echo "<img title=\"" . _proj_calendar_start . "\" src=\"modules/$module_name/images/default/calender.jpg\" width=\"25\" border=\"0\"></a></td>
               <td width=\"100\" align=\"right\"><b>" . _MF_ProjectModul_proj_end . "</b> " . @$check_error_date_pic . "</td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"*\" align=\"left\"><input type=\"text\" id=\"ende1\" size=\"8\" maxlength=\"8\" name=\"ende\" value=\"$end_date\" >";?>
<a href=" javascript:Kalender.anzeige(null,null,'ende1',null,null,'%d.%b.%y ')">
                <?
                echo "<img title=\"" . _proj_calendar_end . "\" src=\"modules/$module_name/images/default/calender.jpg\" width=\"25\" border=\"0\"></a></td>
             </tr>
             <tr>
               <td width=\"100\" align=\"right\">&nbsp;</td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"100\">&nbsp;</td>
               <td width=\"100\">&nbsp;</td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"*\">&nbsp;</td>
             </tr>
              <tr>
               <td width=\"100\" align=\"right\">&nbsp;</td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"100\"><input type=\"submit\" name=\"submit\" value=\"" . _MF_ProjectModul_proj_button_retry . "\"></form></td>
               <td width=\"100\">&nbsp;</td>
               <td width=\"10\">&nbsp;</td>
               <td width=\"*\">&nbsp;</td>
             </tr>
           </table></div>";
    echo '</fieldset>';
    closetable();
    include("modules/$module_name/include/footer.php");
    }
    # wenn keine Fehler dann jetzt
    if((@$check_error == "0") OR (!isset($check_error))){
    show_req();
    #ab damit in die passende db
    $cookie = mxGetUserSession();
    $result3 = sql_query("insert into " . $prefix . "_project_project_task (task_id,task_project_id,task_name,task_desc,task_start,task_stop,task_status,task_owner_id,task_owner_name) values ('','$project_id','$task_name','$task_desc','" . $_POST['start'] . "','" . $_POST['ende'] . "','" . $_POST['status_id'] . "','" . $cookie['0'] . "','" . $cookie['1'] . "')");
    $task_id = mysql_insert_id();
    $wert = "";
    for ($zi = 0;$zi < count($group_id); $zi++){
      $wert ="$group_id[$zi]";
      echo "--$wert--<br>";
     
      }
   
    }
   
       
}
Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!