php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.01.2012, 12:43  
Neuer Benutzer
 
Registriert seit: 11.01.2012
Beiträge: 7
PHP-Kenntnisse:
Anfänger
peter8500 befindet sich auf einem aufstrebenden Ast
Standard Tabelle wird nicht richtig ausgegeben

Hallo! Hab ein Problem. Ich muss ein Verzeichnis auslesen und diese in einer klassischen HTML-Tabelle anzeigen lassen.

Funktioniert soweit auch. Allerdings krieg ich es nicht gebacken, das die Ansicht in Form von einer klassischen Tabellenausgabe dargestellt wird. Die TD wird immer unterhalb des Heads seitlich dargestellt.

Hat jemand eine Idee?

PHP-Code:

<?php

class LimitRecursiveIteratorIterator extends RecursiveIteratorIterator {

    protected 
$depth_limit;

    public function 
__construct($it$mode RecursiveIteratorIterator::CHILD_FIRST$depth_limit = -1) {
        
parent::__construct($it$mode);
        
$this->depth_limit $depth_limit;
    }

    public function 
next() {
        
parent::next();
        if (
$this->getDepth() == $this->depth_limit) {
            while (
$this->getSubIterator()->valid())
                
$this->getSubIterator()->next();
            
parent::next();
        }
    }

}

class 
DirectoriesOnlyIterator extends FilterIterator implements RecursiveIterator {

    public function 
__construct($path) {
        
parent::__construct(new RecursiveDirectoryIterator($path));
    }

    public function 
accept() {
        return 
$this->getInnerIterator()->hasChildren();
    }

    public function 
hasChildren() {
        return 
$this->getInnerIterator()->hasChildren();
    }

    public function 
getChildren() {
        return new 
self($this->getInnerIterator()->getPathname());
    }

}

$basedir '.';
$max_depth 3;
$mode RecursiveIteratorIterator::SELF_FIRST;
$it = new LimitRecursiveIteratorIterator(new DirectoriesOnlyIterator($basedir), $mode$max_depth);
print 
"Ausgabe Dir";
?>

<table border="1">

<?php

foreach ($it as $key => $value) {
    if (
$it->getDepth() == 1) {
        
$ausgabe = (is_array($value)) ? $key $value;
        echo 
"<tr><th>" substr(strrchr($ausgabe"/"), 1) . "</th></tr>";
    } elseif (
$it->getDepth() == 2) {
        
$ausgabe = (is_array($value)) ? $key $value;
        echo 
"<td>" substr(strrchr($ausgabe"/"), 1) . "</td>";
    }
}
?>

</table>

Wenn ich die Tabellenausgabe ändere
PHP-Code:

foreach ($it as $key => $value)
{
if (
$it->getDepth() ==1) {
     
$ausgabe    = (is_array$value )) ? $key $value;
     echo 
"<tr>";
     echo 
"<th>" substr(strrchr($ausgabe"/"), 1) . "</th>";
     echo 
"</tr>";

} elseif (
$it->getDepth() ==2)  {
     
$ausgabe    = (is_array$value )) ? $key $value;
     
     echo 
"<tr><td>" substr(strrchr($ausgabe"/"), 1) . "</td></tr>";
    
}

Dann steht die einzelnen THs mit den TDs generell untereinander...
Vielen Dank!

Peter

Geändert von peter8500 (23.01.2012 um 13:07 Uhr).
peter8500 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.01.2012, 12:46  
meikel
Gast
 
Beiträge: n/a
Standard

http://de.selfhtml.org/html/tabellen/aufbau.htm
  Mit Zitat antworten
Alt 23.01.2012, 12:48  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

...willst Du die Tabelle mit </table> nicht auch wieder schließen?
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline   Mit Zitat antworten
Alt 23.01.2012, 13:04  
Neuer Benutzer
 
Registriert seit: 11.01.2012
Beiträge: 7
PHP-Kenntnisse:
Anfänger
peter8500 befindet sich auf einem aufstrebenden Ast
Standard

Sorry das ging beim Kopieren unter... war natürlich geschlossen. Geht dennoch nicht
peter8500 ist offline   Mit Zitat antworten
Alt 23.01.2012, 13:07  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.631
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Zitat:
Zitat von peter8500 Beitrag anzeigen
Geht dennoch nicht
Dann guck dir den Link von meikel an. Vergleich mal den Aufbau der Tabellen dort mit deiner, dann sollte dir der Fehler auffallen.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 23.01.2012, 13:07  
Neuer Benutzer
 
Registriert seit: 11.01.2012
Beiträge: 7
PHP-Kenntnisse:
Anfänger
peter8500 befindet sich auf einem aufstrebenden Ast
Standard


Vielen Dank für den Link. Komme aber auch nicht weiter ((
peter8500 ist offline   Mit Zitat antworten
Alt 23.01.2012, 13:09  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Dann guck mal speziell nach <tr>
fab ist offline   Mit Zitat antworten
Alt 23.01.2012, 13:12  
Neuer Benutzer
 
Registriert seit: 11.01.2012
Beiträge: 7
PHP-Kenntnisse:
Anfänger
peter8500 befindet sich auf einem aufstrebenden Ast
Standard

Danke für Eure Tips. Habs jetzt modifiziert

PHP-Code:
<table border="1">

<?php 

foreach ($it as $key => $value)
{
if (
$it->getDepth() ==1) {
     
$ausgabe    = (is_array$value )) ? $key $value;
     echo 
"<tr>";
     echo 
"<th>" substr(strrchr($ausgabe"/"), 1) . "</th>";
     echo 
"</tr>";

} elseif (
$it->getDepth() ==2)  {
     
$ausgabe    = (is_array$value )) ? $key $value;
     echo 
"<tr>";
     echo 
"<td>" substr(strrchr($ausgabe"/"), 1) . "</td>";
     echo 
"</tr>";
}
}

?>

</table>
Aber jetzt steht alles untereinander...
peter8500 ist offline   Mit Zitat antworten
Alt 23.01.2012, 13:14  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.631
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Ich spiel mal den Vorleser:

<tr> öffnet eine Zeile, </tr> schließt eine Zeile.

Was passiert also wnen du eine Zeile öffnest, eine Spalte ausgibst (<td>) und danach die Zeile direkt wieder schließt?

Richtig: du hast nur einspaltige Zeilen untereinander.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 23.01.2012, 13:14  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Wenn das nicht das ist, was du wolltest, dann fang nochmal ganz von vorne an und erkläre erstmal, was du überhaupt erreichen willst. Du hast in der Kopfzeile auch nur eine Spalte.
fab ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Sonderzeichen werden nicht richtig ausgegeben franc PHP Einsteiger 9 14.06.2011 17:22
[Erledigt] Ausgabe einer MySQL Tabelle umdrehen Index PHP Einsteiger 11 22.01.2011 19:42
Scriptsuche Daten aus HTML Tabelle A in HTML Tabelle B einfügen headbannger83 Scriptbörse 1 10.01.2011 15:39
HTML Tabelle Werte ändern -> direkt mit AJAX speichern Atikos JavaScript, Ajax und mehr 3 31.12.2010 01:15
PHP Script wird nicht richtig ausgegeben Ribase HTML, Usability und Barrierefreiheit 8 21.12.2010 13:32
Design einer DB für mehrsprachigkeit Squall Software-Design 35 08.10.2010 13:09
Datum wird richtig ausgegeben aber falsch in DB geschrieben marcrizzo PHP Tipps 2010 5 03.05.2010 21:00
[Erledigt] Intertabellarische Berechnungen, wie? dave303 Datenbanken 13 05.03.2010 11:58
tabelle in 3 Spalten richtig darstellen test022 PHP Tipps 2007 15 28.03.2007 15:38
Normalisierung einer chaotischen Tabelle maeck Datenbanken 10 12.12.2006 18:17
Zeilenanzahl einer tabelle mit WHERE aber ohne schleife? sovereign Datenbanken 13 17.04.2006 20:34
code-schnipsel -> tabelle richtig erstellen, aber wie? PHP Tipps 2005 1 08.05.2005 03:45
[HTML] Tabelle wird nicht richtig angezeigt HTML, Usability und Barrierefreiheit 14 02.03.2005 17:52
[Erledigt] Letzter Eintrag in einer Tabelle und Top Five einer Tabelle Datenbanken 2 27.09.2004 06:50
Tabelle ordnen und richtig anzeigen PHP Tipps 2004 3 12.09.2004 09:56


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:35 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum