ironheadMedlem sedan mars 20011 346 inlägg jag loopar ut en massa inputrutor typ:
<form action="sida.php" method="post">
<input type="text" name="1" id="1">blah1
<input type="text" name="2" id="2">blah2
<input type="text" name="3" id="3">blah3
<input type="text" name="4" id="4">blah4
<input type="submit" value="skicka">
</form>
Hur fångar man upp värdet i dessa rutor så att respektive värde hamnar på rätt plats i databasen.
(Det kan vara olika många inputrutor beroende på hur många blah x det finns i databasen)
RickiMedlem sedan juni 2000373 inlägg Skicka med en variabel som säger hur många input det finns, typ:
<form action="sida.php" method="post">
<input type="text" name="1" id="1">blah1
<input type="text" name="2" id="2">blah2
<input type="text" name="3" id="3">blah3
<input type="text" name="4" id="4">blah4
<input type="hidden" name="antal" id="<?=i?>">blah1
<input type="submit" value="skicka">
</form>
Sedan loopar du bara igenom allt när du ska kolla...
ironheadMedlem sedan mars 20011 346 inlägg Tack Ricki!
Men går det inte med typ:
For each [inputruta] In [nånting] ???
Eller är jag helt ute å cyklar?!
RickiMedlem sedan juni 2000373 inlägg Tror inte det, det funkar typ bara i listboxar å sånt...
ironheadMedlem sedan mars 20011 346 inlägg ok!
Men om man skulle byta ut inputrutor mot listboxar hur skulle for-each satsen se ut?
MatteMedlem sedan aug. 20002 975 inlägg Om du loopar så att det blir så här:
<form action="sida.php" method="post">
<input type="text" name="var1" id="1">blah1
<input type="text" name="var2" id="2">blah2
<input type="text" name="var3" id="3">blah3
<input type="text" name="var4" id="4">blah4
<input type="submit" value="skicka">
</form>
så kan du på skriptsidan samla dom i en array:
foreach($_POST as $key => $val){
if (substr($key,0,3) == "var"){
$nyArray[substr($key,3)] = $val;
}
}
där index för arrayen är den siffra du angav efter 'var'.
ironheadMedlem sedan mars 20011 346 inlägg Very nice Matte...tackarr!
ironheadMedlem sedan mars 20011 346 inlägg Nu hamnar ju alla postningar i $val, hur kan man separera dom så man kan lägga in dom i databasen på rätt ställe med UPDATE?
Hittade det: echo "$key = $val<br>";
MatteMedlem sedan aug. 20002 975 inlägg Om jag förstår rätt nu så motsvarar de id du hade i formuläret id i på rader i din tabell. Då skulle du kunna göra så här:
foreach($_POST as $key => $val){
if (substr($key,0,3) == "var"){
$nyArray[substr($key,3)] = $val;
}
}
foreach($nyarray as $key => $val){
mysql_query("UPDATE tabell SET fältnamn='$val' WHERE id='$key'");
}
Men är det de enda fälten du har i ditt formulär så skulle du kunna köra det direkt mot $_POST
foreach($_POST as $key => $val){
mysql_query("UPDATE tabell SET fältnamn='$val' WHERE id='".substr($key,0,3)."'");
}
ironheadMedlem sedan mars 20011 346 inlägg försöker fånga formuläret med:
include( '../includes/dbConn.php' );
$company = "";
$company = $_GET["id"];
foreach($_POST as $key => $val){
$query = "UPDATE sortorder SET SortOrder='$val' WHERE id='".substr($key,0,3)."' AND CompId='$company'";
$result = mysql_query($query, $link);
}
Men inget händer i databasen..kan nån se vad som är fel?
ironheadMedlem sedan mars 20011 346 inlägg äsch glömde ändra till:
$query = "UPDATE sortorder SET SortOrder='$val' WHERE id='".substr($key,3)."' AND CompId='$company'";
Absolut lysande Matte...tack!