Zeilen Dynamisch erzeugen!!
Jonny F.
- php
Hallo,
Ich habe folgendes vorhaben.
Ich kann zwischen 10 Kriterien wählen z. B. Fußball, Basketball, Tennis, ect.
und das aus einem Listenfeld, also
<select>
<option>basketball</option>
</select>
ect
Nun wenn ich jetzt Basketball auswähle soll eine Zelle generiert werden (mach ich jetzt mit onClick) mit der Hintergrundfareb blau.
Wenn ich nun Fußball auswähle soll die Ausgabe unter der ersten Ausgabe sprich Basketball erscheinen mit der Hintergrundfarbe grau.
Wie funktioniert es jetzt, angenommen ich nehm jetzt ganz unten einen Wert aus dem Listenfeld dann ist ja Logisch das er ganz oben dargestellt wird aber mit welcher Hintergrundfarbe, wenn ich jetzt für jede Auswahl eine Variable aufadier
also $zahl+1 und nun nach ungleich abfrage würde ich ja normalerweise bei jeder neuauswahl eine andere Farbe bekommen. So jetzt zu Praxis, bei mir haben die Zeilen aber eine feste anordnung sprich
Wenn ich aus der Liste Fußball auswähle
kommt hier die Zeile
Wenn ich nun Basketball auswähle
kommt hier die Zeile
Wenn ich nun Tennis auswähle
kommt hier die Zeile
Daswegen kann ich diese Methode nicht anwenden da wenn ich erst Fußball anklicke bekomme ich sagen wir jetzt blau, wenn ich nun Tennis auswähle dann halt weiß aber wenn ich nun Basketball auswähle erscheint er ja unter der Fußballzeile als Blau. Also hätte ich dann zwei mal untereinander die selbe Farbe :(
Ich hoffe ihr habt das soweit verstanden und könnt mir weiter helfen
In der Generierten Zeile steht dann der Name eine weitere Auswahl (Listenfeld) und ein Textfeld.
Danke im Vorraus.
Gruß Jonny F.
Hi!
Ich hoffe ich habe dich richtig verstanden: Du moechtest durch auswaehlen von Optionen eine Auflistung um jeweils eine Zeile erweitern und jede Zeile soll der Lesbarkeit halber eine andere Farbe bekommen - also abwechselnd blau, weiss, blau,...
Dein Problem: Du scheinst ja die Zeilen vorher erstellt und irgendwie ausgeblendet zu haben. Die nun eingeblendeten Zeilen bekommen nun also beim einblenden abwechselnd Farben zugeweisen - bloed wenn Zeile 3 zwischen 1 und 2 eingeblendet wird.
Du hast also ein schlechtes Konzept. Aendere das.
dazu waere interessant, warum du so ein Konzept gewaehlt hast. Mentan wuerde nur ein nachtraegliches Faerben aller angezeigter Zeilen den gewuenschten Effekt bringen.
Hallo,
geht es hier wirklich um PHP?
Das hier ist HTML:
<select>
<option>basketball</option>
</select>
ectNun wenn ich jetzt Basketball auswähle soll eine Zelle generiert werden (mach ich jetzt mit onClick) mit der Hintergrundfareb blau.
onClick ist Javascript
Du willst also ein Formular an ein PHP- Programm schicken, das soll die Seite verändert um eine Zeile an den Browser zurückgeben?
Dann muss PHP wissen, _was_ du ausgewählt hast. Mit <option>basketball</option> bekommt PHP keine Information.
Aber vom Prinzip kannst du den ausgewählten Wert nicht nur als HTML-Zeile anzeigen, sondern auch als <input type=hidden ...> ins Formular schreiben. Wenn im nächsten Durchgang ein anderer Ball gewählt wird, übermittelst du den und die bisherige Auswahl.
In welcher Reihenfolge du die Zeilen ausgibst, ist dir überlassen. Vielleicht chronologisch, die erste Wahl oben?
Kalle
<select>
<option>basketball</option>
</select>
ect
Ist mir bewusst aber die Funktionen in PHP bekommen ja den Wert aus diesen HTML LIstenfenfeld die durch den onClick von Javascript erhalten.
Du willst also ein Formular an ein PHP- Programm schicken, das soll die Seite verändert um eine Zeile an den Browser zurückgeben?
Dann muss PHP wissen, _was_ du ausgewählt hast. Mit <option>basketball</option> bekommt PHP keine Information.
Doch Basketball;) die anderen Informationen wollte ich im Script festlegen sprich wenn ich Basketball ausgewählt habe bekommen andere variablen einen Wert zugewiesen.
Aber vom Prinzip kannst du den ausgewählten Wert nicht nur als HTML-Zeile anzeigen, sondern auch als <input type=hidden ...> ins Formular schreiben. Wenn im nächsten Durchgang ein anderer Ball gewählt wird, übermittelst du den und die bisherige Auswahl.
Wenn es doch nur so einfach währe
In welcher Reihenfolge du die Zeilen ausgibst, ist dir überlassen. Vielleicht chronologisch, die erste Wahl oben?
Kalle