Tha_Zaynt Skrevet 19. august 2004 Del Skrevet 19. august 2004 (endret) Prøvde meg på en paging-tutorial på sindrem.com, men jeg får bare mySQL error; Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\appserv\www\news\vis.php on line 24 Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\appserv\www\news\vis.php on line 35 vis.php <link rel="stylesheet" type="text/css" href="style.css"> <? class Paging { var $x; var $display = 10; //antall poster per side var $XX = '<br>Ingen resultater funnet<br>'; var $counter, $number, $pages, $i, $query2,$query, $result2, $result, $num_record; function DoPaging($startrow, $prevrow, $nextrow) { $global_db = mysql_connect('localhost', 'admin', 'xxxxx'); mysql_select_db($mySQLdb, $global_db); $this->Query = "SELECT * FROM nyhet"; $this->result = mysql_query($this->Query); $this->num_record = mysql_num_rows($this->result); if (empty($startrow)) { $startrow=0; } $this->Query2 = "SELECT * FROM nyhet ORDER BY dato DESC LIMIT $startrow, $this->display"; $this->result2 = mysql_query($this->Query2); $this->counter = 0; $this->number = mysql_num_rows($this->result2); $this->i = 0; $teller = 0; if ($this->number == 0) : print("<br><center><P><b>Det er mest sannsynlig ingen poster registrert i denne kategorien.</b></p></center>"); elseif ($this->number > 0) : while ($this->i < $this->number): //****************************************************** //her må du endre verdiene //****************************************************** //variabel feltnavn i tabellen $tittel = mysql_result($this->result2,$this->i,"tittel"); $navn = mysql_result($this->result2,$this->i,"navn"); $nyhet = mysql_result($this->result2,$this->i,"nyhet"); $dato = mysql_result($this->result2,$this->i,"dato"); $id = mysql_result($this->result2,$this->i,"id"); echo " <table class='tdtop' width='$TableWidth' cellpadding='2' border='1'> <tr> <td class='tekst' align='left'>$tittel</td> </tr> </table> <table class='tdmid' cellpadding='2' width='$TableWidth' border='1'> <tr> <td>$nyhet</td> </tr> </table> <table class='tdbottom' cellpadding='2' width='$TableWidth' border='1'> <tr> <td class='tekst2' align='left'>skrevet $dato av $navn </td> <td align='right' class='tekst2'> [ <a href=\"slettinnhold.php?id=$id\">Slett</a> | <a href=\"rediger.php?id=$id\">Rediger</a> ]</td> </tr> </table> <p>"; //****************************************************** //Slutt endre. Resten bør være intakt. Har du ingen ID, så fjerner du denne fra print-statementet nedenfor. //****************************************************** $this->i++; endwhile; endif; if ($startrow != 0) { $prevrow = $startrow - $this->display; print("<a href=\"$PHP_SELF?startrow=$prevrow&ID=$ID\">Nyere</a>\n"); } $this->pages = intval($this->num_record / $this->display); if ($this->num_record % $this->display) { $this->pages++; } if ($this->pages > 1) { for ($i=1; $i <= $this->pages; $i++) { $nextrow = $this->display * ($i - 1); if(!$this->number == 0) { print("<a href=\"$PHP_SELF?startrow=$nextrow&ID=$ID\">$i</a>\n "); } } } if (!(($startrow / $this->display) == $this->pages - 1) && $this->pages != 1) { if(!$this->number == 0) { $nextrow = $startrow + $this->display; print("<a href=\"$PHP_SELF?startrow=$nextrow&ID=$ID\">Eldre</a>\n"); } } if ($this->num_record < 1) { print("$this->XX"); } } } $p_obj =& new Paging; $p_obj->DoPaging($_GET['startrow'],$_GET['prevrow'],$_GET['nextrow']); ?> Endret 19. august 2004 av Tha_Zaynt Lenke til kommentar
hallgeirl Skrevet 20. august 2004 Del Skrevet 20. august 2004 Vel, feilmeldingene forklarer problemet ditt ganske greit. Du prøver å bruke en funksjon som krever en mysql result resource (eller hva det heter ). Etter du kjører mysql_query() bør du sjekke at queryen ble utført riktig. Det kan du gjøre sånn: $result = mysql_query("SELECT * FROM tbl"); if (!$result) { die("Query feilet: " . mysql_error()); } Hvis mysql_query feilet, vil du få denne feilen. Dette er en fin måte å finne ut HVORFOR den feiler. Lenke til kommentar
joffar Skrevet 20. august 2004 Del Skrevet 20. august 2004 Du har ikke definert $mySQLdb $global_db = mysql_connect('localhost', 'admin', 'xxxxx'); mysql_select_db($mySQLdb, $global_db); $this->Query = "SELECT * FROM nyhet"; siden systemet ikke hvet hvilken database den skal kobles mot, vil den heller ikke finne tabellen nyhet. Lenke til kommentar
Tha_Zaynt Skrevet 20. august 2004 Forfatter Del Skrevet 20. august 2004 Jepp. Så ikke den..nå funker det. Takk for hjelpen! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå