-
14.12.11 21:51 #1
- Registriert seit
- Sep 2007
- Beiträge
- 527
Hallo Zusammen,
Ich sitze da an einem kleinen Problem mit meinem Thememanager:
Ich wähle mittels Formular den Defaulttheme aus, und wenn ich speichere, sollen, wenn mehrere Themes installiert sind, bei den anderen Themes das Default auf 0 gesetzt werden, beim ausgewählten Allerdings auf 1.
Auswählen tue ich den Defaulttheme mittels Radiobutton.
Code :1 2 3 4 5 6 7 8 9 10 11
<form id="form1" name="form1" method="post" action=""> <label for="theme 1">Theme 1 <input id="theme 1" type="radio" name="radio" id="defaultheme" value="defaultheme" /> </label> <label for="theme 2">Theme 2 <input id="theme 2" type="radio" name="radio" id="defaultheme" value="defaultheme" /> </label> <label for="theme 3">Theme 3 <input id="theme 3" type="radio" name="radio" id="defaultheme" value="defaultheme" /> </label> </form>
So in etwa ist mein Formular aufgebaut.
Ich weis, wie ich checken kann, ob ein Radiobutton ausgewählt ist, aber was muss ich beim MYSQL Update beachten?
Muss ich da als erstes alle auf 0 setzten und dann den einen auf 1 oder geht das auch in einem aufwischen?PHP-Code:$SQL = mysql_query("UPDATE templates SET 'isdefault' ='1' WHERE mysql_real_escape_string($_POST['radio']) = 'checked'");
Grüsse
-
Hi,
Als erstes gibst du den Radio-Buttons die ID der Templates (Spalte in der DB, die den Primärschlüssel PRIMARY KEY enthält). Den Namen der Radios würde ich auf was aussage kräftigeres wie z.B. "themeId" setzen.
Du setzt erst bei allen Datensätzen "isdefault" auf 0 und dann bei dem neuen Default-Theme "isdefault" auf 1.
Das schaut in etwa so aus (die Spalte "id" ist der PRIMARY KEY):
Code php:1 2
mysql_query("UPDATE templates SET `isdefault` = 0"); mysql_query("UPDATE templates SET `isdefault` = 1 WHERE `id` = " . mysql_real_escape_string($_POST["themeId"]));
Ein genaueres Beispiel kann ich dir nur geben, wenn ich die Struktur deiner MySQL-Tabelle sehe.
Gruß Kyôya StefanGeändert von Kyôya (14.12.11 um 22:51 Uhr)
Oracle Certified MySQL 5 Professional Developer
Zend Certified PHP 5.3 Engineer
Vorträge, Webinare, etc im Mayflower - Blog
-
14.12.11 22:37 #3
- Registriert seit
- Sep 2007
- Beiträge
- 527
Also muss ich 2 Updates machen, hab ich mir fast gedacht.
Hier hast du die genaue Struktur.PHP-Code:1 tem_id int(11) Nein kein(e) AUTO_INCREMENT Ändern Ändern Löschen Löschen Mehr Weitere Aktionen anzeigen
2 name varchar(255) latin1_swedish_ci Nein kein(e) Ändern Ändern Löschen Löschen Mehr Weitere Aktionen anzeigen
3 pfad varchar(255) latin1_swedish_ci Nein kein(e) Ändern Ändern Löschen Löschen Mehr Weitere Aktionen anzeigen
4 isdefault tinyint(1) Nein kein(e) Ändern Ändern Löschen Löschen Mehr Weitere Aktionen anzeigen
Wie muss dann das Formular aussehen? Da stehe ich etwas auf dem Schlauch grad, liegt wohl auch an der Uhrzeit.
-
Wenn die Ausgabe vom phpMyAdmin ist, dann pack bitte mal die Indiezies noch dazu oder poste den Output vom MySQL Statement
Code mysql:1
DESCRIBE templates
Zum Erstellen des Formulares:
Zum Rendern des Formulares:Code php:1 2 3 4 5
$result = mysql_query("SELECT `id`, `name`, `isdefault` FROM `templates`"); $templates = array(); while ($row = mysql_fetch_array($result, MYSQL_ASSOC) { $templates[] = $row; }
Code php:1 2 3 4 5 6 7
<form id="form1" name="form1" method="post" action=""> <?php foreach ($templates as $template) { ?> <label for="theme_<?php echo $template['tem_id']; ?>"><?php echo $template['name']; ?> <input id="theme_<?php echo $template['tem_id']; ?>" type="radio" name="templateId" value="<?php echo $template['tem_id']; ?>"<?php echo ($template['isdefault'] == 1) ? ' checked="checked"' : ''; ?> /> <?php } // foreach ?> <input type="button" value="Default-Theme festlegen" /> </form>
Der Code zum Einstellen in der DB schaut dann so aus:
Code php:1 2
mysql_query("UPDATE templates SET `isdefault` = 0"); mysql_query("UPDATE templates SET `isdefault` = 1 WHERE `tem_id` = " . mysql_real_escape_string($_POST["templateId"]));
Gruß Kyôya StefanGeändert von Kyôya (14.12.11 um 22:52 Uhr)
Oracle Certified MySQL 5 Professional Developer
Zend Certified PHP 5.3 Engineer
Vorträge, Webinare, etc im Mayflower - Blog
-
15.12.11 14:25 #5
- Registriert seit
- Sep 2007
- Beiträge
- 527
Wow Danke, das funktioniert wie geschmiert.
Den Updatevorgang kann ich ja theoretisch auch verwenden, dass ich ein neues Template bzw. jetzt noch Theme installiere.
Danke für die Hilfe.
Ähnliche Themen
-
100ms timeout bei update(Graphics g) / oder update() bricht update() ab?
Von AGSzabo im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 0Letzter Beitrag: 19.11.08, 18:37 -
MySQL Update
Von Rambo51 im Forum PHPAntworten: 4Letzter Beitrag: 06.02.06, 15:24 -
dynamisch Radiobutton, MYSQL
Von momoxp im Forum PHPAntworten: 1Letzter Beitrag: 01.10.05, 18:12 -
PHP MySQL Update
Von fUnKuCh3n im Forum PHPAntworten: 3Letzter Beitrag: 19.09.04, 21:59 -
Update von MySQL 3.23x auf 4.0.16
Von wal im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 14.11.03, 09:35



1Danke


Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren