当前位置:Gxlcms > PHP教程 > PHP问题求助,请大神帮忙。

PHP问题求助,请大神帮忙。

时间:2021-07-01 10:21:17 帮助过:5人阅读

//refresh function//refresh item statusfunction refresh(){		$problem = false;	$result = mysql_query("SELECT ITEM_ID FROM ITEM WHERE END > NOW() AND STATUS != 'SOLD'");	if($result)	{			while ($row = mysql_fetch_array($result))		{			$act_id = $row['ITEM_ID'];			mysql_query("UPDATE ITEM SET STATUS = 'ACTIVE' WHERE ITEM_ID = $act_id");		}							$result = mysql_query("SELECT ITEM_ID, WINNER_ID, END FROM ITEM WHERE END <= NOW() AND STATUS != 'SOLD'");				if($result)		{					while ($row = mysql_fetch_array($result))			{				$exp_id = $row['ITEM_ID'];				$win_id = $row['WINNER_ID'];				$time = $row['END'];								// Error here. There is only one row has been displayed. There should be 4 rows actully.                 // Result:  7  0   2013-04-14 00:00:00 				echo $exp_id."
"; echo $win_id."
"; echo $time."
"; if($win_id == 0) { mysql_query("UPDATE ITEM SET STATUS = 'EXPIRE' WHERE ITEM_ID = $exp_id"); } else { mysql_query("UPDATE ITEM SET STATUS = 'SOLD' WHERE ITEM_ID = $exp_id"); echo "INSERT INTO ITEM_SOLD VALUES($exp_id,$win_id,'".$time."','N')"; mysql_query("INSERT INTO ITEM_SOLD VALUES($exp_id,$win_id,'".$time."','N')"); } } $result = mysql_query("SELECT ITEM_ID FROM ITEM WHERE BEGIN > NOW() AND STATUS != 'SOLD'"); if($result) { while ($row = mysql_fetch_array($result)) { $na_id = $row['ITEM_ID']; mysql_query("UPDATE ITEM SET STATUS = 'NA' WHERE ITEM_ID = $na_id"); } } else { $problem = true; } } else { $problem = true; } } else { $problem = true; } if($problem) { print '

Cannot refresh active item.

'; }}


Same query in phpMyadmin, but different result:

SQL query: SELECT ITEM_ID, WINNER_ID, END FROM ITEM WHERE END <= NOW() AND STATUS != 'SOLD' LIMIT 0, 30 ;
Rows: 4

ITEM_ID WINNER_ID END
2 4 2013-04-14 00:00:00
4 2 2013-04-13 00:00:00
6 1 2013-04-14 00:00:00
7 0 2013-04-14 00:00:00


Anyone can help me to solve the problem? Thanks a lot!!!


回复讨论(解决方案)

mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有 on the line 21 of you code

mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有 on the line 21 of you code

I don't quite understand... Any suggested solution?
(I don't have chinese input software on this computer, sorry about that...)

i mean the function mysql_fetch_array() just return one row result

u use the funciton function mysql_fetch_array() in the code on 21 line has a error ...

mysql_fetch_array ? Fetch a result row as an associative array, a numeric array, or both

http://www.php.com/manual/en/function.mysql-fetch-array.php

u use the funciton function mysql_fetch_array() in the code on 21 line has a error ...

mysql_fetch_array ? Fetch a result row as an associative array, a numeric array, or both

http://www.php.com/manual/en/function.mysql-fetch-array.php

Thanks for taking time to answer my question. But I am new to php and mySQL, I cannot solve this myself.
Can you just simply give me a solution?

i mean the function mysql_fetch_array() just return one row result

I am so sorry!
Something is wrong in my database connection header file...
I choosed the wrong database. Now it is fixed.


i mean the function mysql_fetch_array() just return one row result

I am so sorry!
Something is wrong in my database connection header file...
I choosed the wrong database. Now it is fixed.



congratulation

人气教程排行