table picture php
cyrus
- php
Tachchen!
Nach relativ erfolgloser Internetrecherche hab ich folgende Frage mal:
will in php nen ordner mit thumbs anzeigen. der ordner wird ausgelesen, thums werden angezeigt. aber leider nur nacheinander per <a href> und <br>.
wollt nu mal probieren, das ganze in einen table rein zu laden. aber leider will er die thumbs irgendwie nicht nebeneinander setzen. jedenfalls nicht in einer z.B. 4x4 matrix. html ist das ja kein problem, will es aber eher dynamisch lösen.
hat jmd nen kleinen codeschnipsel für mich, welcher mir weiter helfen könnte?
mein folgendes script sieht so aus:
$orig = "about/pics/";
$ordner = "about/thumbs/";
$handle = opendir($ordner);
while ($file = readdir ($handle)) {
if($file != "." && $file != "..") {
if(is_dir($ordner."/".$file)) {
echo "/".$file."<br/>";
} else {
$compl = $ordner."".$file;
echo "<a href=".$orig."".$file." target=_blank><img src="".$compl."" border=0></a><br>";
}
}
}
closedir($handle);
hab was gelesen, dass es vielleicht in ein array musss oder evtl. mit der i-variable zu tun hat???
help, please!
:-)
mfg andré
Hello,
*brrr* grausliges Durcheinander.
Ich schreibs noch einmal lose, dann mach ich einen Feature-Artikel drau. Der wird wohl hoffentlich dann auch nicht sooo lang und dafür fertig...
Räum Dein Script auf und halte eine Ordnung ein:
Solange die auszugebende Datenmenge nicht den Speicher sprengt, werden alle Ausgabe-Strings vorab berechnet und erst im HTML-Teil ausgegeben. Vorher findet KEINERLEI Ausgabe statt.
Im HTML-Teil stehen keine Bedingungen mehr, bestfalls speziell definierte Funktionen.
Beispiel:
<tr>
<td class="tabelle"><?php echo $zelle[1][1]; ?></td>
<td class="tabelle"><?php echo $zelle[1][2]; ?></td>
</tr>
<tr>
<td class="tabelle"><?php echo $zelle[2][1]; ?></td>
<td class="tabelle"><?php echo $zelle[2][2]; ?></td>
</tr>
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hello,
*brrr* grausliges Durcheinander.
ähm.. ja. sorry. meine restlichen seiten sehen etwas besser aus *g*
war nur das relevante script, was ich raus genommen habe.
trotzdem hilft mir das -leider- irgendwie nicht weiter.
habe gelesen, dass man arrays einsetzen kann, aber keinen blassen, worauf ich das beziehen soll.
nehme die thumbs auch nicht aus einer database. arbeite größtenteils mit files (weiss, sicherheitsrisiko, aber ich hab erst vor 14 tagen mit php angefangen -15 stunden am tag *g*- und bin in der extremlernphase, wo man wirklich alles probiert).
also wäre ein quelltext einer php file was schickes. habe schon diverse "bilderscripts" durchsucht, aber dort sind immer so viele variablen und includes verwendet, dass man gar ni mehr durchsieht.
mfg andré
... und halte eine Ordnung ein:
Ich hätte da noch eine Ergänzung:
Hello,
Ich hätte da noch eine Ergänzung:
- Usereingaben ggf. entmagicquoten
Das sollte in der Sektion "Datenübernahme" passieren
- mit Rowdaten arbeiten
Die Dinger heißen Raw-Daten für "ungekocht"
- erst dann quotieren/entitieren wenn die Daten zum Ausgabemedium (Seite/Datenbank) gesendet werden
Jau. Und in Datenbanken und Files auch nur Raw abspeichern, wenn nicht besondere Gründe vorliegen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi,
*brrr* grausliges Durcheinander.
<tr>
<td class="tabelle"><?php echo $zelle[1][1]; ?></td>
<td class="tabelle"><?php echo $zelle[1][2]; ?></td>
</tr>
<tr>
<td class="tabelle"><?php echo $zelle[2][1]; ?></td>
<td class="tabelle"><?php echo $zelle[2][2]; ?></td>
</tr>
*brrr* grausliges Klassenrumwerfen.
Wenn die Klasse auf alle Zellen der Tabelle angewendet werden soll, sollte die Tabelle die Klasse (oder ne ID) bekommen.
Soll es auf viele, aber nicht alle, Zeilen angewendet werden, bietet sich die Verwendung von mehreren tbody (dann ggf. mit einer Klasse/ID pro tbody) bzw. thead, tfoot, tbody (dann ganz ohne Klassen) an.
Sollte es für nur eine Zeile angewendet werden, sollte die Zeile die Klasse bekommen.
Den Rest regelt der Nachfahrenselektor.
cu,
Andreas
Hello,
so wirklich in der Praxis hast Du noch nichts mit (teilweise gewachsenen) CMS zu tun gehabt, oder? :-)
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi,
so wirklich in der Praxis hast Du noch nichts mit (teilweise gewachsenen) CMS zu tun gehabt, oder? :-)
Soll ein schlecht geschriebenes CMS jetzt als Ausrede für miserablen Code dienen?
Und was hat ein CMS mit dem Problem hier zu tun?
cu,
Andreas
So, ich habs:
<?
$pfad = 'about/pics/';
$tpfad = 'about/thumbs/';
$bilder=array();
$handle=opendir($pfad);
while($file=readdir($handle))
{
if($file!='.' && $file!='..') {
array_push($bilder, $file); }
}
$thumbs=array();
$handle=opendir($tpfad);
while($file=readdir($handle))
{
if($file!='.' && $file!='..') {
array_push($thumbs, $file); }
}
sort($thumbs);
sort($bilder);
closedir($handle);
echo '<table width=98% height=98%>';
$count=0;
$i=0;
$j=0;
while ($count < 4 ) {
echo '<tr align=center><td>
<a href='.$pfad.$bilder[$j++].' target=_blank><img src="'.$tpfad.$thumbs[$i++].'" border="1"></a></td><td>
<a href='.$pfad.$bilder[$j++].' target=_blank><img src="'.$tpfad.$thumbs[$i++].'" border="1"></a></td><td>
<a href='.$pfad.$bilder[$j++].' target=_blank><img src="'.$tpfad.$thumbs[$i++].'" border="1"></a></td><td>
<a href='.$pfad.$bilder[$j++].' target=_blank><img src="'.$tpfad.$thumbs[$i++].'" border="1"></a></td></tr>';
$count = $count + 1;
};
echo '</table>';
?>
viel spass damit!