php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.08.2011, 19:22  
Neuer Benutzer
 
Registriert seit: 18.08.2011
Beiträge: 2
PHP-Kenntnisse:
Fortgeschritten
foolx befindet sich auf einem aufstrebenden Ast
Standard Formular bauen mit variablen Daten in Drop-Down

Hi liebe Gemeinde!
Ich bin selbst kein absoluter Neuling in PHP und SQL, doch irgendwie komm ich mit meinem aktuellem Vorhaben nicht groß weiter.
Ich habe selbst schon viele kleine Sachen in PHP und SQL realisiert, bin jedoch leider seit einigen Jahren nicht mehr am programmieren gewesen. Man mag mir daher vielleicht ein wenig Unsicherheit und ein paar doofe Fragen verzeihen.

Zu meinem Vorhaben
Ich spiele in einer kleinen Gruppe Karten (Magic the Gathering). In dieser Gruppe spielen wir überwiegend einen bestimmten Typus. Wir treffen uns 1x die Woche und spielen zwischen 2 und 12 Partien, je nachdem wie viele von uns da sind. Da ich Statistiken sehr mag würde ich nun gerne eine kleine Datenbank für unsere Spiele erzeugen.
Die Datenbank selbst habe ich auf meiner MySQL-DB bereits erstellt und logisch verknüpft. Es gibt Tabellen für die unterschiedlichen User sowie Ihre Kartenwahl (die spielt dabei ebenfalls eine Rolle) zudem eine Tabelle für die verschiedenen Spielorte und alle weiteren Information eines Spiels.

Die DB an sich steht, ebenfalls sehe ich gegenwärtig kein Problem darin die Inhalte via Charts auszuwerten und optisch zugänglich zu machen. Hierfür will ich später fertige JS-Charts von Highcharts nutzen.
Das derzeit einzige Problem ist das befüllen der Datenbank. Ich möchte es möglich machen, dass nicht nur ich die Informationen Hard in die DB werfen kann, sondern dass auch andere Leute die Spielinfos eintragen können.

Dabei treten für mich gerade folgende Probleme auf:
Ich möchte ein Match mit allen Informationen möglichst in einem einzigem Formular eintragen. Die Informationen sind jedoch von einander abhängig.

Beispiel:
Spieldatum - Spielstartzeit - Spielendzeit (diese Werte sind einfach einzutragen und können auch leer gelassen werden)
Spielort -> Dies soll eine Dropdown-Liste sein die aus einer anderen Tabelle (edh_locations) gefüllt wird.
Unter diesen Standartinformationen sollen dann gleiche Felder auftauchen:
Spieler_01 -> enthält alle Einträge aus edh_user und edh_spieler
General_01 -> enthält alle Einträge aus edh_generals
Ergebnis_01 -> Dropdown mit allen Möglichkeiten aus edh_result
Spieler_02 -> enthält alle Einträge aus edh_user und edh_spieler die nicht in
Spieler_01 ausgewählt wurden.
General_02 -> enthält alle Einträge aus edh_generals (gleiche Generäle sind möglich, gleiche Spieler nicht)
Ergebnis_02 -> Dropdown mit allen Möglichkeiten aus edh_result
Darunter soll dann ein Button mit "weiteren Spieler anfügen" sein, der die Spieler_0x, General_0x, Ergebnis_0x erzeugt.

Ich hoffe ihr könnt mir dabei ein wenig weiterhelfen. Ich bekomme es zwar hin eine Dropbox mit Auswahlmöglichkeiten zu erschaffen, aber nicht mit Auswahlpunkten die aus einer Tabelle gezogen werden und sich auch noch in der Laufzeit ändern.
Wenn ein Spieler ausgewählt wird, müssen alle Auswahllisten entsprechend geändert werden.
Hoffe es ist zu verstehen was ich meine.

Das zweite Problem ist die Erzeugung des SQL-Update Befehls für den Post-Button, da insgesamt zwei Tabellen befüllt werden müssen:

edh_matches (location_id, date und time) und edh_match_infos (je Spieler eine Zeile mit: User_id/player_id, general_id und result_id)

wenn es also 5 Spieler sind, muss eine Zeile in edh_matches eingetragen werden und 5 Zeilen in edh_match_infos.

Hoffe irgendjemand kann mir ein wenig damit helfen. Danke sehr fürs Lesen und im Vorraus für eure Mühe!

Ergänzung: edh_users und edh_players hat den Hintergrund, dass ich die Nutzer der Webseite (alle User in edh_users) direkt als Spieler verwendbar machen möchte. Da es aber immer Mitspieler gibt, die auf meiner Webseite nicht angemeldet sind, brauche ich auch eine edh_players Tabelle in der ich die Spieler eintragen kann, die keinem User zugeordnet sind. Falls da jemand eine schönere Lösung kennt, bin ich jederzeit offen dafür!

Geändert von foolx (18.08.2011 um 19:26 Uhr). Grund: Ergänzung
foolx ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 18.08.2011, 20:35  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 1.140
PHP-Kenntnisse:
Anfänger
hausl wird schon bald berühmt werdenhausl wird schon bald berühmt werden
Standard

Hallo!

Weiß nicht ob dir das recht hilfreich ist, aber das Prinzip erinnert mich etwas an manche Support/Treiber-Download Seiten von den Herstellern bzw. früher mal..

Man hat zuerst 4 leere DropDowns, wählt dann im ersten den Typ mal aus zB "Desktop PC" dann wird die Seite neu geladen (~ Javascript onchange), und dann wählt man im nächsten (das nun Inhalte hat) das Modell aus - reload, etc...

Wenn Du es nach diesem (etwas mühsamen) Schema machst könnte es doch gehen.. Damit würde dann auf Grund der Auswahl das Formular mit den neuen Parametern aufgerufen.

Vermutlich gibts auch eine "andere" (AJAX?) Variante, aber da bin ich leider (noch) nicht auf der Höhe.

LG
__________________
Keine Zahl != ein Zeichen das keine Zahl ist

Geändert von hausl (18.08.2011 um 20:39 Uhr).
hausl ist offline   Mit Zitat antworten
Alt 18.08.2011, 20:52  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Ich habe auch viel mit Formularen zu tun, bei denen Daten aus einer Mysql-Tabelle in einer Dropdown-Box geschrieben werden aus der der Benutzer dann eine Zeile auswählen kann. Da ich nicht immer den gleichen Code zig-mal im Script haben wollte, habe ich mir eine Funktion gebaut, welche solche Dropdowns aufbaut.

Die Anzuzeigenden Daten müssen dieser Funktion in einem assoziativen Array übergeben werden. Beispiel für Anrede-Dropdown:
PHP-Code:
$werte = array(
  
=> 'Bitte auswählen',
  
=> 'Frau',
  
=> 'Herr',
  
=> 'Firma'
); 
Hier nun die Funktion:

PHP-Code:
function selbox($feldname,$werte,$selwert=0,$size=1,$multiple='')
{
    
// $feldname: Der Name des Eingabefeldes innerhalb des Formulars
    // $werte: Array mit allen möglichen Werten
    // $selwert: Der Wert aus $werte, der vorselektiert sein soll
    
    // $selbox = '<select name="' . $feldname . '">' . "\n";
    
$selbox '<select name="{feldname}" size="{size}" {multiple}>' "\n";
    
$ers = array(
            
'{feldname}'    => $feldname,
            
'{size}'        => $size,
            
'{multiple}'    => $multiple
    
);
    
$selbox strtr($selbox,$ers);
    
    foreach (
$werte as $val => $text) {
        
$selbox .= '<option value="';
        
$selbox .= $val;
        
$selbox .= '"';
        if ( 
is_array($selwert) ) {
            if ( 
in_array($val,$selwert) ) {
                
$selbox .= ' selected = "selected"';
            }
        } else {
            if (
$val == $selwert) {
                
$selbox .= ' selected = "selected"';
            }
        }
        
$selbox .= '>';
        
$selbox .= $text;
        
$selbox .= '</option>' "\n";
    }
    
$selbox .= '</select>' "\n";       
    return 
$selbox;

Wenn du Namen aus einer Mysql-Tabelle in solch eine Selbox packen willst, dann machst du z.B.
PHP-Code:
$sql "SELECT id,name FROM kunden";
$res mysql_query($sql);
$werte = array('0' => 'Bitte auswählen');
while ( 
$row mysql_fetch_assoc($res) ) {
  
$werte [$row['id']] = $row['name'];
}
$selbox_kunden selbox('kunde',$werte,$kunde,1);
echo 
$selbox_kunden
$kunde enthält die Nummer des Kunden, der vorausgewählt werden soll, bei dem in der Selbox also das selected = "selected" im HTML-Code stehen soll.

Wenn eine Selbox abhängig sein soll von der Auswahl in einer anderen Box, so kannst du diesen Code auch nutzen, die Daten dann aber per Ajax nachladen.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 22.08.2011, 15:38  
Neuer Benutzer
 
Registriert seit: 18.08.2011
Beiträge: 2
PHP-Kenntnisse:
Fortgeschritten
foolx befindet sich auf einem aufstrebenden Ast
Standard

Hi,

sorry für die späte Rückmeldung.
Ich bin gerade dabei das ganze in ein CMS einzubetten. Wollte nur wenigstens ein Status-Update bereitstellen

lg
foolx
foolx ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Formular Daten session variablen und co syNTax PHP Einsteiger 5 28.02.2011 10:31
Vie Formular empfangene Daten berarbeiten und an remote PHP Skript senden fr3sh PHP Einsteiger 4 27.01.2011 10:20
[Erledigt] Einfaches Drop Down Menü inquisitive PHP Tipps 2010 13 28.10.2010 18:59
[Erledigt] Textdatenbank zeilenweise alphabetisch sortieren - Drop Down Menü alphabet UdoDirk PHP Tipps 2010 1 24.07.2010 10:45
Anfänger in OOP /Nach Login Formular ausgeben um Daten auf Server zu übertragen sumpfbarbe PHP Tipps 2010 6 16.07.2010 13:17
Eintragen von Daten per Formular in MySQL Datenbank PHP Tipps 2004 11 07.06.2009 08:58
E-Mail Formular: Variablen in $message einfügen? thomas108 PHP Tipps 2008 9 02.06.2008 12:33
Einlesen von Daten in Formular Fragenfrager PHP Tipps 2006 3 14.08.2006 10:11
[Erledigt] Formular (POST) übergabe von Daten PHP-Fortgeschrittene 5 23.01.2006 20:34
Session Frage - gleiches Formular 2 mal alle Daten behalten NetLook PHP Tipps 2007 1 21.11.2005 18:42
[Erledigt] sql daten für einen kunden auslesen/ändern im Formular PHP Tipps 2005-2 3 12.10.2005 08:36
Drop Down im Formular mit Email-Adressen PHP Tipps 2004 2 06.09.2004 19:06
[Erledigt] drop down menü werte weitergeben PHP Tipps 2004 3 24.08.2004 15:08
[Erledigt] Daten in neuem Formular anzeigen PHP Tipps 2004 6 21.07.2004 10:44
Übergabe von Variablen bei einem Formular in eine *.php HTML, Usability und Barrierefreiheit 6 01.07.2004 12:07

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
formular bauen mit php, drop bauen, dropbox füllen aus sql, verknüpfen eine tabelle mit andere tabelle sql dropdown, dropdown php selbst was eintragen, wenn dropdownauswahl wert enthält daten auslesen, datenbankinhalte mysql daten endzeitpunkt php, php daten eingeben in variable, sql daten an dropdown übergeben, php pulldown mit variablen füllen, php variable form pulldown, mysql dropdown, php variable per dropdown, php formular mit daten aus datenbank nach dropdown auswahl, formular bauen, php mysql formular nachbauen, mysql datenbank formular dropbox, formularfelder bauen, dropdown füllen je nach eingabe in anderer dropbox php, php dropbox formular in die datenbank übernehmen

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:45 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum