13. februar 2006 - 13:33Der er
11 kommentarer og 1 løsning
mysql_fetch_assoc ødelægger funktion?
hey alle...
har disse funktioner: <?
function findTopPageID($thisPage) {
$continue = true;
while ($continue == true) { $SQL = "SELECT * FROM artikel WHERE idartikel = $thisPage"; $mq_check = mysql_query($SQL); $thisRow = mysql_fetch_assoc($mq_check); $parent = $thisRow['parent_page']; if (is_null($parent)) { $continue = false; } else { $thisPage = $parent; }
}
return $thisPage; }
function subPagesMenu($pageid, $level,$oldopen,$open = ""){ if ($pageid == "NULL") { $SQL = "SELECT * FROM artikel WHERE parent_page IS NULL"; $mq = mysql_query($SQL) or die(mysql_error());
#echo $SQL; } else { $SQL = "SELECT * FROM artikel WHERE parent_page = '$pageid' AND aktiv = '1'"; $mq = mysql_query($SQL) or die (mysql_error());
Warning: mysql_data_seek() [function.mysql-data-seek]: Offset 0 is invalid for MySQL result index 9 (or the query data is unbuffered) in c:\websteder\worldcafe\includes\functions.php on line 175
Problemet er at du prøver at lave din funktion rekursiv!
Og i første kald får $mq et resultset fra mysql og så looper du det med while, og så kører du samme funktion igen inde i loopen som så giver $mq et nyt resultset.. og når så det kald er gennemført og den vender tilbage til første kald af funktionen og den vil lave næste loop så er det ikke samme resultset som den startede med!
Ved ikke lige hvordan du skal løse den der... men har tænkt over en idé!
Noget i den her stil:
$rc = 0; $mq = array(); function subPagesMenu($pageid, $level,$oldopen,$open = ""){ GLOBAL $rc, $mq; $rc++;
if($pageid == "NULL") { $SQL = "SELECT * FROM artikel WHERE parent_page IS NULL"; $mq[$rc] = mysql_query($SQL) or die(mysql_error()); } else { $SQL = "SELECT * FROM artikel WHERE parent_page = '$pageid' AND aktiv = '1'"; $mq[$rc] = mysql_query($SQL) or die (mysql_error()); }
Har også lige rydtet lidt op i din kode.. alt det batch programmering er jo ikke til at holde ud at se på :P Der tænker jeg på din ekstreme brug af <? ?> og <?= ?>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.