Hi, Mike Smith wrote:
>I am stumped on a project for a receiving system. I'm not sure how to handle >receiving more than one line item. I can UPDATE ... WHERE id=$detid when I >have 1 item, but how would I get the SQL to fire X times depending on the >number of line items I have AND UPDATE the appropriate record. > >Currently I have the following: > >index.php -> results.php -> recv.php >Search for | Results of PO | Page to receive/back order >PO ($ponum | Search | items. >or $vendor) > >The code below displays the line items from the PO: > >... >$myServer = "myserver"; >$myUser = "login"; >$myPass = "password"; >$myDB = "db"; > >$s = @mssql_connect($myServer, $myUser, $myPass) >or die("Couldn't connect to SQL Server on $myServer"); > >$d = @mssql_select_db($myDB, $s) >or die("Couldn't open database $myDB"); > >$sql="SELECT tbl_po.poid, tbl_po.vend_name, tbl_podet.qty, >tbl_podet.unitqty, tbl_podet.um, tbl_podet.partnum, tbl_podet.partdesc FROM >tbl_po INNER JOIN tbl_podet ON tbl_po.poid = tbl_podet.ponum WHERE >(((tbl_po.poid)=$ponum))"; > >$result = mssql_query($sql); >$numRows = mssql_num_rows($result); >... >[HTML Table header] >... >while($row = mssql_fetch_array($result)) { > >echo "<tr align=center valign=top>"; >echo "<td align=center>" . $row[0] . "</td>"; >echo "<td align=center>" . $row[1] . "</td>"; >echo "<td align=center>" . $row[2] . "</td>"; >echo "<td align=center>" . $row[3] . "</td>"; >echo "<td align=center>" . $row[4] . "</td>"; >echo "<td align=left>" . $row[5] . "</td>"; >echo "<td align=left>" . $row[6] . "</td>"; >echo "<td align=center><input type=\"text\" name=\"recvd\"></td>"; >echo "<td align=center><input type=\"text\" name=\"bkord\"></td>"; > the last two lines should look like this echo "<td align=center><input type=\"text\" name=\"recvd[$row[id]]\"></td>"; echo "<td align=center><input type=\"text\" name=\"bkord[$row[id]]\"></td>"; then you'll get arrays $recvd and $bkord with ids as their keys, which you can loop trought >echo "</tr>"; >echo "</font>"; >echo "</form>"; >} >echo "</table>"; >echo "<input type=\"submit\" name=\"Receive\" value=\"Receive\">"; > >The last 2 boxes in the table are for Recvd qty and Back Order Qty. The >problem is I could have 1 line item or I could have 10 line items. So if I >have 1 item and my SQL is "UPDATE tbl_podetail SET bkorder=$bkord WHERE >id=$detid" that will work fine, but if I have 10 items, the same UPDATE >statement will only update the LAST $detid, it won't fire 10 times for item. >I could add another column with a button next to each line item to save the >changes, but would (for simplicity) rather have the one "Receive" button. > > >Regards, >Mike Smith > > > > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php