Probleem met for lus
Jeremy Geen
09/10/2011 15:34:55Hallo iedereen ,
$id = $_GET['sID'];
function getpostsql($id) {
if ($id == 1) {
$sql= "SELECT * FROM clans ORDER BY thread_id DESC";
}
elseif ($id == 2) {
$sql= "SELECT * FROM pvp ORDER BY thread_id DESC";
}
elseif ($id == 3) {
$sql= "SELECT * FROM pvm ORDER BY thread_id DESC";
}
else {
$sql = "";
}
return $sql;
}
$postsql = getpostsql($id);
$result = mysql_query($postsql);
$postdata[] = array();
// SET UP A 2D ARRAY TO HOLD ALL THE DATA FROM THE POSTS TABLE
$totalrows = mysql_num_rows($result);
if ($totalrows > 0) {
for ($i = 0; $i < $totalrows; $i++) {
$postsql2 = getpostsql($id);
$result3 = mysql_query($postsql2);
$postdata[$i] = mysql_fetch_array($result3);
echo $postdata[$i]['topic'];
}
}
Als bovenstaande output krijg ik 10 keer de topic titel van 1 rij , ipv 10 verschillende topic titels.
Kan iemand mij aub uitleggen wat ik verkeerd doe??
Bedankt,
Jeremy
$id = $_GET['sID'];
function getpostsql($id) {
if ($id == 1) {
$sql= "SELECT * FROM clans ORDER BY thread_id DESC";
}
elseif ($id == 2) {
$sql= "SELECT * FROM pvp ORDER BY thread_id DESC";
}
elseif ($id == 3) {
$sql= "SELECT * FROM pvm ORDER BY thread_id DESC";
}
else {
$sql = "";
}
return $sql;
}
$postsql = getpostsql($id);
$result = mysql_query($postsql);
$postdata[] = array();
// SET UP A 2D ARRAY TO HOLD ALL THE DATA FROM THE POSTS TABLE
$totalrows = mysql_num_rows($result);
if ($totalrows > 0) {
for ($i = 0; $i < $totalrows; $i++) {
$postsql2 = getpostsql($id);
$result3 = mysql_query($postsql2);
$postdata[$i] = mysql_fetch_array($result3);
echo $postdata[$i]['topic'];
}
}
Als bovenstaande output krijg ik 10 keer de topic titel van 1 rij , ipv 10 verschillende topic titels.
Kan iemand mij aub uitleggen wat ik verkeerd doe??
Bedankt,
Jeremy
Gewijzigd op 09/10/2011 15:53:43 door Jeremy Geen
PHP hulp
05/11/2024 15:51:42- SanThe -
09/10/2011 15:55:11Dit komt omdat je in de for() steeds de query opnieuw uitvoert en de loop zal dus elke keer het eerst gevonden record pakken.