 |
21.04.2005, 19:38
| Nach oben
#1 | | Gast | Problem bei erstellung einer tabelle mit function und array
hi.
ich habe mal versucht eine funktion zum erstellen einer tabelle zu erstellen. aber wenn ich die datei ohne <pre></pre> ausführe zeigt er mir fogenes an der code sieht wie so aus: PHP-Code:
<? error_reporting(E_ALL);
//PSS code module (Page-Creator-Code) //code : htc:werte:
function html_table_create($t_name,$td_n,$tr_n,$t_width,$t_height,$t_border,$t_cspaceing,$t_cpadding,$td_align,$td_valign,$td_width) { //tabelletags werden definiert $table = ""; $table_tag = "<table width='".$t_width."' height'".$t_height." border='".$t_border."' cellpadding='".$t_cspaceing."' cellspacing='".$t_cpadding."'>"; $table_tag_a = array($table_tag,"</table>"); $td_tag = "<td width='".$td_width." align='".$td_align."' valign='".$td_valign."'>"; $td_tag_a = array($td_tag,"</td>"); $tr_tag_a = array("<tr>","</tr>"); //listet td un tr auf for($i=0; $i < $tr_n; $i++){ for($k=1; $k < $td_n; $k++){ $inhalt = "{".$t_name."_".$k."}"; $kn = $td_n + 1; //verbindet den tr tag mit den td tags $tdtr_complete[0] = $tr_tag_a[0]; $tdtr_complete[$k] = $td_tag_a[0]."<br />".$inhalt."<br />".$td_tag_a[1]; $tdtr_complete[$kn] = $tr_tag_a[1]; } foreach($tdtr_complete[] as $tdtr_elemts){ $table_complete[] = $tdtr_elemts; $table_count = $table_complete[$i]; foreach($table_count as $table_elements){ //fügt die tabelle zusammen $table .= $table_tag_a[0]; $table .= $table_elements; $table .= $table_tag_a[1]; } } } $table_vo =""; $table_vo .= "<pre>"; $table_vo .= print_r($table); $table_vo .= "</pre>"; return $table_vo; } echo html_table_create("test","2","0","200","100","0","0","0","center","top","50%"); echo "<pre>"; print_r(html_table_create("test","2","0","200","100","0","0","0","center","top","50%")); echo "</pre>"; ?> danke im vorraus.
p.s.  diese frage wurde noch nicht beantwortet http://www.php-info.org/viewtopic.php?t=160&highlight=
greetz noxX
Geändert von Jann Hendrik (05.06.2007 um 07:59 Uhr).
Grund: php-info.org - l ink entfernt.
| |
| |
21.04.2005, 20:34
| Nach oben
#2 | | Gast | Problem bei erstellung einer tabelle mit function und array
ich habe das script jetzt geändert
jetzt werden mir keine 1 mehr gezeigt sondern nur Array
was ist jetzt falsch? PHP-Code:
<? error_reporting(E_ALL);
//PSS code module (Page-Creator-Code) //code : htc:werte:
function html_table_create($t_name,$td_n,$tr_n,$t_width,$t_height,$t_border,$t_cspaceing,$t_cpadding,$td_align,$td_valign,$td_width) { //tabelletags werden definiert $table = ""; $table_tag = "<table width='".$t_width."' height'".$t_height." border='".$t_border."' cellpadding='".$t_cspaceing."' cellspacing='".$t_cpadding."'>"; $table_tag_a = array($table_tag,"</table>"); $td_tag = "<td width='".$td_width." align='".$td_align."' valign='".$td_valign."'>"; $td_tag_a = array($td_tag,"</td>"); $tr_tag_a = array("<tr>","</tr>"); //listet td un tr auf for($i=0; $i < $tr_n; $i++){ for($k=1; $k < $td_n; $k++){ $inhalt = "{".$t_name."_".$k."}"; $kn = $td_n + 1; //verbindet den tr tag mit den td tags $tdtr_complete[0] = $tr_tag_a[0]; $tdtr_complete[$k] = $td_tag_a[0]."<br />".$inhalt."<br />".$td_tag_a[1]; $tdtr_complete[$kn] = $tr_tag_a[1]; } //foreach($tdtr_complete[] as $tdtr_elemts){ $table_complete[] = $tdtr_complete; $table_count = $table_complete[$i]; //foreach($table_count as $table_elements){ //fügt die tabelle zusammen
//} //} } //$table_vo =""; //$table_vo .= "<pre>"; //$table_vo .= print_r($table); //$table_vo .= "</pre>"; $table .= $table_tag_a[0]; $table .= $table_count; $table .= $table_tag_a[1]; return $table; } echo html_table_create("test","100","100","200","100","0","0","0","center","top","50%");
?> | |
| |
21.04.2005, 21:23
| Nach oben
#3 | | Benjamin Klaile
Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.471
| Problem bei erstellung einer tabelle mit function und array
Juhu,
hab gerade mal etwas rumgespielt. Eventuell fällt es Dir jetzt leichter PHP-Code: <?php error_reporting(E_ALL);
function html_table_create($_tableInfos, $_content, $_titles) { /** * Überprüfung, ob die die Anzahl Spalten und Zeilen mit den Vorgaben übereinstimmt. * Ist das nicht der Fall, so wird die Funktion verlassen. */ if( !(array_key_exists('rows', $_tableInfos) && count($_content) == $_tableInfos['rows']) || !(array_key_exists('cols', $_tableInfos) && count($_titles) == $_tableInfos['cols']) ) { return false; } /** * Variable, die mit dem zurückzugebenen HTML-Code gefüllt wird. */ $table = ''; /** * Tabellenkopf erstellen */ $table .= sprintf('<table width="%s" height="%s" border="%s">' . "\n", $_tableInfos['width'], $_tableInfos['height'], $_tableInfos['border']); /** * Spaltentitel einfügen */ for($i = 0; $i < $_tableInfos['cols']; $i++) { $table .= sprintf('<th>%s</th>' . "\n", $_titles[$i]); } /** * Inhalte in die Tabellenzellen einfügen */ /** * Zählvariable für die Spalten */ $j = 0; /** * Erster Zeile beginnen */ $table .= '<tr>' . "\n"; for($i = 0; $i < $_tableInfos['rows']; $i++, $j++) { if(($j % $_tableInfos['cols']) == 0 || $i != 0) { $j = 0; $table .= '</tr><tr>' . "\n"; } $table .= sprintf('<td>%s</td><td>%s</td>' . "\n", $_content[$i][0], $_content[$i][1]); } /** * Letzte Zeile abschließen und Tabelle beenden */ $table .= '</tr>' . "\n"; $table .= '</table>' . "\n"; return $table; } /** * Kleine Hilfsfunktion, die Arrays formatiert ausgibt */ function print_array($array) { if(!is_array($array)) { echo 'Kein Array.'; return false; } echo '<pre>'; print_r($array); echo '</pre>'; } /** * Die Arrays enthalten die Informationen, die in der Funktion dazu verwendet werden, die * Tabelle zusammenzustellen. */ $_tableInfos = array( 'width' => '600px', 'height' => '500px', 'cols' => 2, 'rows' => 3, 'border' => 1 ); $_content = array( array('Ben', 'Remagen'), array('Jann Hendrik', 'Wildeshausen'), array('Orolhawion', 'Siegburg') ); $_titles = array( 'Name', 'Wohnort' ); /** * Wenn die Überprüfung zu Beginn der Funktion erfolgreich ist wird die HTML-Tabelle ausgegeben, * ansonsten kommt eine Fehlermeldung. */ if($htmlTable = html_table_create($_tableInfos, $_content, $_titles)) { echo $htmlTable; } else { print_array($_tableInfos); print_array($_content); print_array($_titles); }
?> Hoffe, dass Dir das weiterhilft. Wenigstens so etwas vom Prinzip her.
Ich nutze die Arrays, damit ich nicht irgendwann mal 45 Übergabeparameter habe. Verständlich? Jou, oder?
Ergänzend dazu - ich weiß nicht, wie Deine Kenntnisse sind: [PHP] Was sind eigentlich Arrays?
Grüße Ben ..
Geändert von Jann Hendrik (05.06.2007 um 08:00 Uhr).
|
| |
21.04.2005, 22:21
| Nach oben
#4 | | Gast | Problem bei erstellung einer tabelle mit function und array
danke
es hilft mir ech weiter^^
ich werde mein ergebnis mitteilen^^
danke
aber eine frage habe ich noch, weil ich möchte das voll automatisch laufen lassen:
wie kann ich bei folgenem code, soviele arrays einfgen lassen wie rows bzw cols vorhanden sind? PHP-Code: <?php */ $_tableInfos = array( 'width' => '600px', 'height' => '500px', 'cols' => 2, 'rows' => 3, 'border' => 1 ); $_content = array( array('Ben', 'Remagen'), array('Jann Hendrik', 'Wildeshausen'), array('Orolhawion', 'Siegburg') ); $_titles = array( 'Name', 'Wohnort' ); ?> danke im vorraus
greetz noxX
?>[/php]
| |
| |
21.04.2005, 23:08
| Nach oben
#5 | | Benjamin Klaile
Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.471
| Problem bei erstellung einer tabelle mit function und array
Was meinst Du jetzt genau?
|
| |
22.04.2005, 15:22
| Nach oben
#6 | | Gast | Problem bei erstellung einer tabelle mit function und array
bein $_content wollte ich die dateien variabel einfügen. also das jedes feld ausgefüllt ist, zum beispiel bei 10x10 feldern das bei den 10 feldern jeweils was eingefügt werden kann.
greetz noxx
| |
| |
22.04.2005, 15:47
| Nach oben
#7 | | Benjamin Klaile
Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.471
| Problem bei erstellung einer tabelle mit function und array
Hm,
was hindert Dich daran das einfach zu tun?
Probier mal etwas rum und poste Deine Versuche, falls Du nicht zum Ergebnis kommen solltest ..
|
| | |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | | |
Forumregeln
| Es ist dir nicht erlaubt, neue Themen zu verfassen. Es ist dir nicht erlaubt, auf Beiträge zu antworten. Es ist dir nicht erlaubt, Anhänge hochzuladen. Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten. HTML-Code ist aus. | | | Alle Zeitangaben in WEZ +2. Es ist jetzt 16:16 Uhr.
|