Dynamische Tabelle - dynamisch farbige Zeilen

Fragen zu PHP.
Fragen zu we:Tags bitte im Forum webEdition Templates erstellen (we:Tags) posten.
chw
Senior Member
Beiträge: 164
Registriert: Do 1. Jan 1970, 02:00
Kontaktdaten:

Dynamische Tabelle - dynamisch farbige Zeilen

Beitragvon chw » Fr 5. Feb 2010, 13:32

Hallo,

ich habe mit dem DB-/Objektimodul eine kleine Datenbank mit technischen Daten verschiedener Geräte gebaut. Die Daten werden in einer Tabelle ausgegeben. es werden aber nur die Zeilen angezeigt, in denen auch Informationen stehen. Wegen der Übersichtlichkeit möchte ich die Zeilenfarbe im Wechsel ändern (zwei Farben insgesamt). Ich habe viele viele PHP-Codes gefunden mit denen es funktioniert, wenn die Reihenfolge immer die selbe ist. Bei wechselnder Reihenfolge leider aber noch nichts.
Hat jemand eine Idee, oder geht das überhaupt nicht?
Anbei noch ein Teil der jetzigen Tabelle:

Code: Alles auswählen

<table border="0">
<b><font size="2">Technische Daten der <we:field name="Hersteller" type ="text" /> <we:field name="Modell" type ="text" />:</font></b><br><br>
<we:ifFieldNotEmpty match="Hersteller"><tr valign="top" height="2"><td>Hersteller: </td><td><we:field name="Hersteller" type ="text" /></td></tr></we:ifFieldNotEmpty>
<we:ifFieldNotEmpty match="Modell"><tr valign="top" height="25"><td>Modell (Bezeichnung): </td><td><we:field name="Modell" type ="text" /></td></tr></we:ifFieldNotEmpty>
.....
Vielen Dank
Christian

Liquid
Senior Member
Beiträge: 1172
Registriert: Do 8. Jan 2004, 12:31
Wohnort: Karlsruhe

Re: Dynamische Tabelle - dynamisch farbige Zeilen

Beitragvon Liquid » Fr 5. Feb 2010, 13:38

Das geht ganz einfach mit WE Boardmitteln:

Code: Alles auswählen

<we:listview type="object">
<table>
<we:repeat>
  <we:ifPosition type="listview" position="odd">
         <tr class="farbe1">
    <we:else />
         <tr class="farbe2">
   </we:ifPosition>
<td><we:field name="Title" alt="we_path" hyperlink="true"/></td>
</tR>
</we:repeat>
</we:listview>
Relevant ist das we:ifPosition
Gruß Liquid

we:willRockYou
Senior Member
Beiträge: 919
Registriert: Fr 22. Mai 2009, 21:40
Wohnort: Berlin
Kontaktdaten:

Re: Dynamische Tabelle - dynamisch farbige Zeilen

Beitragvon we:willRockYou » Fr 5. Feb 2010, 13:40

Ich sehe leider nicht wo in Deinem Code-Beispiel irgendwelche Farben definiert sind.

Aber generell solltest Du hiermit was machen können:

Code: Alles auswählen

<tr class="farbe<?=($counter++%2==0?1:2)?>">
Sollte abwechselnd die Klassen "farbe1" und "farbe2" vergeben.

@Liquid Dabei werden aber keine leeren Zeilen berücksichtigt. :)
EOF; //totally retired

Liquid
Senior Member
Beiträge: 1172
Registriert: Do 8. Jan 2004, 12:31
Wohnort: Karlsruhe

Re: Dynamische Tabelle - dynamisch farbige Zeilen

Beitragvon Liquid » Fr 5. Feb 2010, 13:49

@we:willRockYou: hmm...stimmt schon, aber wenn er die Zeilen eh mit we:ifFieldNotEmpty abfrägt sollte es ja keine Rolle spielen
Allerdings frag ich mich ob das Konstrukt
<we:listview type="object">
<table>
<we:repeat>
<we:ifFieldNotEmpty match="Title">
<we:ifPosition type="listview" position="odd">
<tr class="farbe1">
<we:else />
<tr class="farbe2">
</we:ifPosition>
<td><we:field name="Title" alt="we_path" hyperlink="true"/></td>
</tr>
</we:ifFieldNotEmpty>
</we:repeat>
</we:listview>
funktioniert.
Und mal ganz davon abgesehen gefällt mir dein Schnipsel besser ;-)
Gruß Liquid

we:willRockYou
Senior Member
Beiträge: 919
Registriert: Fr 22. Mai 2009, 21:40
Wohnort: Berlin
Kontaktdaten:

Re: Dynamische Tabelle - dynamisch farbige Zeilen

Beitragvon we:willRockYou » Fr 5. Feb 2010, 13:59

Liquid hat geschrieben:aber wenn er die Zeilen eh mit we:ifFieldNotEmpty abfrägt sollte es ja keine Rolle spielen
Hmm, nee. Das ifPosition bezieht sich ja auf die absolute Position im Listview, unabhängig davon ob die Zeile nun ausgegben oder per ifFieldNotEmpty gefiltert wird. :)
Das würde so nur funktionieren wenn man das Listview schon von vornherein per Condition filtert.
EOF; //totally retired

e_herrmann
Senior Member
Beiträge: 1319
Registriert: Do 22. Mai 2003, 23:25

Re: Dynamische Tabelle - dynamisch farbige Zeilen

Beitragvon e_herrmann » Fr 5. Feb 2010, 14:05

Hi,
ich glaube da geht nur der Counter. Wenn ich das richtig sehe, möchte er für jedes Feld eine extra Zeile ausgeben und die nur wenn das Feld nicht leer ist. Das ist immer die gleiche Position im Listview.

Grüße Elko
Elko Herrmann
komplexx | internet.fotografie
web: http://www.komplexx.de

chw
Senior Member
Beiträge: 164
Registriert: Do 1. Jan 1970, 02:00
Kontaktdaten:

Re: Dynamische Tabelle - dynamisch farbige Zeilen

Beitragvon chw » Fr 5. Feb 2010, 14:08

Hallo Euch Beiden,

erstmal vielen Dank für die Hilfe!
Ich habe den Teil:

Code: Alles auswählen

class="farbe<?=($counter++%2==0?1:2)?>

in den Tag <tr> eingebaut und folgendes in die CCS datei eingetragen:

Code: Alles auswählen

farbe {
	1:#DDDDDD;
	2:#EEEEEE;
}
Entweder stehe ich total auf dem Schlauch oder ich habe gar keine Ahnung - wahrscheinlich ist es so. Wo muss ich die Farbe eintragen?

Viele Grüße
Christian

we:willRockYou
Senior Member
Beiträge: 919
Registriert: Fr 22. Mai 2009, 21:40
Wohnort: Berlin
Kontaktdaten:

Re: Dynamische Tabelle - dynamisch farbige Zeilen

Beitragvon we:willRockYou » Fr 5. Feb 2010, 14:10

Na, fast. :)

Code: Alles auswählen

.farbe1 {
   background:#DDD;
}

.farbe2 {
   background:#EEE;
}
EOF; //totally retired

chw
Senior Member
Beiträge: 164
Registriert: Do 1. Jan 1970, 02:00
Kontaktdaten:

Re: Dynamische Tabelle - dynamisch farbige Zeilen

Beitragvon chw » Fr 5. Feb 2010, 14:15

Super Daniel,

wir können das Thema beenden, funktionert einwandfrei!

Vielen Dank und schönes Wochenenden allen Mitwirkenden
Christian

Liquid
Senior Member
Beiträge: 1172
Registriert: Do 8. Jan 2004, 12:31
Wohnort: Karlsruhe

Re: Dynamische Tabelle - dynamisch farbige Zeilen

Beitragvon Liquid » Fr 5. Feb 2010, 14:18

we:willRockYou hat geschrieben:
Liquid hat geschrieben:aber wenn er die Zeilen eh mit we:ifFieldNotEmpty abfrägt sollte es ja keine Rolle spielen
Hmm, nee. Das ifPosition bezieht sich ja auf die absolute Position im Listview, unabhängig davon ob die Zeile nun ausgegben oder per ifFieldNotEmpty gefiltert wird. :)
Das würde so nur funktionieren wenn man das Listview schon von vornherein per Condition filtert.
Okay...ich geb mich geschlagen, das klingt einleuchtend :idea:
Gruß Liquid


Zurück zu „PHP“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste