Avatar billede annbj Nybegynder
25. april 2003 - 11:02 Der er 13 kommentarer og
1 løsning

Topliste problemer

Jeg har hentet et topliste script i php, har udfyldt databasen korrekt (mener jeg da), og får så denne fejl:

Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in /home/web/gb1885/capri/topliste/index.php on line 36

Jeg er totalt nybegynder i det her, så skær gerne jeres svar ud i pap :o)
(Blondiner i ved*LOL*)

Her kommer koden :

<?
if ($p == "") {
    $p = 0;
}
?>
<? include("database.php") ?>
<? include("header.php") ?>

  <FONT FACE="verdana, arial, helvetica" SIZE=2>
  <CENTER>
  <A HREF="join.php"><B>Join <? echo $TopListName?></B></A>

<?

    $maxdate = time() - ($MaxDays * 86400);

    if ($p == 0)
    {
        $site_info = mysql_query("SELECT
$Members.title AS title, $Members.url AS url, count(*) AS hits,
avg($IPLogg.vote) AS avrating,
$Members.siteid AS id FROM
$IPLogg,$Members WHERE $Members.siteid = $IPLogg.siteid AND $IPLogg.time > '$maxdate'
GROUP BY $Members.siteid ORDER BY hits DESC, avrating DESC");
    }
    else if ($p == 1)
    {
        $site_info = mysql_query("SELECT
$Members.title AS title, $Members.url AS url, count(*) AS hits,
avg($IPLogg.vote) AS avrating,
$Members.siteid AS id FROM
$IPLogg,$Members WHERE $Members.siteid = $IPLogg.siteid AND $IPLogg.time > '$maxdate'
GROUP BY $Members.siteid ORDER BY avrating DESC, hits DESC");
    }

    $site_num = mysql_numrows($site_info);
    if ($f == "")
        $f = 0;
    $maxsites = $f + $TopListSize;



    if ($site_num > $maxsites)
        $site_num = $maxsites;

    $i = $f;


    echo "<TABLE>";
    echo "<TR><TD><FONT FACE=\"arial, helvetica, verdana\" SIZE=2><B>";
    if ($f == 0)
    {
        echo "&nbsp;";
    }
    else
    {
        $f2 = $f-$TopListSize;
        echo "<A HREF=\"?f=$f2&p=$p\">PREV</A>";
    }
    echo "</B></FONT>";
    echo "</TD><TD ALIGN=center COLSPAN=3><FONT FACE=\"verdana, arial, helvetica\" SIZE=1>Only votes from the latest $MaxDays are

counted!</FONT>";
    echo "</TD><TD ALIGN=right><FONT FACE=\"arial, helvetica, verdana\" SIZE=2><B><A

HREF=\"?f=$maxsites&p=$p\">NEXT</A></TD></TR>";

    echo "<TR><TD ALIGN=center WIDTH=35 BGCOLOR=\"#D7D7D7\"><FONT FACE=\"arial, helvetica, verdana\"

SIZE=1><B>Rank</B></FONT></TD>";
    echo "<TD ALIGN=center WIDTH=300 BGCOLOR=\"#D7D7D7\"><FONT FACE=\"arial, helvetica, verdana\" SIZE=1>Site</FONT></TD>";
    echo "<TD ALIGN=center WIDTH=50 BGCOLOR=\"#D7D7D7\"><FONT FACE=\"arial, helvetica, verdana\" SIZE=1><A

HREF=\"$DomainName/index.php?p=1\">Votes</A></FONT></TD>";
    echo "<TD ALIGN=center WIDTH=35 BGCOLOR=\"#D7D7D7\"><FONT FACE=\"arial, helvetica, verdana\" SIZE=1><B><A

HREF=\"$DomainName/index.php?p=0\">Hits</A></B></FONT></TD>";
    echo "<TD ALIGN=center WIDTH=35><FONT FACE=\"arial, helvetica, verdana\" SIZE=1>&nbsp;</FONT></TD></TR>";

    while ($i < $site_num)
    {
        $i2=$i+1;
        echo "<TR><TD ALIGN=center BGCOLOR=\"#D7D7D7\"><FONT FACE=\"arial, helvetica, verdana\"

SIZE=4><B>$i2</B></FONT></TD>";
        echo "<TD ALIGN=center><FONT FACE=\"arial, helvetica, verdana\" SIZE=2><A HREF=\"". mysql_result($site_info,$i,"url"). "\"

TARGET=\"_blank\">". mysql_result($site_info,$i,"title"). "</A></FONT></TD>";
        echo "<TD ALIGN=center><FONT FACE=\"arial, helvetica, verdana\" SIZE=2><IMG SRC=\"$PicturesDir/";
//        if (mysql_result($site_info,$i,"hits") < 2) { echo "tom.gif"; }
        if (mysql_result($site_info,$i,"avrating") <= 1.5) { echo "rating_1.gif"; }
        else if (mysql_result($site_info,$i,"avrating") < 2) { echo "rating_1_5.gif"; }
        else if (mysql_result($site_info,$i,"avrating") < 2.5) { echo "rating_2.gif"; }
        else if (mysql_result($site_info,$i,"avrating") < 3) { echo "rating_2_5.gif"; }
        else if (mysql_result($site_info,$i,"avrating") < 3.5) { echo "rating_3.gif"; }
        else if (mysql_result($site_info,$i,"avrating") < 4) { echo "rating_3_5.gif"; }
        else if (mysql_result($site_info,$i,"avrating") < 4.5) { echo "rating_4.gif"; }
        else if (mysql_result($site_info,$i,"avrating") < 4.8) { echo "rating_4_5.gif"; }
        else { echo "rating_5.gif"; }
        echo "\"></FONT></TD>";
        echo "<TD ALIGN=center><FONT FACE=\"arial, helvetica, verdana\" SIZE=2>". mysql_result($site_info,$i,"hits"). "</FONT></TD>";
        echo "<TD ALIGN=center><FONT FACE=\"arial, helvetica, verdana\" SIZE=1><A HREF=\"vote.php?id=".

mysql_result($site_info,$i,"id"). "\">VOTE</A></FONT></TD></TR>";
        $i++;
    }

    while ($i < $maxsites)
    {
        $i2=$i+1;
        echo "<TR><TD ALIGN=center BGCOLOR=\"#D7D7D7\"><FONT FACE=\"arial, helvetica, verdana\"

SIZE=4><B>$i2</B></FONT></TD>";
        echo "<TD ALIGN=center><FONT FACE=\"arial, helvetica, verdana\" SIZE=2><A HREF=\"join.php\"><B>Join

$TopListName</B></A></FONT></TD>";
        echo "<TD ALIGN=center><FONT FACE=\"arial, helvetica, verdana\" SIZE=1>&nbsp;</FONT></TD>";
        echo "<TD ALIGN=center>&nbsp;</TD>";
        echo "<TD ALIGN=center><FONT FACE=\"arial, helvetica, verdana\" SIZE=1>&nbsp;</FONT></TD></TR>";
        $i++;
    }
    echo "<TR><TD COLSPAN=3><FONT FACE=\"arial, helvetica, verdana\" SIZE=2><B>";
    if ($f == 0)
    {
        echo "&nbsp;";
    }
    else
    {
        $f2 = $f-$TopListSize;
        echo "<A HREF=\"?f=$f2&p=$p\">PREV</A>";
    }
    echo "</B></FONT>";


    echo "</TD><TD COLSPAN=3 ALIGN=right><FONT FACE=\"arial, helvetica, verdana\" SIZE=2><B><A

HREF=\"?f=$maxsites&p=$p\">NEXT</A></TD></TR>";
    echo "</TABLE>";

?>
<CENTER><FONT FACE="verdana, arial, helvetica" SIZE=1>Script from <A HREF="http://www.xaviermedia.com/php/toplist.phtml">Xavier Media

Group</A></FONT></CENTER>

<? include("footer.php") ?>
Avatar billede dmdisco Nybegynder
25. april 2003 - 11:05 #1
prøvede du at ændre mysql_num_rows
og ændre
mysql_query("SELECT
$Members.title AS title, $Members.url AS url, count(*) AS hits,
avg($IPLogg.vote) AS avrating,
$Members.siteid AS id FROM
$IPLogg,$Members WHERE $Members.siteid = $IPLogg.siteid AND $IPLogg.time > '$maxdate'
GROUP BY $Members.siteid ORDER BY hits DESC, avrating DESC") or die (mysql_error);
Avatar billede dmdisco Nybegynder
25. april 2003 - 11:06 #2
mangler en "()" "or die (mysql_error());"
Avatar billede dmdisco Nybegynder
25. april 2003 - 11:06 #3
og hvor får du variablen $Members fra
Avatar billede annbj Nybegynder
25. april 2003 - 11:10 #4
Der er ingen af tingene der virker, og sorry, ved ikke hvad du mener med det sidste spørgsmål :o(
Avatar billede dmdisco Nybegynder
25. april 2003 - 11:14 #5
i din query sætning står der at den skal hente data fra "$Members" men $Members er en variabel så hvis den ikke bliver sat nogle steder som eks. i database.php ved scriptet ikke hvad for en tabel den skal bruge

prøv at sætte "or die (mysql_error());" ind efter alle dine query sætninger og så skrive hvad for en fejl den kommer med
Avatar billede annbj Nybegynder
25. april 2003 - 11:17 #6
Så skrive der bare : No Database Selected
Avatar billede dmdisco Nybegynder
25. april 2003 - 11:20 #7
hvad står der i database.php
Avatar billede avminarm Juniormester
25. april 2003 - 11:20 #8
så mangler du at rette din database.php til - der skal laves en select databse i den
Avatar billede annbj Nybegynder
25. april 2003 - 11:23 #9
Sorry, jeg tror sq jeg er for dum til det her !
Men tak for hjælpen :o(
Avatar billede avminarm Juniormester
25. april 2003 - 11:24 #10
og løsningen var??????
Avatar billede annbj Nybegynder
25. april 2003 - 11:25 #11
Ja, det ved jeg jo så ikke, vel ?
Læs mit forrige indlæg
Avatar billede dmdisco Nybegynder
25. april 2003 - 11:26 #12
det var da hurtigt at give op

det er bare en connection der mangler
$mysql_host = "localhost";
$mysql_user = "brugernavn";
$mysql_pw = "kode";
$mysql_db = "database";
$connection = mysql_connect ($mysql_host, $mysql_user, $mysql_pw) or die (mysql_error());
mysql_select_db ($mysql_db, $connection) or die (mysql_error());
Avatar billede annbj Nybegynder
25. april 2003 - 11:31 #13
Hmmm...det vil heller ikke virke :o(
Sorry, jeg opgiver lidt hurtigt, men jeg føler mig sq for dum til det her ;o)
Avatar billede avminarm Juniormester
25. april 2003 - 13:42 #14
det skal du ikke føle - alt er svært i starten, men eksperten skal nok hjælpe dig ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester