SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

 
 
Themen-Optionen Ansicht
  #1  
Alt 06.04.2009, 16:12:14
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
dynamische Tabelle oder dynamische DIV's

Es kommt immer mal wieder bei einigen die Frage auf, wie erstelle ich eine Tabelle dynamisch, wenn ich nicht weiß, wie viele Einträge später vorhanden sein werden oder zum Beispiel die Menge der Einträge nicht mit der Menge der benötigten Tabellenfelder überein stimmt.Aus meiner Sicht gibt es 2. Möglichkeiten.
  1. als dynamische Tabelle
  2. als tabellarische Anzeige per DIV
Aus diesem Grund hab ich mal 2 kleine Scripte geschrieben, damit nicht immer wieder die gleichen Fragen zum selben Thema kommen.
Eine dynamische Tabelle
PHP-Code:
<?php
//dynamische Tabelle
$testdata = array('1','2','3','4','5','6','7','8','9','10','11','12','13');

//Menge, die benötigt wird um die Schleife für die Tabelle durchlaufen zu können
$mengData count($testdata);

//Anzahl der gewünschten Spalten
$maxSpalten 3;

//berechnen der benötigten Zeilenmenge
$maxZeilen $mengData/$maxSpalten;

//testen ob es eine Fließkommazahl ist und ggf. aufrunden
if(is_float($maxZeilen)) {
    
$check =  round($maxZeilen,0);
    if(
$check $maxZeilen) {
        
$maxZeilen $check+1;
    } else {
        
$maxZeilen $check;
    }
}

//Menge der zusätzlich benötigten TD's
$minFelder $maxSpalten*$maxZeilen-$mengData;

//Startwert für die einzelnen Zeilen der Tabelle
$numFeld 1;

//Ausgabe der Tabelle
echo '<table><tr>';
for(
$i=0;$i<$mengData;$i++) {
    echo 
'<td>'$testdata[$i].'</td>'."\n";
    
//Ausgabe einer neuen Zeile, wenn die maximale Spaltenmenge erreicht ist
    //und noch nicht alle Elemente ausgegeben wurden
    
if(($numFeld === $maxSpalten) and (($i+1)/$numFeld $maxZeilen)){
        echo 
'</tr><tr>'."\n";
        
$numFeld 0;
    }
    
$numFeld++;
}
//zusatzliche TD's schreiben, wenn die Zeile nicht vollständig gefüllt ist
if($minFelder >0) {
    for(
$zus=0;$zus<$minFelder;$zus++) {
        echo 
'<td></td>'."\n";
    }
}
echo 
'</tr></table>';
?>
dynamische, tabellarische Übersicht per DIV
PHP-Code:
<?php
//dynamische tabellarische Anzeige per DIV
$testdata = array('1','2','3','4','5','6','7','8','9','10','11','12','13');

//Menge, die benötigt wird um die Schleife für die Tabelle durchlaufen zu können
$mengData count($testdata);

//Anzahl der gewünschten Spalten
$maxSpalten 3;

//berechnen der benötigten Zeilenmenge
$maxZeilen $mengData/$maxSpalten;

//testen ob es eine Fließkommazahl ist und ggf. aufrunden
if(is_float($maxZeilen)) {
    
$check =  round($maxZeilen,0);
    if(
$check $maxZeilen) {
        
$maxZeilen $check+1;
    } else {
        
$maxZeilen $check;
    }
}

//Startwert für die einzelnen Zeilen der Tabelle
$numFeld 1;

//Ausgabe der taballarischen Übersicht mittels DIV
echo '<div style="width:460px;">';  //die Breite muß hier der Menge der gewünschten Spalten
//und deren Breite angepaßt werden
for($i=0;$i<$mengData;$i++) {
    echo 
'<div style="float:left; width:150px; height:100px;">'$testdata[$i].'</div>'."\n";
    
//Ausgabe einer neuen Zeile, wenn die maximale Spaltenmenge erreicht ist
    //und noch nicht alle Elemente ausgegeben wurden
    
if(($numFeld === $maxSpalten) and (($i+1)/$numFeld $maxZeilen)){
        echo 
'<div style="clear:both;"></div>'."\n";
        
$numFeld 0;
    }
    
$numFeld++;
}
//zusätzlich zum beenden des DIV wird noch ein zusätzliches DIV davor gesetzt,
//damit das float unterbrochen wird.
echo '<div style="clear:both;"></div></div>';
?>
Beachtet bei den DIV's, daß die jeweiligen Breiten zueinander passen, damit alles auch inneinander paßt.

Geändert von urvater (06.04.2009 um 16:20:50 Uhr) Grund: auf maxZeilen musste doch erweitert werden
Mit Zitat antworten
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP / MYSQL dynamische Tabelle Gonzo28 PHP Grundlagen 9 18.02.2009 18:29:07
Dynamische Tabelle erzeugen hmp PHP Grundlagen 5 06.01.2009 16:12:41
Problem dynamische Tabelle aber wie? Pixelschubser PHP für Fortgeschrittene und Experten 1 08.10.2005 18:16:24
Datensatz -> dynamische Tabelle Doje PHP Grundlagen 6 04.04.2005 11:37:29
Dynamische Tabelle mit PHP? Ernesto PHP für Fortgeschrittene und Experten 1 02.10.2002 09:47:52


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:43:13 Uhr.


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


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt