MDanz Posted February 27, 2011 Share Posted February 27, 2011 the function keeps returning 1. if i echo $i within the function then it counts up to six. the function should return 6, because there are 6 results from the mysql_query, so $i iterates upto 6. please any help solving this? $i=0; $thewidth = $database->width($theid, $i); echo $thewidth; function width($theid,$i) { $get = mysql_query("SELECT * FROM block WHERE sid='$theid'",$this->connect); $i++; while($row = mysql_fetch_assoc($get)) { $number = $row['id']; $this->width($number, $i); return $i; } } Quote Link to comment Share on other sites More sharing options...
kenrbnsn Posted February 27, 2011 Share Posted February 27, 2011 Why are you using recursion at all? What are you trying to accomplish? Ken Quote Link to comment Share on other sites More sharing options...
MDanz Posted February 27, 2011 Author Share Posted February 27, 2011 the variable in the WHERE clause is the result of that WHERE clause. if that sounds confusing. basically the next result in the query is dependent on the previous result. If i used a while loop then i would have to keep on repeating the while loop for every result. With function recursion it repeats it for me. unless you know a better way than function recursion to loop the below so the result($number) of the query is inputted back into the WHERE clause and repeated. $get = mysql_query("SELECT * FROM block WHERE sid='$number'",$this->connect); while($row = mysql_fetch_assoc($get)) { $number = $row['id']; } Quote Link to comment Share on other sites More sharing options...
MDanz Posted February 27, 2011 Author Share Posted February 27, 2011 nvm i solved it using sessions. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.