Snelle vraag $_POST
Bij een formulier stuur ik een $_POST van x mee dus er komt $_POST['x'] uit maar... achter x staat ook nog het id, dus in feite bij de verwerking stuur ik $_POST['x1'] mee waarbij 1 bijvoorbeeld het id is. Het id weet ik niet vantevoren, dit kan nogal verschillen dus hoe kan ik $id verwerken om de goede $_POST op te kunnen halen, dus zoiets als:
$_POST['x$id'] (dat werkt niet)
De $_POST hoofdnamen weet ik dus wel maar niet het id wat erachter staat, dat haal ik weer apart op.
Hopelijk ben ik een beetje duidelijk...
<input type="text" name="x[1]" />
dan is het
$_POST['x'][$id]
Want die id komt niet daarvan daan maak ik teminste op uit de tekst.
edit:
maarja als ie niet daar vandaan komt, dan kun je um ook niet zo aanroepen.
Houd het gescheiden, de post en de id.
Gewijzigd op 01/01/1970 01:00:00 door Kalle P
Op de server ontvang je de array $_POST['x'] met diverse waardes, bv. [1] of [23]. Met een foreach kun je dit eenvoudig doorlopen en uitlezen. Waar het nummer vandaan komt, maakt weinig uit.
Krijg het echter niet voor elkaar...
Eerst doe ik dit: (maar klein deel van het script)
$query = "SELECT * FROM klassement WHERE competitie='".$competitie."' ORDER BY id";
$res = mysql_query($query) or die ("query mislukt");
while($row = mysql_fetch_array($res))
{
<td><input type=text size=20 name=Team'.$row['id'].' value='.$row['team'].'><td>
}
Dan dit om te verwerken:
if ($_POST['submit'] =="Toevoegen")
{
$query = "SELECT * FROM klassement WHERE competitie='".$competitie."' ORDER BY id";
$res = mysql_query($query) or die ("query mislukt");
while($row = mysql_fetch_array($res))
{
$id = $row['id'];
$team = $_POST['team'.$id];
$result = mysql_query("update klassement set team='".$team."' where id='".$row['id']."';");
}
}
Hij schrijf echter niets weg. Doe ik $team = $id; schrijf hij wel het $id weg als teamnaam maar samen doen ze het niet...
(Weer lang!)
* Input namen zijn dus 'Team' + het id nummer. Echter het id nummer staat niet vast.
Zie nu pas andere reacties dus het kan zo (zal meteen even testen) <input type="text" name="x['.$id.']"> ? Heb het nu zo, het wordt in een aparte array gezet maar krijg het toch niet verwerkt met $_POST['x'][$id]
Bedankt beide!
Een ding is wel vaag, namen die een spatie hadden sloeg hij slechts het begin van op (dus tot de spatie). Geen idee waarom, mocht iemand weten hoor ik het graag. Nu heb ik er een str_replace tussen gezet. Voor de output doe ik dat dan wel weer andersom...
Het is case sensitive :) Oops!
Gewijzigd op 01/01/1970 01:00:00 door Shakes