Arrays aus mehreren Auswahlboxen auslesen.

mrepox

Erfahrenes Mitglied
Hallo Leute,

ich habe mal wieder ein Problem. Ein dynamisch erzeugtes Formluar übergibt mir aus mehreren "MULTIPLEN" Select-Boxen
eventuell mehrere Werte.
PHP:
<?php
include_once('db_fns.php');



$idartikel = $_POST['serverid'];
$counter = $_POST['counter'];
$servernamen = $_POST['servernamen'];
$serverbeschreibung = $_POST['serverbeschreibung'];   
$serverpreis = $_POST['serverpreis']; 
$publish = 0;

    for($x=1;$x<=$counter;$x++)
        {

        $bcount = count($_POST['inhalt'.$x]); 
        $bcount--;
        $b = 0; 
            while ($b<=$bcount) 
                {
                        insert_server($idartikel,$_POST['inhalt'.$x.$b]);
                }
        }
        
        
        if (insert_servercontent($idartikel,$servernamen,$serverbeschreibung,$serverpreis,$publish))

        header('Location: http://www.xxxxx.php');
        
      



    else

        echo " Artikel '".stripslashes($name).

             "' konnte nicht in die Datenbank eingetragen werden.$date<br />";

  
;?>

und die Funktion zur Erstellung der Selectboxen


PHP:
 function display_gruppens()  

{ 
$conn = db_connect();

$query = "select * FROM gruppen";

   $result = $conn->query($query);

$i =0;
while($showgruppe= $result->fetch_assoc())
         
   {      $groupt = $showgruppe['gruppe'] ;     
           $i++;$inhalt = "inhalt[]".$i;
        echo "<select name='$inhalt' size='2' style='background:#e4e4e4;border:1px solid;' multiple >";  
         display_artikel($groupt); 
         
         echo"</select>"; 
    } 
echo "<input type='hidden' name='inhalt[]' value='$i'  />";
 }

Ob ich in der Funktion "inhalt[]" richtig gesetzt habe, weiß ich nicht. Die Var "inhalt[]" muß in der php-Verarbeitung eben mehrfach ausgelesen werden in Bezug auf die Anzahl der Selects und der möglichen Arrays.

Ich blick nicht mehr dranlang, weiß jemand Rat?:confused:
 
Zuletzt bearbeitet:
Du solltest ganz schnell den Adminlink aus deinem Post entfernen, da er für jeden zugänglich ist und anscheinend nicht geschützt ist.

Ansonsten kannst du Arrays bei denen du die Größe nicht kennst, mit [phpf]foreach[/phpf] durchlaufen.
 
Upps, klar. Wäre jetzt nicht soo tragisch gewesen, ist eh nur ein Testverzeichniss aber totzdem danke.

Die for() Schleife lief reibungslos. Erst nach der Modifizierung mit den mehrfach Arrays habe ich Probleme. Oder meinst du das würde die Befehlsfolge vereinfachen ?

Es ist auch die Frage ob dieses überhaupt funktioniert wegen der Vars $x und $b
PHP:
insert_server($idartikel,$_POST['inhalt'.$x.$b]);



Gruß Markus
 
Du sprichst die mehrdimensionalen Arrays falsch an.

PHP:
$array['value'] # Normale Arrays
$array['value']['subvalue']
$array['value']['subvalue']['underworld']

usw.
 
Ich weiß nicht ob du es so meinst:

PHP:
insert_server($idartikel,$_POST['count'.$x][$b]);

aber das hat auch kein Erfolg. Ich erhalte nur 4 statt 5 Einträge in der DB und auch nur von der Var "$idartikel" die Einträge der Var "$inhalt" bleiben leer.

:confused:
 
Ja, das ergibt sich aus der Anzahl der Selectboxen. Wenn z.b. 5 Selects vorhanden sind, bekomme ich den Wert 5 als gezählte Anzahl in der $counter = $_POST['counter']; , ergo wird die for Schleife 5mal duchlaufen.
Ausgang des zählens ist dann natürlich die 1. :)
 
PHP:
echo "<input type='hidden' name='inhalt[]' value='$i'  />";
In dem Fall beginnt aber der Index bei 0.
 
Zurück