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 > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 17.08.2008, 23:31:45
vamp vamp ist offline
Anfänger
 
Registriert seit: Aug 2008
Alter: 45
Beiträge: 1
ausgabe in mehreren Spalten (Schachbrett)

Hallo zusammen,

ich habe ein Problem und hoffe, dass ihr mir helfen könnte...

Zur Vorgeschichte:
Ich bastel an einer Webseite mit einem Templatesystem, so dass ich den Code vom Design komplett trennen kann...

Ich möchte nun eine Datenbankabfrage in einer Tabelle darstellen, allerdings in 4 Spalten also als eine art Schachbrett...

Ich habe einen Codeschnipsel im Internet gefunden der ansich sehr gut funktioniert,
der allerdings immernoch html tags enthält und das stört mich ein bisschen.

der code sieht wie folgt aus:

PHP-Code:
<?
    $result = mysql_query("SELECT * FROM " . TABLE_AVATARE . "");
    if (mysql_num_rows($result) !== 0) {

        $i=1;
        while($row2 = mysql_fetch_array($result)) {

            $color = ($i % 2) ? "#000000" : "#ffffff";

            if ($avatar_count==4) {
                $avatare .= "<tr>";
                $avatar_count = 0;
            }

                $template->variable(array(
                    "AVATAR_FILE" =>     $row2["avatar_datei"],
                    "BACKGROUND" =>     $color,
                    "AVATARPIC" =>         $row2["avatar_datei"],
                ));

                $avatare .= $template->parse("user/avatar_bit.tpl");

            $avatar_count++;

            if ($avatar_count==4) {
                $avatare .= "</tr>"; 
            }
            $avatare .= "</td>";
        $i++;
        }

        $anzahl = $i - 1;
        if ($anzahl % 4 != 0) {

            while($anzahl % 4 != 0){
                $color = ($anzahl % 2) ? "alt2" : "alt1";

                    $template->variable(array("AVATAR_FILE" => $row2["avatar_datei"], "BACKGROUND" => $color,));

                    $avatare .= $template->parse("user/avatar_empty_bit.tpl");

            $anzahl++;
            }
        }
    } 
        
?>
Funktioniert auch alles so wie ich es mir vorstelle....

mich stören allerdings die übrigen < td> und < tr > tags... den rest habe ich bereits in die tpl (html) dateien ($template->parse("user/avatar_empty_bit.tpl");) "ausgelagert.


kennt vielleicht einer eine Möglichkeit wo man php Code komplett von html trennen kann.

also kurz zusammengefasst:
- eine tabelle
- 4 spalten nebeneinander
- kein html im php code


Vielen Dank schon mal für eure hilfe !!!

Viele grüße
Markus
Mit Zitat antworten
  #2  
Alt 18.08.2008, 06:38:29
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: ausgabe in mehreren Spalten (Schachbrett)

Zitat:
kennt vielleicht einer eine Möglichkeit wo man php Code komplett von html trennen kann.
Nein, kenne ich nicht!
Wozu auch?
Siehe: http://www.bastian-frank.de/site/fro...t.php?idart=47
Mit Zitat antworten
  #3  
Alt 18.08.2008, 09:53:55
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
Trennung logik / anzeige

da gibt's eine reihe von möglichkeiten / ansätzen; theoretische grundlagen bei der wikipedia:

http://de.wikipedia.org/wiki/MVC
http://de.wikipedia.org/wiki/Template_Engine

die sache mit template engines in HTML/php ist jedoch ein glaubenskrieg wie DokuLeseHemmung schon andeutet.

du musst dein beispiel-skript im prinzip in zwei skripte aufteilen:

1. logik: hier findet die eigentliche "berechnung" statt: sql-abfrage und auswertung des ergebnisses. zusammenstellung der ausgabe-daten und speicherung in einem geeigneten container. übergabe des containers an die ausgabe.

2. ausgabe: enthält das HTML-markup und platzhalter für die ausgabe-daten, die aus dem übergebenen container extrahiert werden.

wenn die ausgabe weitestgehend "frei" von php ist, hast du die sache gut gemacht. das klappt allerdings (mit vertretbarem aufwand) nicht immer; manche ausgaben werden durch eine schleife generiert (template engines machen das auch nicht anders, eben nur in ihrer eigenen syntax).

cx
Mit Zitat antworten
  #4  
Alt 18.08.2008, 10:57:32
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
Template-Kritik

treffend beschrieben... ähnliche gedanken gingen mir auch irgendwann einmal durch den kopf. letztendlich leisten template engines wir smarty in erster linie die bereitstellung einer einheitlichen schnittstelle für die arbeit im team. ansonsten habe ich (für mich) festgestellt, dass man eher vom regen in die traufe kommt:

- man muss sich mit der syntax der engine vertraut machen
- man kann sich erst einmal nur im rahmen der engine-features bewegen
- man vertraut den kompetenzen anderer coder, vor allem in belangen der sicherheit
- man nimmt erhebliche performance-einbuszen in kauf (preg_xxx)

cx
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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
Suchen in mehreren Spalten und Ordnen der Ausgabe DanielSNRW PHP Grundlagen 7 19.01.2007 09:24:43
Update von mehreren Spalten Sarah19 MySQLi/PDO/(MySQL) 1 11.07.2006 19:56:43
Text suchen in mehreren Spalten gemeinsam sammelbar MySQLi/PDO/(MySQL) 1 05.12.2005 19:27:46
Ausgabe auf mehreren Seiten. Nicht Link zu jeder Seite, sondern mit [...] arbeiten? DieMilchMachts PHP Grundlagen 0 14.11.2005 20:45:44
spalten ausgabe joker MySQLi/PDO/(MySQL) 27 07.09.2003 13:43:29


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:10:58 Uhr.


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


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