任何人都可以給我任何關於如何可以爲傳銷項目(PHP/MySQL)計數下線的想法。目前我正在使用下面的方法。但是當我的數據庫記錄變爲300或更多時,它會顯示:第51行的最大執行時間超過30秒(我認爲這發生在無限循環中)。請幫幫我。什麼應該是正確的方式?如何統計下線,給我任何想法(傳銷項目)
我當前的代碼:
<?php
require_once('configuration.php');
/// main function which will return Total Node Count
function nodecount($id) {
$query = "SELECT * FROM ".memberlogtbl." WHERE locationid='".$id."' and topup >'0'";
$result = mysql_query($query);
$count = mysql_num_rows($result);
$_SESSION['hackx8'] = $_SESSION['hackx8'] + $count;
while($row = mysql_fetch_array($result, MYSQL_BOTH)) {
nodecount($row["id"]);
}
mysql_free_result($result);
return "";
}
$q_l = mysql_query("SELECT `left`,id FROM ".memberlogtbl." WHERE `left` >'0' ORDER BY id ASC");
while($updt_tbl_l = mysql_fetch_row($q_l)) {
unset($_SESSION['hackx8']);
$total_l = nodecount($updt_tbl_l['0']).$_SESSION['hackx8'] + 1;
mysql_query("UPDATE ".memberlogtbl." SET totalleft='$total_l' WHERE id='".$updt_tbl_l['1']."'");
}
/// Update database with letest Total right Count
$q_r = mysql_query("SELECT `right`,id FROM ".memberlogtbl." WHERE `right` >'0' ORDER BY id ASC");
while($updt_tbl_r = mysql_fetch_row($q_r)) {
unset($_SESSION['hackx8']);
$total_r = nodecount($updt_tbl_r['0']).$_SESSION['hackx8'] + 1;
mysql_query("UPDATE ".memberlogtbl." SET totalright='$total_r' WHERE id='".$updt_tbl_r['1']."'");
}
?>
請正確縮進您的代碼。 –