phpbar.de logo

Mailinglisten-Archive

[php] array in while schleife

[php] array in while schleife

Sandor Wonschik php_(at)_phpcenter.de
Fri, 30 Aug 2002 11:21:02 +0200


Hi Sorin

Ok, was dir fehlt, ist die eindeutige Zuordnung der Variablen desc, hours,
mins zu einer ProjectId.

Es ist ja egal, welche Namen du für die Formular-Felder verwendest, also
kannst du da drin ja auch die ProjectId mit reinschreiben. Zusätzlich sollte
man dann die Variablen mit einem Prefix kennzeichnen, damit man das hinterher
wieder aus dem _GET oder _POST-Array extrahieren kann.

Das sieht dann ungefähr so aus (musst du natürlich noch mit dem Rest deiner
Felder erweitern):
<table>
<tr>
<td><input type='text' size='4' name='xxx_desc_0'></td>
<td><input type='text' size='4' name='xxx_hours_0'></td>
<td><input type='text' size='4' name='xxx_mins_0'></td>
</tr>
<tr>
<td><input type='text' size='4' name='xxx_desc_1'></td>
<td><input type='text' size='4' name='xxx_hours_1'></td>
<td><input type='text' size='4' name='xxx_mins_1'></td>
</tr>
<tr>
<td><input type='text' size='4' name='xxx_desc_2'></td>
<td><input type='text' size='4' name='xxx_hours_2'></td>
<td><input type='text' size='4' name='xxx_mins_2'></td>
</tr>
</table>



Das erzeugende Script:

echo "<table>\n";
for($i=0; $i<3; $i++)
{
	echo "<tr>\n";
	echo "<td><input type='text' size='4' name='xxx_desc_$i'></td>\n";
	echo "<td><input type='text' size='4' name='xxx_hours_$i'></td>\n";
	echo "<td><input type='text' size='4' name='xxx_mins_$i'></td>\n";
	echo "</tr>\n";
}
echo "</table>\n";




Das auswertende Script:

foreach($_GET as $sKey => $sVal)
{
	if(ereg("^xxx_",$sKey))
	{
		list(,$sVarKey,$i) = split("_",$sKey);
		$aResult[$i][$sVarKey]=$sVal;
	}
}

echo "<pre>";
var_dump($aResult);
echo "</pre>";


>Ich möchte aber folgende Struktur erreichen:

Array(
[0] 0                   --> id
[1] 1                  --> projekt_id
[2] 2                  --> subprojekt_id
[3] desc 1          --> Beschreibung (desc)
[4] h 1                --> Stunden
[5] m 1               --> Minuten
[6] 2002-1-1     --> datum
)


Ich denke, dass du das nun schaffen solltest. :-)

Viele Grüße,
Sandor


php::bar PHP Wiki   -   Listenarchive