php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.04.2008, 09:48  
Neuer Benutzer
 
Registriert seit: 11.04.2008
Beiträge: 1
mindhead
Standard mehrdimensionales Array als HTML-Formular

Moin, moin,

ich habe verschiedene mehrdimensionale Arrays, welche ich so als HTML-Formular darstellen will, dass man die Werte über text-felder bearbeiten und dann (mittels post des formulars) wieder als array in php bekommen kann.

Beispiel:
Array:
PHP-Code:
array(
   array(
      
"MemberCount" => "5"
      
"Definition" => array(
         
"1" => "1.00" )
   ),
   array(
      
"MemberCount" => "10"
      
"Definition" => array( 
         
"1" => "0.50"
         
"2" => "0.30"
         
"3" => "0.20")
   ),
   array(
      
"MemberCount" => "1000000"
      
"Definition" => array(
         
"1" => "0.45"
         
"2" => "0.25"
         
"3" => "0.15"
         
"4" => "0.10"
         
"5" => "0.05")
      )
   )

jetzt habe ich eine Funktion, die mir rekursiv das array durchgeht und für jedes "Blatt" des Astes ein text-feld erstellt.
PHP-Code:
function echo_array($array$return_me false$fieldName "") {
        
$return "";
        if(
is_array($array) == false){
            
$return "The provided variable is not an array.";
        } else {
            foreach(
$array as $name=>$value){
                
$fieldName .= "[$name]";
                if(
is_array($value)){
                    
$return .= "";
                    
$return .= "$name => <div style='margin-left:20px;'>";
                    
$return .= $this->echo_array($valuetrue$fieldName);
                    
$return .= "</div>";
                    
$return .= "";
                }else{
                    if(
is_string($value)){
                        
$value "$value";
                    }
                    
$return .= "$name => <input type='text' name='constantValue$fieldName' value='$value' style='width:300px;' />
"
;
                    
$fieldName str_replace("[$name]"""$fieldName);
                }
            }
        }
        
        if(
$return_me == true){
            return 
$return;
        } else {
            echo 
"<pre>".$return."</pre>";
        }
    } 
Das Problem ist nun folgendes:
Im name-Attribut des input-feldes sollte das Array wieder abgebildet werden, damit das nach dem Post nicht neu zusammengebaut werden muss.
z.B.:
name='constantValue[0][MemberCount]'
und
name='constantValue[0][Definition][1]'

für die weiteren Elemente sollte dann z.B. folgendes stehen:
name='constantValue[1][MemberCount]'
und
name='constantValue[1][Definition][1]'
bzw.
name='constantValue[1][Definition][2]'

das klappt aber in der o.g. Funktion nicht, da die Funktion nicht weiß wann und wie viele Elemente in $fieldName gelöscht werden müssen, um z.B. das erste Element [0] durch [1] zu ersetzen und anschließend alle weiteren elemente wieder hinzuzufügen.

Ich hoffe, meine Beschreibung hat nicht noch mehr verwirrung gestiftet

Ich wäre über eine Lösung oder einen Weg dorthin dankbar.
mindhead ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 11.04.2008, 10:16  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Ist es besonders fortgeschritten, Crosspostings zu machen
__________________
Gruss
L
lazydog ist offline  
Alt 11.04.2008, 12:49  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Danke, Lazy. Thread verschoben!
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 11.04.2008, 15:25  
Erfahrener Benutzer
 
Benutzerbild von GelaMu
 
Registriert seit: 05.03.2006
Beiträge: 183
GelaMu
Standard

mindhead,

ich hab vor langer Zeit mal etwas geschrieben,
dass mir dabei helfen sollte, Einstellungen f
GelaMu ist offline  
 


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
[Erledigt] Formular ausgabe Array cuep PHP Tipps 2008 11 27.05.2008 17:45
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
mehrdimensionales Array sortieren PHP Tipps 2007 8 30.12.2005 17:02
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
[Erledigt] Mehrdimensionales Array in Session speichern PHP-Fortgeschrittene 6 11.10.2005 17:32
mehrdimensionales array an js übergeben PHP Tipps 2005-2 0 11.10.2005 15:51
[Erledigt] php in html formular PHP Tipps 2005-2 21 16.09.2005 09:27
Mehrdimesionales Array aus HTML Formular? pino PHP Tipps 2005-2 3 12.08.2005 13:42
mehrdimensionales Array sortieren PHP Tipps 2005 5 29.04.2005 20:38
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25
wie lasse ich ein mehrdimensionales Array anzeigen?? PHP Tipps 2004 2 25.09.2004 12:38
bbcode - Classe PHP-Fortgeschrittene 4 18.09.2004 17:30

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
html form array, html formular array, html form name array, html value array, html forms array, html form post array, html form arrays, html formulare array, html formulare arrays, html formular name array, php post mehrdimensionales array, http://www.php.de/php-tipps-2008/45781-mehrdimensionales-array-als-html-formular.html, mehrdimensionales array post, html form array post, html form php array, html formular mehrdimensionales array, mehrdimensionale arrays html form, html array formular, form array html, array html form

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:20 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.