Re: [PHP] Update row problems
your query needs to be inside the foreach loop so that it runs for every item, at the moment it just runs after you've scanned through all the items so just does the last one. Tim Ward http://www.chessish.com mailto:[EMAIL PROTECTED] - Original Message - From: Steve Jackson [EMAIL PROTECTED] To: PHP General [EMAIL PROTECTED] Sent: Monday, January 27, 2003 11:46 AM Subject: [PHP] Update row problems Hi all, I've been playing with this for a few hours now (over the course of a couple of days) and it's getting frustrating! All I want to do is to be able to make one row in the database set the order that my categories appear on my website. Now I can do this fine simply by using ORDER_BY but I want to have my users be able to update the order through an admin page like so: - Catid | catname | catdesc | catorder | 1name desc 1 2name desc 2 3name desc 3 4name desc 4 __ Basically I have a form which takes data from the table above and displays catname (just echoed) and catorder in a text form field. When I submit the form I want to update catorder with whatever number the user puts in the field. Currently my code updates only one of the category order numbers. So my form code: form action=eshop_processcatorder.php method=post /td/tr ? while ($array = mysql_fetch_array($mysql)) { echo trtd width='150'span class='adminisoleipa'; echo {$array[catname]}; echo /tdtdinput type='text' size='2' name='catorder[{$array[catid]}]' value='{$array[catorder]}'; echo /span/td/tr; } ? trtdbr input type=submit name=Submit value=Submit class=nappi /form That does everything I need it to do. However what am I doing wrong when I try to process it using this code? foreach($_POST[catorder] as $catid = $catorder) { $query = update categories set catorder=$catorder where catid=$catid; } $result = mysql_query($query) or die(Query failure: .mysql_error()); if (!$result) { echo table width='100%' border='0' cellspacing='0' cellpadding='0' align='center' bgcolor='#629D39'; echo trtdimg src='images/admin_orders_administrate.gif'/td/tr; echo trtdnbsp;/td/tr; echo trtdspan class='adminisoleipa'Could not change details: please a href='mailto:[EMAIL PROTECTED]'click here/a to email the administratorbrbr/span; echo /td; echo /tr; echo /table; } else { echo table width='100%' border='0' cellspacing='0' cellpadding='0' align='center' bgcolor='#629D39'; echo trtdimg src='images/admin_orders_administrate.gif'/td/tr; echo trtdnbsp;/td/tr; echo trtdspan class='adminisoleipa'The category page has had the order in which categories appear changed.brbr/span; echo /td; echo /tr; echo /table; } Any help appraciated. Kind regards, Steve Jackson Web Developer Viola Systems Ltd. http://www.violasystems.com [EMAIL PROTECTED] Mobile +358 50 343 5159 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Update row problems
I'm processing on a different page so what would I use instead of $_POST? print_r($_POST) Didn't display anything or diagnose anything. Steve Jackson Web Developer Viola Systems Ltd. http://www.violasystems.com [EMAIL PROTECTED] Mobile +358 50 343 5159 -Original Message- From: Tim Ward [mailto:[EMAIL PROTECTED]] Sent: 27. tammikuuta 2003 14:57 To: Steve Jackson Subject: Re: [PHP] Update row problems sounds like $_POST[catorder] isn't an array - if you're posting to the same page you need to wrap the processing in something to test if the form has been posted (e.g. is_array($_POST[catorder])), or maybe you're using an older versionof PHP where $_POST isn't available -try using print_r($_POST) for diagnostics. Tim Ward http://www.chessish.com mailto:[EMAIL PROTECTED] - Original Message - From: Steve Jackson [EMAIL PROTECTED] To: 'Tim Ward' [EMAIL PROTECTED] Sent: Monday, January 27, 2003 12:52 PM Subject: RE: [PHP] Update row problems Ok, I put the query in the loop and now I get this error? foreach($_POST[catorder] as $catid = $catorder) { $query = update categories set catorder=$catorder where catid=$catid; $result = mysql_query($query) or die(Query failure: .mysql_error()); } Warning: Invalid argument supplied for foreach() in /home/stephenj/public_html/viola/eadmin/eshop_processcatorder.php on line 27 Is it a $_POST problem? Using PHP 4.06 Steve Jackson Web Developer Viola Systems Ltd. http://www.violasystems.com [EMAIL PROTECTED] Mobile +358 50 343 5159 -Original Message- From: Tim Ward [mailto:[EMAIL PROTECTED]] Sent: 27. tammikuuta 2003 14:11 To: PHP General; Steve Jackson Subject: Re: [PHP] Update row problems your query needs to be inside the foreach loop so that it runs for every item, at the moment it just runs after you've scanned through all the items so just does the last one. Tim Ward http://www.chessish.com mailto:[EMAIL PROTECTED] - Original Message - From: Steve Jackson [EMAIL PROTECTED] To: PHP General [EMAIL PROTECTED] Sent: Monday, January 27, 2003 11:46 AM Subject: [PHP] Update row problems Hi all, I've been playing with this for a few hours now (over the course of a couple of days) and it's getting frustrating! All I want to do is to be able to make one row in the database set the order that my categories appear on my website. Now I can do this fine simply by using ORDER_BY but I want to have my users be able to update the order through an admin page like so: - Catid | catname | catdesc | catorder | 1name desc 1 2name desc 2 3name desc 3 4name desc 4 __ Basically I have a form which takes data from the table above and displays catname (just echoed) and catorder in a text form field. When I submit the form I want to update catorder with whatever number the user puts in the field. Currently my code updates only one of the category order numbers. So my form code: form action=eshop_processcatorder.php method=post /td/tr ? while ($array = mysql_fetch_array($mysql)) { echo trtd width='150'span class='adminisoleipa'; echo {$array[catname]}; echo /tdtdinput type='text' size='2' name='catorder[{$array[catid]}]' value='{$array[catorder]}'; echo /span/td/tr; } ? trtdbr input type=submit name=Submit value=Submit class=nappi /form That does everything I need it to do. However what am I doing wrong when I try to process it using this code? foreach($_POST[catorder] as $catid = $catorder) { $query = update categories set catorder=$catorder where catid=$catid; } $result = mysql_query($query) or die(Query failure: .mysql_error()); if (!$result) { echo table width='100%' border='0' cellspacing='0' cellpadding='0' align='center' bgcolor='#629D39'; echo trtdimg src='images/admin_orders_administrate.gif'/td/tr; echo trtdnbsp;/td/tr; echo trtdspan class='adminisoleipa'Could not change details: please a href='mailto:[EMAIL PROTECTED]'click here/a to email the administratorbrbr/span; echo /td; echo /tr; echo /table; } else { echo table width='100%' border='0' cellspacing='0' cellpadding='0' align='center' bgcolor='#629D39'; echo trtdimg src='images/admin_orders_administrate.gif'/td/tr; echo trtdnbsp;/td/tr; echo trtdspan class='adminisoleipa'The category page has had the order in which categories appear changed.brbr/span; echo /td; echo /tr; echo /table; } Any help appraciated
Re: [PHP] Update row problems
what version of PHP? try $HTTP_POST_VARS instead. Tim Ward http://www.chessish.com mailto:[EMAIL PROTECTED] - Original Message - From: Steve Jackson [EMAIL PROTECTED] To: PHP General [EMAIL PROTECTED] Sent: Monday, January 27, 2003 1:14 PM Subject: RE: [PHP] Update row problems I'm processing on a different page so what would I use instead of $_POST? print_r($_POST) Didn't display anything or diagnose anything. Steve Jackson Web Developer Viola Systems Ltd. http://www.violasystems.com [EMAIL PROTECTED] Mobile +358 50 343 5159 -Original Message- From: Tim Ward [mailto:[EMAIL PROTECTED]] Sent: 27. tammikuuta 2003 14:57 To: Steve Jackson Subject: Re: [PHP] Update row problems sounds like $_POST[catorder] isn't an array - if you're posting to the same page you need to wrap the processing in something to test if the form has been posted (e.g. is_array($_POST[catorder])), or maybe you're using an older versionof PHP where $_POST isn't available -try using print_r($_POST) for diagnostics. Tim Ward http://www.chessish.com mailto:[EMAIL PROTECTED] - Original Message - From: Steve Jackson [EMAIL PROTECTED] To: 'Tim Ward' [EMAIL PROTECTED] Sent: Monday, January 27, 2003 12:52 PM Subject: RE: [PHP] Update row problems Ok, I put the query in the loop and now I get this error? foreach($_POST[catorder] as $catid = $catorder) { $query = update categories set catorder=$catorder where catid=$catid; $result = mysql_query($query) or die(Query failure: .mysql_error()); } Warning: Invalid argument supplied for foreach() in /home/stephenj/public_html/viola/eadmin/eshop_processcatorder.php on line 27 Is it a $_POST problem? Using PHP 4.06 Steve Jackson Web Developer Viola Systems Ltd. http://www.violasystems.com [EMAIL PROTECTED] Mobile +358 50 343 5159 -Original Message- From: Tim Ward [mailto:[EMAIL PROTECTED]] Sent: 27. tammikuuta 2003 14:11 To: PHP General; Steve Jackson Subject: Re: [PHP] Update row problems your query needs to be inside the foreach loop so that it runs for every item, at the moment it just runs after you've scanned through all the items so just does the last one. Tim Ward http://www.chessish.com mailto:[EMAIL PROTECTED] - Original Message - From: Steve Jackson [EMAIL PROTECTED] To: PHP General [EMAIL PROTECTED] Sent: Monday, January 27, 2003 11:46 AM Subject: [PHP] Update row problems Hi all, I've been playing with this for a few hours now (over the course of a couple of days) and it's getting frustrating! All I want to do is to be able to make one row in the database set the order that my categories appear on my website. Now I can do this fine simply by using ORDER_BY but I want to have my users be able to update the order through an admin page like so: - Catid | catname | catdesc | catorder | 1name desc 1 2name desc 2 3name desc 3 4name desc 4 __ Basically I have a form which takes data from the table above and displays catname (just echoed) and catorder in a text form field. When I submit the form I want to update catorder with whatever number the user puts in the field. Currently my code updates only one of the category order numbers. So my form code: form action=eshop_processcatorder.php method=post /td/tr ? while ($array = mysql_fetch_array($mysql)) { echo trtd width='150'span class='adminisoleipa'; echo {$array[catname]}; echo /tdtdinput type='text' size='2' name='catorder[{$array[catid]}]' value='{$array[catorder]}'; echo /span/td/tr; } ? trtdbr input type=submit name=Submit value=Submit class=nappi /form That does everything I need it to do. However what am I doing wrong when I try to process it using this code? foreach($_POST[catorder] as $catid = $catorder) { $query = update categories set catorder=$catorder where catid=$catid; } $result = mysql_query($query) or die(Query failure: .mysql_error()); if (!$result) { echo table width='100%' border='0' cellspacing='0' cellpadding='0' align='center' bgcolor='#629D39'; echo trtdimg src='images/admin_orders_administrate.gif'/td/tr; echo trtdnbsp;/td/tr; echo trtdspan class='adminisoleipa'Could not change details: please a href='mailto:[EMAIL PROTECTED]'click here/a to email the administratorbrbr/span; echo /td; echo
RE: [PHP] Update row problems
Thanks. That was the problem. Im using 4.0.6 so it's a bit out of date. Cheers, Steve Jackson Web Developer Viola Systems Ltd. http://www.violasystems.com [EMAIL PROTECTED] Mobile +358 50 343 5159 -Original Message- From: Tim Ward [mailto:[EMAIL PROTECTED]] Sent: 27. tammikuuta 2003 15:32 To: PHP General; Steve Jackson Subject: Re: [PHP] Update row problems what version of PHP? try $HTTP_POST_VARS instead. Tim Ward http://www.chessish.com mailto:[EMAIL PROTECTED] - Original Message - From: Steve Jackson [EMAIL PROTECTED] To: PHP General [EMAIL PROTECTED] Sent: Monday, January 27, 2003 1:14 PM Subject: RE: [PHP] Update row problems I'm processing on a different page so what would I use instead of $_POST? print_r($_POST) Didn't display anything or diagnose anything. Steve Jackson Web Developer Viola Systems Ltd. http://www.violasystems.com [EMAIL PROTECTED] Mobile +358 50 343 5159 -Original Message- From: Tim Ward [mailto:[EMAIL PROTECTED]] Sent: 27. tammikuuta 2003 14:57 To: Steve Jackson Subject: Re: [PHP] Update row problems sounds like $_POST[catorder] isn't an array - if you're posting to the same page you need to wrap the processing in something to test if the form has been posted (e.g. is_array($_POST[catorder])), or maybe you're using an older versionof PHP where $_POST isn't available -try using print_r($_POST) for diagnostics. Tim Ward http://www.chessish.com mailto:[EMAIL PROTECTED] - Original Message - From: Steve Jackson [EMAIL PROTECTED] To: 'Tim Ward' [EMAIL PROTECTED] Sent: Monday, January 27, 2003 12:52 PM Subject: RE: [PHP] Update row problems Ok, I put the query in the loop and now I get this error? foreach($_POST[catorder] as $catid = $catorder) { $query = update categories set catorder=$catorder where catid=$catid; $result = mysql_query($query) or die(Query failure: .mysql_error()); } Warning: Invalid argument supplied for foreach() in /home/stephenj/public_html/viola/eadmin/eshop_processcatorder.php on line 27 Is it a $_POST problem? Using PHP 4.06 Steve Jackson Web Developer Viola Systems Ltd. http://www.violasystems.com [EMAIL PROTECTED] Mobile +358 50 343 5159 -Original Message- From: Tim Ward [mailto:[EMAIL PROTECTED]] Sent: 27. tammikuuta 2003 14:11 To: PHP General; Steve Jackson Subject: Re: [PHP] Update row problems your query needs to be inside the foreach loop so that it runs for every item, at the moment it just runs after you've scanned through all the items so just does the last one. Tim Ward http://www.chessish.com mailto:[EMAIL PROTECTED] - Original Message - From: Steve Jackson [EMAIL PROTECTED] To: PHP General [EMAIL PROTECTED] Sent: Monday, January 27, 2003 11:46 AM Subject: [PHP] Update row problems Hi all, I've been playing with this for a few hours now (over the course of a couple of days) and it's getting frustrating! All I want to do is to be able to make one row in the database set the order that my categories appear on my website. Now I can do this fine simply by using ORDER_BY but I want to have my users be able to update the order through an admin page like so: - Catid | catname | catdesc | catorder | 1name desc 1 2name desc 2 3name desc 3 4name desc 4 __ Basically I have a form which takes data from the table above and displays catname (just echoed) and catorder in a text form field. When I submit the form I want to update catorder with whatever number the user puts in the field. Currently my code updates only one of the category order numbers. So my form code: form action=eshop_processcatorder.php method=post /td/tr ? while ($array = mysql_fetch_array($mysql)) { echo trtd width='150'span class='adminisoleipa'; echo {$array[catname]}; echo /tdtdinput type='text' size='2' name='catorder[{$array[catid]}]' value='{$array[catorder]}'; echo /span/td/tr; } ? trtdbr input type=submit name=Submit value=Submit class=nappi /form That does everything I need it to do. However what am I doing wrong when I try to process it using this code? foreach($_POST[catorder] as $catid = $catorder) { $query = update categories set catorder=$catorder where