PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Automatisches Erzeugen von Eingabefeldern (https://www.php-resource.de/forum/php-developer-forum/90026-automatisches-erzeugen-von-eingabefeldern.html)

Apgunner 08-02-2008 23:05

Automatisches Erzeugen von Eingabefeldern
 
Hallo,

ich bin dabei, ein Script zu machen, dass inetwa so funktionieren soll:

Aus einem Dropdown Feld, das eine Liste von Clanmembern enthält, kann man einen auswählen und demjenigen pro Map Punkte geben.
Die Anzahl der Maps ist variabel, aber schon vorher festgesetzt worden.
Über OnChange(submit) Handler beim Dropdown Feld soll eine Neue Zeile hinzugefügt werden mit gleichem Aussehn wie die erste.

Nun stehe ich vor dem Problem, wie bennene ich die Felder richtig und wie bearbeite ich sie in PHP am besten.
Die Daten sollen in einer Tabelle abgespeichert werden.

TobiaZ 09-02-2008 16:54

Naja, ich würd sie in Array-Form bringen. Irgendwie so:

<input type="text" value="wert[]" ...
oder
<input type="text" value="wert[0]" ...
<input type="text" value="wert[1]" ...
<input type="text" value="wert[2]" ...
oder
<input type="text" value="wert[ID]" ...

Wie du das später mit PHP verarbeiten kannst, erkennst du über ne ganz simple Testausgabe von $_POST mittels print_r().

Apgunner 09-02-2008 17:32

ja, aber mein problem ist, das ich noch die Map punkte brauche.

also müsste onChange="submit()"
1. neues Select Feld erstellen,
2. x Textfelder erstellen, der Feldname müsste dann so aussehn:
<input type="text" name="member[memberid][locationid]" value="points[memberid][locationid]">

Geht das mit php noch?
onChange="submit()" scheint nicht zu bewirken, dass die Daten komplett abgeschickt werden.

TobiaZ 09-02-2008 17:39

Wenn du wüsstest wie viele Dimensionen ein Array in PHP haben kann... Da würd ich mir keine Gedanken machen...

Geh einfach mal schritt für Schritt vor und poste dann, was du konkret mit dem nächsten Schritt für ein Problem hast...

Apgunner 09-02-2008 18:26

na blöd bin ich nicht, ich weiß das es möglich ist mehr als 3 dimensionale Arrays zu erstellen.
Trotdem krieg ichs gerad nicht anständig eingebaut.
Jetzt macht gerad das Speichern und beibehalten der Werte zicken.
Der Code ist wahrscheinlich ohne Templates ziemlich nutzlos, ich post ihn aber trotdem mal:

PHP-Code:


    
//general memberlist
    
$res $vwardb->query("SELECT name,memberid FROM vwar".$n."_member WHERE ismember='1' AND hidemember='0'");
    eval (
"\$memberlist = \"".$vwartpl->get("admin_selectbitdefault")."\";");
    while(
$members $vwardb->fetch_array($res))
    {
      
$members++;
      if(
$GPC['member'][$i] == $members['memberid'])
      {
        
$select "SELECTED";
      }
      
$memberlist .= "<option {$select} value='".$members['memberid']."'>".$members['name']."</option>";
    }    
    
    for(
$i=0$i<= 30$i++)
    {
       
//create new dropdown field
       
if(!empty($GPC['member'][$i]))
       {
           
//special memberlist
           
$res $vwardb->query("SELECT name,memberid FROM vwar".$n."_member WHERE ismember='1' AND hidemember='0'");
           eval (
"\$memberselectbit = \"".$vwartpl->get("admin_selectbitdefault")."\";");
           while(
$members $vwardb->fetch_array($res))
           {
             
$members++;
             if(
$GPC['member'][$i] == $members['memberid'])
             {
               
$select "SELECTED";
             }
             
$memberselectbit .= "<option {$select} value='".$members['memberid']."'>".$members['name']."</option>";
             
$select "";
           }
           
           
//dropdown field + location fields
           
switchcolors();
           
$memberid $GPC['member'][$i];
           
           foreach(
$location_list AS $locid)
           {
              eval (
"\$locationlist .= \"".$vwartpl->get("admin_pointslocation")."\";");
           }
           eval (
"\$memberlist .= \"".$vwartpl->get("admin_memberselect")."\";");
           unset(
$locationlist);
      
        }
    } 

$locationlist erzeugt beliebig viele input felder mit dem namen member[$memberid][$locid]

tontechniker 09-02-2008 19:52

PHP-Code:

eval ("\$memberlist .= \"".$vwartpl->get("admin_memberselect")."\";"); 

Was soll der Quatsch denn?
Zitat:

Jetzt macht gerad das Speichern und beibehalten der Werte zicken.
Da hilft natürlich so ein Template wenig (ich seh auch noch nicht wo $locationlist verwendet wird bevor du die Variable löscht). Den Fehler oder das Problem solltest du schon genauer beschreiben.

Apgunner 09-02-2008 22:06

ähm wie gesagt, ohne templates ziemlich sinnlos den Code zu posten, ich glaub ich bin aber mittlerweile auf dem richtigen weg.

Das Problem genau zu beschreiben würd den Rahmen hier sprengen.
Ich hatte auf ein Link zu nem Tutorial gehofft, das inetwa das gleiche obige genannte Problem behandelt.
Naja danke trotzdem ;)

tontechniker 10-02-2008 01:43

Zitat:

Ich hatte auf ein Link zu nem Tutorial gehofft, das inetwa das gleiche obige genannte Problem behandelt.
Wo soll es da ein Tutorial geben? Die ganze Herangehensweise hat TobiaZ schon sehr schön beschrieben. Weitere Fehler in deiner Applikationslogik können wir hier schlecht sehen, wenn du die Fehler beschreibst können wir natürlich auch tolle Tutorials für Arrays oder HTML posten.


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:21 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG