On sze, 2007-01-17 at 16:13 +0200, William Stokes wrote: > But if the form is printed with foreach don't I need some type of counter? > Otherwise the form that is posted will contain only the data of the last > iteration of the loop that wrote the original form. right? > > -Will > so you want to print the same form fields for each iteration on the same page? then I would use a method like echo "<select name=\"record_$count_tyyppi\">" which results in <select name=\"record_1_tyyppi\"> for record 1 and so on and you can access the values in $_POST/$_GET like $_POST["record_$count_tyyppi"] greets Zoltán Németh > > ""Nmeth Zoltn"" <znemeth@xxxxxxxxxxxxxx> kirjoitti > viestiss:1169041453.5202.3.camel@xxxxxxxxxxxxxxx > > On sze, 2007-01-17 at 15:23 +0200, William Stokes wrote: > >> Hello, > >> > >> I have a script which retrieves rows from DB and prints them to a user > >> editable form to a web page. I don't know how to print the form objects > >> so > >> that all editable fields are put to arrays for updating them to DB. I > >> have > >> tried to create arrays sarjanID[] etc. but havent got it to work... > >> > >> Pls. see code below. > >> > >> Thanks > >> -Will > >> > >> $sql = "SELECT * FROM x_kilpailu WHERE omistaja = '$updateid' ORDER BY > >> 'sorter' ASC"; > >> $row = mysql_fetch_row($result); > >> $result = mysql_query($sql); > >> $num = mysql_num_rows($result); > >> $cur = 1; > >> while ($num >= $cur) { > > > > why don't you use this: > > > > while ($row = mysql_fetch_array($result)) { > > > > and then you can omit $cur, and also you won't need $num > > > >> $row = mysql_fetch_array($result); > >> $id = $row["id"]; > >> $nimi = $row["nimi"]; > >> $kilpailutyyppi = $row["kilpailutyyppi"]; > >> $sarjataulukko = $row["sarjataulukko"]; > >> $joukkueitakpl = $row["joukkueitakpl"]; > >> $sorter = $row["sorter"]; > >> $kilpailut[] = array("$id", "$nimi", "$kilpailutyyppi", > >> "$sarjataulukko", > >> "$joukkueitakpl", "$sorter"); //create arrays here > >> $cur++; > >> } > >> > >> ...... > >> > >> foreach ($kilpailut as $value) { //print arrays to a web form > >> if ($value[3] == 1) { > >> $staulu = "Kyll"; > >> } elseif ($value[3] == 0) { > >> $staulu = "Ei"; > >> } > >> > >> print "<input type=\"hidden\" name=\"sarjanID[ID]\" value > >> =\"$value[0]\">\n"; > >> print "<input type=\"text\" name=\"sarjanID[nimi]\" size=\"20\" > >> maxlength=\"20\" value =\"$value[1]\">\n"; > >> print "<select name=\"sarjanID[tyyppi]\">\n"; > >> print "<option selected>$value[2]</option>\n"; > >> print "<option>Sarja</option>\n"; > >> print "<option>Cup</option>\n"; > >> print "</select>\n"; > >> print "<select name=\"sarjanID[sarjataulukko]\">\n"; > >> print "<option selected>$staulu</option>\n"; > >> print "<option>Kylla;</option>\n"; > >> print "<option>Ei</option>\n"; > >> print "</select>\n"; > >> print "<select name=\"sarjanID[joukkueitayht]\">\n"; > >> print "<option selected>$value[4]</option>\n"; > >> for ($i=3; $i<=20; $i++ ) { > >> print "<option>$i</option>\n"; > >> } > >> print "</select>\n"; > >> print "<input type=\"text\" name=\"sarjanID[sortteri]\" value > >> =\"$value[5]\">\n"; > >> print "<input type=\"checkbox\" name=\"poista\">Poista > >> kilpailu<br><br>\n"; > >> } > >> > > > > all input fields go to $_POST/$_GET depending on the form method you > > use. so you don't have to create an array in the form itself. > > just do it like > > > > <select name=\"tyyppi\"> > > > > and then you will have that value in $_POST['tyyppi'] or $_GET['tyyppi'] > > > > greets > > Zoltn Nmeth > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php