Avatar billede smartguy Nybegynder
24. november 2001 - 22:12 Der er 23 kommentarer og
1 løsning

download sektion med top 5 statistik...

Hejsa, jeg har en download sektion med mange scripts, som jeg gerne vil have lavet en statistik over, så man på forsiden kan se download top 5...Er der en der kan finde ud af at lave det?? Det skal helste bruge MySQL DB
Avatar billede cautoo Nybegynder
24. november 2001 - 22:27 #1
Avatar billede waldowolf Nybegynder
24. november 2001 - 22:34 #2
Prøv også at søge lidt på http://www.planetsourcecode.com/ i PHP sektionen.

!Waldo!
Avatar billede smartguy Nybegynder
24. november 2001 - 22:43 #3
Jeg har desværre ikke kunne finde noget på de to links! Kan i evt. ikke give et konkret eskempel, eller link??
Avatar billede codebase Praktikant
25. november 2001 - 09:17 #4
du laver en fil der counter hvert download
eks kunne den hedde:

dlcount.php:
<?
$host                                =        \"localhost\";
$loginname                    =        \"\";
$password                        =        \"\";
$database                        =        \"\";

mysql_connect(\"$host\", \"$loginname\", \"$password\") or die (mysql_error());
mysql_select_db(\"$database\") or die (mysql_error());


$sql=\"SELECT id, url FROM dl_count WHERE PASSWORD(id) = \'$Download\'\";
$result  =  mysql_query(\"$sql\")or die(mysql_error());
$row  =  mysql_fetch_object($result);

$sql=\"UPDATE dl_count SET hit = hit+1 WHERE id = \'$row->id\'\";
$result  =  mysql_query(\"$sql\")or die(mysql_error());


mysql_close();
header (\"location: $row->url\");
?>

Selve databasen:
CREATE TABLE dl_count (
  id int(11) NOT NULL auto_increment,
  name varchar(100) NOT NULL,
  url varchar(100) NOT NULL,
  hit int(11) DEFAULT \'0\' NOT NULL,
  PRIMARY KEY (id)
);


der hvor du lister top 5:
$sql=\"SELECT name, PASSWORD(id) AS link FROM dl_count WHERE id > \'0\' ORDER BY hit DESC LIMIT 0,5\";
$result  =  mysql_query(\"$sql\")or die(mysql_error());
for ($i=0; $row  =  mysql_fetch_object($result); $i++)
{
    echo \"<a href=\\\"dlcount.php?Download=$row->link\\\" target=\\\"_new\\\">$row->name</a><br>\";
}   


_codeb@se.dk
Avatar billede codebase Praktikant
25. november 2001 - 09:34 #5
Hvis du vil vise hvor mange hit, hvert download har:

$sql=\"SELECT name, PASSWORD(id) AS link, hit FROM dl_count WHERE id > \'0\' ORDER BY hit DESC LIMIT 0,5\";
$result  =  mysql_query(\"$sql\")or die(mysql_error());
for ($i=0; $row  =  mysql_fetch_object($result); $i++)
{
    echo \"<font face=arial size=1>($row->hit) </font><a href=\\\"dlcount.php?Download=$row->link\\\" target=\\\"_new\\\">$row->name</a><br>\";
}

http://www.codebase.dk/dllist.php
Avatar billede latex Nybegynder
25. november 2001 - 09:47 #6
codebase >>> Det ser meget fint ud! Jeg afprøver det lige! Hvordan ville koden se ud, hvis jeg kunne udvide den til at kunne håndtere en download sektion?? Er der mange ændringer der skal laves??
Avatar billede codebase Praktikant
25. november 2001 - 09:52 #7
??? det er en download sektion ???

det er din browser der bestemmer om det er et link, eller om det er et download.

Hvis det er en zip eller en exe fil, vil den forsøge at downloade filen, men hvis der er et link vil den browse siden..

_codeb@se.dk
Avatar billede latex Nybegynder
25. november 2001 - 09:57 #8
okay...tak! Jeg kan ikke få det til at virke! Den vil ikke vise noget! Jeg har lagt filerne op her:
www.thomaslunde.dk/db/dlcount.php

det har jeg også lagt filen show.php, der inderholder:
--------------------------------------------------
  Hvis du vil vise hvor mange hit, hvert download har:

$sql=\"SELECT name, PASSWORD(id) AS link, hit FROM dl_count WHERE id > \'0\' ORDER BY hit DESC LIMIT 0,5\";
$result  =  mysql_query(\"$sql\")or die(mysql_error());
for ($i=0; $row  =  mysql_fetch_object($result); $i++)
{
    echo \"<font face=arial size=1>($row->hit) </font><a href=\\\"dlcount.php?Download=$row->link\\\" target=\\\"_new\\\">$row->name</a><br>\";
}
--------------------------------------------------
Avatar billede codebase Praktikant
25. november 2001 - 10:01 #9
No Database Selected ....derfor !!!
Avatar billede latex Nybegynder
25. november 2001 - 10:02 #10
den kommer også med en fejl, når jeg kører den dlcount.php
Avatar billede codebase Praktikant
25. november 2001 - 10:04 #11
din show.php:

<?
$host                                =        \"localhost\";
$loginname                    =        \"\";
$password                        =        \"\";
$database                        =        \"\";

mysql_connect(\"$host\", \"$loginname\", \"$password\") or die (mysql_error());
mysql_select_db(\"$database\") or die (mysql_error());

echo \"<font face=arial size=2><b><u><i>top 5 download</i></u></b><br><br>\";

$sql=\"SELECT name, PASSWORD(id) AS link, hit FROM dl_count WHERE id > \'0\' ORDER BY hit DESC LIMIT 0,5\";
$result  =  mysql_query(\"$sql\")or die(mysql_error());
for ($i=1; $row  =  mysql_fetch_object($result); $i++)
{
    echo \"<font face=arial size=1>$i. </font><a href=\\\"dlcount.php?Download=$row->link\\\" target=\\\"_new\\\">$row->name</a> <font face=arial size=1>($row->hit)</font><br>\";
}   

echo\"</font><br><br>Dette script virker både som en link-counter, og en download-counter.<br>linket \'templates\' er et download link, og resten er link.<br><br><img src=http://published.codebase.dk/gfx/codebase.gif border=0>\";
mysql_close();
?>
Avatar billede codebase Praktikant
25. november 2001 - 10:04 #12
husk at rette disse variabler, så du connecter til din database:

$loginname                    =        \"\";
$password                        =        \"\";
$database                        =        \"\";


Avatar billede codebase Praktikant
25. november 2001 - 10:06 #13
husk også at rette i denne fil:

dlcount.php:
<?
$host                                =        \"localhost\";
$loginname                    =        \"\";
$password                        =        \"\";
$database                        =        \"\";

mysql_connect(\"$host\", \"$loginname\", \"$password\") or die (mysql_error());
mysql_select_db(\"$database\") or die (mysql_error());


$sql=\"SELECT id, url FROM dl_count WHERE PASSWORD(id) = \'$Download\'\";
$result  =  mysql_query(\"$sql\")or die(mysql_error());
$row  =  mysql_fetch_object($result);

$sql=\"UPDATE dl_count SET hit = hit+1 WHERE id = \'$row->id\'\";
$result  =  mysql_query(\"$sql\")or die(mysql_error());


mysql_close();
header (\"location: $row->url\");
?>
Avatar billede latex Nybegynder
25. november 2001 - 10:07 #14
mine to filer ser sådan ud:

dlcount.php
--------------------------------------------------
<?
$host                                =        \"thomaslunde.dk\";
$loginname                    =        \"thomaslunde\";
$password                        =        \"lunde\";
$database                        =        \"thomaslunde\";

mysql_connect(\"$host\", \"$loginname\", \"$password\") or die (mysql_error());
mysql_select_db(\"$database\") or die (mysql_error());


$sql=\"SELECT id, url FROM dl_count WHERE PASSWORD(id) = \'$Download\'\";
$result  =  mysql_query(\"$sql\")or die(mysql_error());
$row  =  mysql_fetch_object($result);

$sql=\"UPDATE dl_count SET hit = hit+1 WHERE id = \'$row->id\'\";
$result  =  mysql_query(\"$sql\")or die(mysql_error());


mysql_close();
header (\"location: $row->url\");
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
</head>

<body bgcolor=\"#FFFFFF\" text=\"#000000\">


</body>
</html>
--------------------------------------------------

show.php
--------------------------------------------------
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
</head>

<body bgcolor=\"#FFFFFF\" text=\"#000000\">
<?
$sql=\"SELECT name, PASSWORD(id) AS link, hit FROM dl_count WHERE id > \'0\' ORDER BY hit DESC LIMIT 0,5\";
$result  =  mysql_query(\"$sql\")or die(mysql_error());
for ($i=0; $row  =  mysql_fetch_object($result); $i++)
{
    echo \"<font face=arial size=1>($row->hit) </font><a href=\\\"dlcount.php?Download=$row->link\\\" target=\\\"_new\\\">$row->name</a><br>\";
}
?>
</body>
</html>
--------------------------------------------------

Er der fejl i nogen af dem?
Avatar billede codebase Praktikant
25. november 2001 - 10:15 #15
tror jeg ikke, men har du manuelt oprettet nogle link/download\'s i databasen ?? eller er den tom ??

ps: det er en rigtig dum ide, at skrive dine database password herinde på eksperten..
HUSK DET !!

_codeb@se.dk
Avatar billede latex Nybegynder
25. november 2001 - 10:17 #16
Okay. nu har jeg fået show til at virke, men hvad skal jeg så bruge den dlcount.php fil til??
Avatar billede codebase Praktikant
25. november 2001 - 10:17 #17
du mangler dette her i toppen af din show.php

$host                                =        \"thomaslunde.dk\";
$loginname                    =        \"thomaslunde\";
$password                        =        \"lunde\";
$database                        =        \"thomaslunde\";

mysql_connect(\"$host\", \"$loginname\", \"$password\") or die (mysql_error());
mysql_select_db(\"$database\") or die (mysql_error());

Avatar billede codebase Praktikant
25. november 2001 - 10:18 #18
2 ting,

1. den counter antallet af hit.
2. den laver en redirect til den ønskede fil / link
Avatar billede latex Nybegynder
25. november 2001 - 10:20 #19
ok..takker! Har du fået dine points??
Avatar billede codebase Praktikant
25. november 2001 - 10:20 #20
ret din dlcount.php
dlcount.php
--------------------------------------------------
<?
$host                                =        \"thomaslunde.dk\";
$loginname                    =        \"thomaslunde\";
$password                        =        \"lunde\";
$database                        =        \"thomaslunde\";

mysql_connect(\"$host\", \"$loginname\", \"$password\") or die (mysql_error());
mysql_select_db(\"$database\") or die (mysql_error());


$sql=\"SELECT id, url FROM dl_count WHERE PASSWORD(id) = \'$Download\'\";
$result  =  mysql_query(\"$sql\")or die(mysql_error());
$row  =  mysql_fetch_object($result);

$sql=\"UPDATE dl_count SET hit = hit+1 WHERE id = \'$row->id\'\";
$result  =  mysql_query(\"$sql\")or die(mysql_error());


mysql_close();
header (\"location: $row->url\");
?>
-----------------------

ikke alt det html crap... :-)
og det link du skriver i databasen, skal være eks:
http://www.eksperten.dk

Avatar billede codebase Praktikant
25. november 2001 - 10:21 #21
nope..
Avatar billede smartguy Nybegynder
25. november 2001 - 10:22 #22
værsgo og tak for hjælpen!
Avatar billede codebase Praktikant
25. november 2001 - 10:22 #23
Avatar billede 44fire44 Nybegynder
26. september 2002 - 19:54 #24
hmm... mon latex og tlunde er den samme???
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