PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   html Tabelle in foreach (http://www.selfphp.de/forum/showthread.php?t=24189)

Diamond 17.05.2011 15:00:39

html Tabelle in foreach
 
Hallo Ihr Lieben,
ich habe ein Problem. Ich möchte eine Tabelle mit sechs Spalten in einer foreach Spalte ausgeben, aber bekomme es irgendwie nicht hin

hier mein Quellcode:
PHP-Code:

foreach ($fields as $field)
    {
      
$key $field['name'];
      if (!
in_array($key$standard_fields['entry']))
      {
        
$var_name VAR_PREFIX $key;
        
$value $custom_fields[$key];
        
$label_text get_loc_field_name($tbl_entry$key) . ":";
        
        echo 
"<div>\n";

if ((
$field['nature'] == 'boolean') || 
            ((
$field['nature'] == 'integer') && isset($field['length']) && ($field['length'] <= 2) )) 

        {
             
        if (
$kueche $key[0] == 'K') {
                   
$kueche 'K&uuml;che:';
                   echo 
"<table border='0'>
                               <tr>
                                   <td width='136'; align='right'><font color='red';><b>$kueche</b></font></td>
                                <td width='850';>"
;
                   
                echo 
"<label for=\"$var_name\">
                $label_text[2]$label_text[3]$label_text[4]$label_text[5]$label_text[6]$label_text[7]$label_text[8]$label_text[9]$label_text[10]$label_text[11]$label_text[12]$label_text[13]$label_text[14]$label_text[15]$label_text[16]$label_text[17]$label_text[18]$label_text[19]</label>\n"
;
                echo 
"<input type=\"checkbox\" class=\"checkbox\" " .
                     
"id=\"$var_name\" name=\"$var_name\" value=\"1\" " .
                     ((!empty(
$value)) ? " checked=\"checked\"" "") .
                     
">\n";
                echo 
"</td></tr></table>";
                 
             }
            elseif (
$mobilar $key[0] == 'M') {
                   
$mobilar 'Mobilar:';
                   echo 
"<table border='0'; valign='center';><tr><td width='136'; align='right';><font color='green';><b>$mobilar</b></font></td><td width='850';>";
                   
                echo 
"<label for=\"$var_name\">
                $label_text[2]$label_text[3]$label_text[4]$label_text[5]$label_text[6]$label_text[7]$label_text[8]$label_text[9]$label_text[10]$label_text[11]$label_text[12]$label_text[13]$label_text[14]$label_text[15]$label_text[16]$label_text[17]$label_text[18]$label_text[19]</label>\n"
;
                echo 
"<input type=\"checkbox\" class=\"checkbox\" " .
                     
"id=\"$var_name\" name=\"$var_name\" value=\"1\" " .
                     ((!empty(
$value)) ? " checked=\"checked\"" "") .
                     
">\n";
                echo 
"</td></tr></table>";
                 
             }
             elseif (
$hilfsmittel $key[0] == 'H') {
                   
$hilfsmittel 'Hilfsmittel:';
                   echo 
"<table border='0'; valign='center';><tr><td width='136'; align='right';><font color='brown';><b>$hilfsmittel</b></font></td><td width='850';>";
                   
                echo 
"<label for=\"$var_name\">
                $label_text[2]$label_text[3]$label_text[4]$label_text[5]$label_text[6]$label_text[7]$label_text[8]$label_text[9]$label_text[10]$label_text[11]$label_text[12]$label_text[13]$label_text[14]$label_text[15]$label_text[16]$label_text[17]$label_text[18]$label_text[19]$label_text[20]$label_text[21]</label>\n"
;
                echo 
"<input type=\"checkbox\" class=\"checkbox\" " .
                     
"id=\"$var_name\" name=\"$var_name\" value=\"1\" " .
                     ((!empty(
$value)) ? " checked=\"checked\"" "") .
                     
">\n";
                echo 
"</td></tr></table>";
                 
             }


        }



Kann mir bitte jemand weiterhelfen?

Liebe Grüße

KTB 17.05.2011 16:05:00

AW: html Tabelle in foreach
 
Zitat:

Zitat von Diamond (Beitrag 141132)
Kann mir bitte jemand weiterhelfen?

Bei einer genaueren Fehlerbeschreibung bestimmt!

Diamond 17.05.2011 16:13:09

AW: html Tabelle in foreach
 
Ich weiß nicht genau wie ich das erklären soll, aber ich versuch es mal:

Ich habe eine if abfrage, die schaut ob das Datenbankfeld ein boolean ist,
wenn ja zeigt er mir alle datensätze die mit K anfangen an.
Das gleiche für M und H.
Ich möchte aber das die Datensätze mit K, M und H je in einer Spalte nebeneinander angezeigt werden.

versteht ihr was ich meine?

KTB 18.05.2011 07:44:33

AW: html Tabelle in foreach
 
Habe ich dich richtig verstanden:
Im Moment wird für jedes Datenbankfeld eine neue Tabelle erstellt. Hast du fünf Felder (3 mal K, ein mal M, ein mal H), erstellst du fünf Tabellen (K;K;K;M;H;).
Nun soll das in einer Tabelle zusammen gefasst werden (KKK,M,H;) habe ich das richtig verstanden?
(Spalten durch ',' getrennt Tabellen durch ';' getrennt)

Diamond 18.05.2011 08:24:03

AW: html Tabelle in foreach
 
Schau mal es soll so angezeigt werden:

http://img197.imageshack.us/img197/1383/bild2qi.jpg

Zurzeit wird es so angezeigt:

http://img708.imageshack.us/img708/4546/bild3tv.jpg

KTB 18.05.2011 11:16:20

AW: html Tabelle in foreach
 
Hmm...also meiner Logik nach müsste zu Anfang in jeder Zeile entweder Küche, Mobilar (du meinst hier wahrscheinlich Mobiliar) oder Hilfsmittel stehen.

Diamond 18.05.2011 11:20:47

AW: html Tabelle in foreach
 
Zitat:

Zitat von KTB (Beitrag 141151)
Hmm...also meiner Logik nach müsste zu Anfang in jeder Zeile entweder Küche, Mobilar (du meinst hier wahrscheinlich Mobiliar) oder Hilfsmittel stehen.

Du hast recht, die stehen immer vor den Datenfelder. Das wäre zusätzlich noch ein Problem. Schöner wäre es nämlich das Küche nur einmal angzeigt wird un daneben die Datenfelder.

Ich hoffe ihr wisst jetzt was ich meine bzw. wie ich das gerne formatiert haben möchte.

Lieben Gruß an alle

KTB 18.05.2011 11:26:45

AW: html Tabelle in foreach
 
Dann ist die Lösung gar nicht so schwer. Anstatt die Zeilen sofort auszugeben, einfach in einer entsprechenden Variable zwischenspeichern. Da du drei Arten hast, brauchst du drei verschiedene. Nach dem Beenden der Schleife dann die drei einfach (formatiert in Tabelle) ausgeben.

Diamond 18.05.2011 11:37:50

AW: html Tabelle in foreach
 
Zitat:

Zitat von KTB (Beitrag 141153)
Dann ist die Lösung gar nicht so schwer. Anstatt die Zeilen sofort auszugeben, einfach in einer entsprechenden Variable zwischenspeichern. Da du drei Arten hast, brauchst du drei verschiedene. Nach dem Beenden der Schleife dann die drei einfach (formatiert in Tabelle) ausgeben.

Dann sind die Datenfelder nicht in der Tabelle oder nicht?

KTB 18.05.2011 11:40:41

AW: html Tabelle in foreach
 
Die sind dann in der Tabelle in der du sie anzeigst.


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:32:44 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.