![]() |
PHP & MySQL - Reihenfolge ändern
Moin Moin!
Ich habe wieder mal ein kleines Problem: Ich habe ein Online Fragebogen Skript gecodet und möchte nun noch das umsortieren der Fragen ermöglichen; Dazu habe ich mir überlegt lasse ich im Backend hinter jeder Frage eine SelectBox mit den Nummern 1-n (jeder Zahl steht für eine Position) Die Fragen werde aus einer MySQL Datenbank ausgelesen. Hier mal das Beispiel an den Kategorien:
Code:
Aufbau der Tabelle:
<?php
//Datenbank Verbindung $mysqlconnect = mysql_connect($host, $user, $pw) or die ("Verbindung zur MySQL Datenbank fehlgeschlagen " . mysql_error()) . " Wenden Sie sich bitte an den <a href=\"mailto:admin@domain.de\">Admin</a>"; //VARIABLEN: $sql = "SELECT * FROM `umweltaklms@1-umfrage`.`allgemeines` ORDER BY id DESC LIMIT 1"; $sql = mysql_query($sql); echo mysql_error(); $row = mysql_fetch_object($sql); $tbl_category = $row->kategorien; $result = mysql_query("SELECT id FROM `umweltaklms@1-umfrage`.`".$tbl_category."`"); $menge = mysql_num_rows($result); $anzahl = $menge; $abfrage = "SELECT * FROM `umweltaklms@1-umfrage`.`".$tbl_category."` ORDER BY id"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { $kategorie = $row->kategorie; $kategorie = htmlentities($kategorie); $id = $row->id; //Formular mit Tabelle und Fragen erstellen echo " <tr> <td>$kategorie</td> <td align=center>".$row->nummer."</td> <td align=center><select name=\"".$row->nummer."\" onchange=\"\"> "; for($i=1;$i<$anzahl+1;$i++) { echo "<option value=\"$row->nummer\">$i</option>"; } echo " </select> </tr>"; } ?>
SQL-Code:
So nun möchte ich, dass wenn der Wert in der Select Box geändert wird die Frage (Tabellen Spalte Nummer) auf den ausgewählten Wert gesetzt wird und alle Fragen hinter dem neuen Wert um einen nach oben (also von 2 auf 3 oder 7 auf 8) verschoben werden.
CREATE TABLE `umweltaklms@1-umfrage`.`fragen_' . $datum1 . '_' . $datum2 . '_' . $versionneu . '` (
`id` INT(3) NOT NULL auto_increment, `frage` TEXT NOT NULL, `nummer` INT(4) NOT NULL, PRIMARY KEY (`id`)) TYPE = myisam Allerdings habe ich nun leider keinen Plan wie ich das hinbekomme. Kann mir da vllt jemand helfen? |
Re: PHP & MySQL - Reihenfolge ändern
Hmm, spontan fällt mir jetzt ein, ne Javascript funktion zu erstellen die alle Daten einliest die du über SQL erhällst und damit dann die SelectBox generiert.
Das sollte weiterhelfen. ![]() |
Re: PHP & MySQL - Reihenfolge ändern
hmm mche doch einfach ein extra eintrag in dem du die positionen speicherst z.B.
so: 1. frage position: 5 2. pos: 3 3. pos: 1 4. pos: 4 5. pos: 6 6. pos: 2 das feld hat dann den inhalt: 5 3 1 4 6 2 jetzt setzt du den select anhand dieser reihenfolge zusammen (die table muss zuvor nach id sortiert werden) lies zuerst dein mysql_fetch_array erst mit while in ein array und dann machste per for-schleife die abarbeitung der einzelnen datensätze und anhand des index aus dem positionsfeld bekommste den richtigen index edit: oder verstehe ich da was falsch ?! wenn du die pos bei jeder frage einzeln speicherst, musste dein array nach der nummer sortieren (wenn du ne sort funktion hast die zahlen ordentlich sortiert also: 1,2,3,..,9,10,11) kein problem, ansonsten nimm nen extra eintrag der am besten an erster stelle mit id 0 steht und wo die positionsliste im text gespeichert, damit ist auch getan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz