Я не могу понять, почему этот сценарий делает это, поэтому мне нужен человек с большим опытом / лучшими глазами, чтобы рассказать мне, в чем проблема. Я не могу найти что-либо в другом месте в Интернете, но, возможно, я неправильно формулирую свои условия поиска. Этот набор циклов While / Foreach работает просто отлично, за исключением того, что он выплескивает одну и ту же строку четыре раза:
$squery = "SELECT username, name FROM name_records"; $sresult = mysql_query($squery); while($srow = mysql_fetch_array($sresult)) { foreach ($srow as $scell) { $username = $srow['username']; $name = $srow['name']; $queryi = "SELECT SUM(totalseconds) FROM gradpoint WHERE username = '$username'"; $resulti = mysql_query($queryi) or die(mysql_error()); while($rowi = mysql_fetch_array($resulti)){ $total = $rowi['SUM(totalseconds)']; $minutes = $total / 60; echo $name ." has worked for " .$minutes ." minutes today! Good jorb!<p/>"; } } }
Если первые две записи в таблице name_records были «Bob Ross, br01234» и «Alfred Hitchcock, ah43210», то приведенный выше код выплевывал бы это:
Bob Ross has worked for 342 minutes today! Good jorb! Bob Ross has worked for 342 minutes today! Good jorb! Bob Ross has worked for 342 minutes today! Good jorb! Bob Ross has worked for 342 minutes today! Good jorb! Alfred Hitchcock has worked for 187 minutes today! Good jorb! Alfred Hitchcock has worked for 187 minutes today! Good jorb! Alfred Hitchcock has worked for 187 minutes today! Good jorb! Alfred Hitchcock has worked for 187 minutes today! Good jorb!
Почему четыре? Зачем?! Я попробовал несколько разных способов исправить это (извините, я не помню, что я пробовал сейчас), но безрезультатно.