hmm, interesting to know the mysql_fetch_array() by default returns an array that's associative AND numeric - very useful to know & something i'll have to look into more, thanks Jason. Thanks also John, puting curley braces around the variables is a valuable lesson - works wonderfully - cheers. i do have one more problem though, i need to run the loop a 2nd time later in the page in exactly the same way, but nothing is returned. i just copied & pasted the code from one section of the page to the next. do i need to reset one of the vaiables? <select name="dept"> <option>-select-</option> <?PHP while($row = mysql_fetch_array($result_dept)){ echo "<option value=\"{$row['dept']}\">{$row['dept']}</option>\n"; } ?> </select> cheers, Gav -----Original Message----- From: John W. Holmes [mailto:holmes072000@charter.net] Sent: Friday, 29 November 2002 2:59 AM To: 'Gavin Amm'; 'Php-Db (E-mail)' Subject: RE: foreach loop from MySQL select query to HTML select list > i've looked around the web a bit more & it would appear you can't just use > a > foreach function, apparently you need to use a while{foreach{}} structure. > i > was hoping you could just use the foreach function? > > so this is the code now: > > <select name="deptsub_select"> > <option>-select-</option> > <?PHP > while ($row = mysql_fetch_array($result_deptsub)){ > foreach ($row as $value) { > echo "<option value=\"$value\">$value</option>\n"; Where did you get the idea to use foreach? Your select statement is only selecting one column, so $row is only going to have one column in it for each mysql_fetch_*. Use something like this: while($row = mysql_fetch_array($result_deptsub)) { echo "<option value=\"{$row['deptsub']}\">{$row['deptsub']}</option>\n"; } ---John Holmes... This e-mail and any attachments are intended solely for the named addressee, are confidential and may contain legally privileged information. The copying or distribution of them or of any information they contain, by anyone other than the addressee, is prohibited. If you received this e-mail in error, please notify us immediately by return e-mail or telephone +61 2 9413 2944 and destroy the original message. Thank you. As Email is subject to viruses we advise that all Emails and any attachments should be scanned by an up to-date Anti Virus programme automatically by your system. It is the responsibility of the recipient to ensure that all Emails and any attachments are cleared of Viruses before opening. KSG can not accept any responsibility for viruses that maybe contained here in. Please advise KSG by return Email if you believe any Email sent by our system may contain a virus. It should be noted that most Anti Virus programmes can not scan encrypted file attachments (example - documents saved with a password). Thus extra care should be taken when opening these files. Liability limited by the Accountants Scheme, approved under the Professional Standards Act 1994 (NSW). Level 4 54 Neridah Street PO Box 1290 CHATSWOOD NSW 2067 CHATSWOOD NSW 2057 Ph: +61 2 9413 2944 Fax: +61 2 9413 9901 -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php