ARRAY in Schleife befüllen und auslesen - wo liegt der Fehler?

ptolein

Erfahrenes Mitglied
Hi,

leider sehe ich den Wald vor lauter Bäumen nicht mehr.

Ich möchte Teilnehmer bzw. deren Personalnr. in ein Array übergeben. Die Personalnr. kommen per POST. Problem ist, dass ich vorher nicht weiss, wieviele per Checkbox angeklickt worden sind, deshalb die Schleife.

Kann mal jemand dazu ein Statement abgeben? Wo liegt mein Fehler?

Fact: PHP 5
PHP:
   if (isset($_POST['tnhinzufuegen'])){   ###########  wenn tn hinzufügen gedrückt
   			suchmaske();
   			
   			$izahl=count($_POST['suchergebnissma']);
   			echo"<pre>izahl: $izahl";
 				 for ($i=1; $i<=$izahl; $i++) {
 					$tn=$tn+1;
   		    	    $tnarray[$tn]=$_REQUEST['suchergebnissma'];
 					echo"<pre>tn: $tn";
 		 		echo"<pre>tnarray[$tn]: $tnarray[$tn]";
 					var_dump($tnarray[$tn]);
   				 } #end for
   			
   			    
   			echo "<td>Hier Teilnehmer eingefügt</td>";
 				for ($a=1; $a<=$tn; $a++) {
 		 		echo"<pre><strong>$a. $tnarray[$a]</strong>"; 
 					var_dump($tnarray[$a]);
   				} #end for
   	   } #end if  wenn tn hinzufügen gedrückt

Die Ausgabe sieht so aus:

izahl: 1 tn: 1
tnarray[1]: Arrayarray(1) { [0]=> string(1) "4"}
1. Arrayarray(1) { [0]=> string(1) "4"}



Danke ;)
 
Ja, für Außenstehende sieht es bestimmt kompliziert aus, aber ich habe doch nur die Ausgabebefehle stehengelassen, um den schlauen Helferlein zeigen zu können, warum welche Werte rauskommen.

Die eigentliche Form sieht so aus: (wobei tn für Teilnehmer steht)

PHP:
      if (isset($_POST['tnhinzufuegen'])){   
        suchmaske(); 
      		 
        for ($i=0; $i <= count($_REQUEST['suchergebnissma']); $i++) {
      	 $tnarray[count($tnarray)]=$_REQUEST['suchergebnissma'][$i];
         } #end for
         for ($a=0; $a <= count($tnarray); $a++)  {
    	  echo "<pre><strong>$a. Teilnehmer: " . $tnarray[$a] . "</strong>"; 
        } #end for

Er durchläuft die Schleife von $a allerdings 3x und ich weiß nicht warum.... :(
 
so, hab's geschafft.
Lösung: in dem ersten Array wurde ein weiteres Array übergeben, deshalb konnte ich nicht auf die Werte zugreifen.

Quelltext:
PHP:
   function teilnehmerauflisten() { # funktion
   	for ($i=0; $i <= count($_REQUEST['suchergebnissma']); $i++) {
   		$tnarray[count($tnarray)]=$_REQUEST['suchergebnissma'][$i];
   	 } #end for
   	 for ($a=0; $a < (count($tnarray)-1); $a++)  {
 		 	$namensabfrage=mysql_query("SELECT personalnr, vorname,
  			 zweiterVorname, nachname FROM
 			 personaldaten_allgemein WHERE personalnr=$tnarray[$a]");
 				$daten=mysql_fetch_row($namensabfrage);
 		 	echo "<strong>" .$a+1 . ". Teilnehmer: $daten[3], 
 					 $daten[1] $daten[2]</strong></td>"; 
   		} #end for
   }#  end funktion
 
Zurück