Archiv verlassen und diese Seite im Standarddesign anzeigen : buttons dynamisch erzeugen
ich erzeuge so ein paar buttons die farblich sein sollen (OHNE TEXT!)
$i=1;
$resultcolor = mysql_query("SELECT * FROM color_tf ORDER by id");
while ($rowc = mysql_fetch_array ($resultcolor)) {
echo '<input type="Submit" name="color'.$i.'" value=" " style="background-color:'.$rowc[2].';">';
$i++;
}
Wie kann ich nach absenden der Buttons prüfen, ob der geklickt wurde?
saraneus 17-11-2005, 12:08 Die Buttons stehen im Request. Lies $_POST oder $_GET mit print_r aus, während du verschiedene Buttons ausprobierst. Mach das sowohl mit dem IE als auch mit einem Mozilla.
hoffmann-c 17-11-2005, 12:09 kannste so lösen
<?
if ($_POST['str_aktion'] == 'farbe_ausgeben')
{
echo "Farbe ist: ".$_POST['str_color'];
}
$i=1;
$resultcolor = mysql_query("SELECT * FROM color_tf ORDER by id");
while ($rowc = mysql_fetch_array ($resultcolor)) {
echo "<form method='post' action='".$PHP_SELF."'>";
echo "<input type='hidden' name='str_aktion' value='farbe_ausgeben'>";
echo "<input type='hidden' name='str_color' value='".$rowc[2]."'>";
echo '<input type="Submit" value=" " style="background-color:'.$rowc[2].';">';
echo "</form>";
$i++;
}
?>
DANKE!
Genial! Wieso bin ich nicht darauf gekommen? *fg* Ich glaub ich muß mal wieder schlafen, um den Kopf freizubekommen!
saraneus 17-11-2005, 12:15 Was soll er denn mit mehreren Formularen, wenn er eins haben will?
Das ist Blödsinn im Bezug auf die Aufgabenstellung.
Nein, es sollen nur farben übergeben werden, da der User nicht nen text sondern echt nur die farbe haben soll. der Button erzeugt bei senden dann ein update in der mysql-tabelle. Das sind halt buttons für doofe *fg*.
Der kunde ist könig!
hoffmann-c 17-11-2005, 12:19 Original geschrieben von saraneus
Was soll er denn mit mehreren Formularen, wenn er eins haben will?
Das ist Blödsinn im Bezug auf die Aufgabenstellung.
hast ja anscheinend viel ahnung! :rolleyes:
probier es mal selber aus :teach:
saraneus 17-11-2005, 12:29 Original geschrieben von hoffmann-c
hast ja anscheinend viel ahnung!
Davon bin ich überzeugt.
Original geschrieben von hoffmann-c
probier es mal selber aus :teach:
Ich sagte nicht, dass dein Code fehlerhaft sei. Ich meinte, dass die Lösung nicht der Aufgabenstellung entspricht.
Soviel ich erkennen kann, soll es EIN Formular mit mehreren Buttons geben, wobei nach dem Versenden erkannt werden soll, welcher der Buttons benutzt wurde. Deine Version ist hochredundant.
hoffmann-c 17-11-2005, 12:34 Original geschrieben von saraneus
Soviel ich erkennen kann, soll es EIN Formular ... geben, ... [/B]
Entweder liest du was zwischen den zeilen, oder die Farbe der Schrift hat die Farbe des Hintergrundes! :confused:
Mit meinem vorschlag nach ist die Aufagbe gelöst!
saraneus 17-11-2005, 12:37 super konstruktiv.
AAAAAARRRRRRRGGGGGGGGGGHHHHHHHHHHHH!
Leider kann ich die farbe bei erneutem klicken übergeben! Ich muss die Buttons ja in reihe setzen, somit kann ich nicht jedem button ein form geben!
schau mal hier hier (http://isp07.com)
Daten zum testlogin:
- dani_x
- 0000
vielleicht findest du den fehler?
saraneus 17-11-2005, 12:42 Find ihn selbst. Den Weg hat "man" dir gesagt. Wenn du Beiträge ignorierst, entgeht dir vielleicht was.
SEHR HILFREICH!
Ich sitz seit 78 Stunden vor diesem klimperkasten langsam sehe ich die fehler wesentlich schlechter!
saraneus 17-11-2005, 12:46 Was kam bei der Befolgung meiner ersten hilfreichen Antwort heraus?
An saraneus:
NIX! Aber vielen Dank, habe das Problem gefunden!
habe vergessen im Form-Bereich zusätzlich den anhang ?modul=xxx mit anzugeben!
Original geschrieben von saraneus
Die Buttons stehen im Request. Lies $_POST oder $_GET mit print_r aus, während du verschiedene Buttons ausprobierst. Mach das sowohl mit dem IE als auch mit einem Mozilla.
Ich habe aber nicht nur diese 2 Browser zu beachten! Es muss bei ALLEN funktionieren!
hoffmann-c 17-11-2005, 12:50 wie wäre es denn damit wenn du garkeine input felder machst, sondern radio-boxen unter den farben?
Ist die einfachste möglichkeit ohne viel umzubauen!
Ansonsten mach es mit javascript!
Würde mich darum denn heute nachmittag oder heute abend kümmern. Aber mit den radio-boxen ist es die schnellste lösung.
hoffmann-c 17-11-2005, 12:53 oh .. habe gesehen du hast das problem gefunden! ok!
Seite sieht sehr ansprechend aus ...
saraneus 17-11-2005, 12:55 Original geschrieben von dani_o
Ich habe aber nicht nur diese 2 Browser zu beachten! Es muss bei ALLEN funktionieren!
Mein Gott, kauf dir eine Tüte Deutsch. Wie mir scheint, nimmst du dir nicht wirklich viel Zeit zum lesen und verstehen. Kein Wunder, dass du dich blind auf fertigen Code von Helfenden stürzt und selbst keine sichtbaren Anstrengungen unternimmst, um das Problem zu beheben.
Fängt schon bei der Formulierung des Problems an...
WAH! Ich entferne mich jetzt von diesem Thread.
Für nen Newbie ne ganz schön große klappe! *g*
Sorry, aber ich hab halt zeitnot ...
Nu hab ich nochn prob bekommen hier erst mal der code:
/* Abfrage der dynamischen buttons */
if($button=="update"){ /* tu irgendwas (Am besten updaten!) */ }
// formfeld 1 ist //
<form action="index.php?modul=user&button=update" method="post">
Eingaben der User-Daten
</form>
// formfeld 2 ist //
<form action="index.php?modul=user" method="post">
Auswahl der dynamischen buttons ...
</form>
Ich weiß nicht warum, aber der updatet mir alles zu leeren tabellen in der jeweiligen datenbank!
Original geschrieben von dani_o
Für nen Newbie ne ganz schön große klappe! *g*
Stimmt, die hast du wirklich.
Sorry, aber ich hab halt zeitnot ...
Tja, ihr Newbies übernehmt euch halt zu oft ...
Nu hab ich nochn prob bekommen
Nee, was für 'ne Überraschung ...
Dein Tonfall hier im Thread lässt mich auch davon Abstand nehmen, dir noch weiter helfen zu wollen.
SORRY!
Nehmt doch nicht alles so persönlich!
Ich bin im Streß! Ich weiß das ist keine Entschuldigung, aber ich dreh hier bald durch!
Original geschrieben von hoffmann-c
kannste so lösen
<?
if ($_POST['str_aktion'] == 'farbe_ausgeben')
{
echo "Farbe ist: ".$_POST['str_color'];
}
$i=1;
$resultcolor = mysql_query("SELECT * FROM color_tf ORDER by id");
while ($rowc = mysql_fetch_array ($resultcolor)) {
echo "<form method='post' action='".$PHP_SELF."'>";
echo "<input type='hidden' name='str_aktion' value='farbe_ausgeben'>";
echo "<input type='hidden' name='str_color' value='".$rowc[2]."'>";
echo '<input type="Submit" value=" " style="background-color:'.$rowc[2].';">';
echo "</form>";
$i++;
}
?>
Kann ich da nicht eigentlich auch nur
<input type='hidden' name='str_color' value='".$rowc[2]."'>
verwenden und dementsprechend "str_color" nach der jeweiligen farbe auslesen?
Ah ne klar! geht ja gar nicht!
bloß die kleinen forms zerstören meine große abfrage ...
hoffmann-c 17-11-2005, 14:06 Original geschrieben von dani_o
Kann ich da nicht eigentlich auch nur
<input type='hidden' name='str_color' value='".$rowc[2]."'>
verwenden und dementsprechend "str_color" nach der jeweiligen farbe auslesen?
Ah ne klar! geht ja gar nicht!
bloß die kleinen forms zerstören meine große abfrage ...
deswegen kannste das mit radio boxen machen, oder wie gesagt mit javascript.
aber das wollen die nicht!
Das ist ja das prob!
|