AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PHP & MySQL - Reihenfolge ändern

Ein Thema von T.E. · begonnen am 9. Okt 2008 · letzter Beitrag vom 10. Okt 2008
Antwort Antwort
T.E.

Registriert seit: 27. Mai 2007
Ort: Hamburg
284 Beiträge
 
Delphi XE2 Enterprise
 
#1

PHP & MySQL - Reihenfolge ändern

  Alt 9. Okt 2008, 12:34
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:
<?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>";
               }
         ?>
Aufbau der Tabelle:
SQL-Code:
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
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.
Allerdings habe ich nun leider keinen Plan wie ich das hinbekomme.
Kann mir da vllt jemand helfen?
Gruß Torben
  Mit Zitat antworten Zitat
J3rk

Registriert seit: 28. Sep 2008
5 Beiträge
 
#2

Re: PHP & MySQL - Reihenfolge ändern

  Alt 9. Okt 2008, 13:32
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.
http://www.drweb.de/magazin/javascri...ropdown-menus/
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

Registriert seit: 13. Feb 2007
306 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: PHP & MySQL - Reihenfolge ändern

  Alt 10. Okt 2008, 12:37
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
"Never touch a running system administrator !"
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz