Avatar billede msieker Nybegynder
26. september 2001 - 23:03 Der er 46 kommentarer og
1 løsning

styr på downloads - ponit fåes fra andet spørgsmål

JEg har oprettet et spørgsmål her
http://www.eksperten.dk/spm/114086
men er villig til at give 70 point mere hvis du/I kan finde en database der gør lige præcis det jeg har brug for:
Nemlig holde styr på filer der kan downloades - holde styr på hvor mange filer der er - hvor mange gange de er downloaded - og selvfølgelig også et script til at skrive det ud (php)
Avatar billede kapla Nybegynder
26. september 2001 - 23:05 #1
Anmeldt!
Avatar billede msieker Nybegynder
26. september 2001 - 23:07 #2
For hvad - jeg stiller ikke det samme spørgsmål to gange - jeg har her omformuleret det spørgsmål jeg stillede på det ovenstående link - og siger nu at jeg er villig til at give flere point til den der kan give mig et svar \"PÅ dET NYE SPØRGSMÅL\"
Avatar billede kapla Nybegynder
26. september 2001 - 23:09 #3
Man må IKKE oprette referende spørgsmål.
Avatar billede msieker Nybegynder
26. september 2001 - 23:10 #4
ok - det vidste jeg ikke - SORRY
Avatar billede mora Nybegynder
26. september 2001 - 23:15 #5
Har du adgang til MySQL ?
Avatar billede msieker Nybegynder
26. september 2001 - 23:21 #6
jeps
Avatar billede mora Nybegynder
26. september 2001 - 23:24 #7
Kikker forbi lidt senere, hvis der ikke er svar, bikser jeg noget sammen.
Avatar billede mora Nybegynder
27. september 2001 - 00:15 #8
<?
if($download){
$nyantal=$antal+1;
mysql_query(\"update antaldownloads set antal=\'$nyantal\' where filnavn=\'$download\'\");
}


$result=mysql_query(\"select * from antaldownloads order by antal desc limit 1\");
$row=mysql_fetch_array($result);
echo \"$row[filnavn] er hentet flest gange. ($row[antal])\";


$result=mysql_query(\"select * from antaldownloads order by filnan asc\");
while($row=mysql_fetch_array($result)){
echo \"<a href=\\\"download.php?download=$row[filnavn]&antal=$row[antal]\\\">$row[filnavn]</a><br>\";
}


echo \"<br><br><hr>top 10<br><br>\";
$result=mysql_query(\"select * from antaldownloads order by antal desc limit 10\");
while($row=mysql_fetch_array($result)){
echo \"$row[filnavn] ($row[antal])\";
}

?>
Avatar billede mora Nybegynder
27. september 2001 - 00:24 #9
How, if ( skal lige rettes

if($download){
$nyantal=$antal+1;
mysql_query(\"update antaldownloads set antal=\'$nyantal\' where filnavn=\'$download\'\");
header(\"Location :$download\");
}


Du skal lave en mysql tabel med felterne
antal int,
fil varchar(200)
Avatar billede msieker Nybegynder
27. september 2001 - 08:45 #10
da jeg ALDRIG har arbejdet med Mysql før må jeg nok bede dig om af forklare det lidt tydeligere
:)
Avatar billede msieker Nybegynder
27. september 2001 - 08:53 #11
kan du evt. skrive en sql fil jeg kan importere :)
Avatar billede mora Nybegynder
27. september 2001 - 09:00 #12
downloads_create.php
mysql_query(\"create table antaldownloads(
id int not null auto_increment,
antal int,
fil varchar(200),
PRIMARY KEY(id))\");


Har du et program du styrer mysql med ?
Avatar billede msieker Nybegynder
27. september 2001 - 13:44 #13
ja phpmyadmin
Avatar billede msieker Nybegynder
27. september 2001 - 13:50 #14
jeghar så hørt at der var lidt fejl i den kode du har lavet - jeg aner ikke selv om det er korrekt - men du kunnevel ikke afprøve den - :)
Avatar billede mora Nybegynder
27. september 2001 - 15:33 #15
Jo, filnavn skulle ære fil :)

//husk at connecte til en mysql db.


<?
$connection = mysql_connect(\"localhost\",\"user\",\"pass\") or die(\"<center><h2>Database down, sorry for the probs.<br></h2></center>\");
mysql_select_db(\"db\", $connection);

if($download){
$res=mysql_query(\"select antal from antaldownloads where fil=\'$download\'\");
$res2=mysql_fetch_array($res);
$nyantal=$res2[antal]+1;
mysql_query(\"update antaldownloads set antal=\'$nyantal\' where fil=\'$download\'\");
header(\"Location :$download\");
}


$result=mysql_query(\"select * from antaldownloads order by antal desc limit 1\");
$row=mysql_fetch_array($result);
echo \"$row[fil] er hentet flest gange. ($row[antal])\";


echo \"<br><br>\";

$result=mysql_query(\"select * from antaldownloads order by fil asc\");
while($row=mysql_fetch_array($result)){
echo \"<a href=\\\"download.php?download=$row[fil]\\\">$row[fil]</a><br>\";
}


echo \"<br><br><hr>top 10<br><br>\";
$result=mysql_query(\"select * from antaldownloads order by antal desc limit 10\");
while($row=mysql_fetch_array($result)){
echo \"$row[fil] ($row[antal])<br>\";
}

?>


- Har lige testet den, det virker fint, du kan evt. bruge phpmyadmin til at tilføje dine filer...
Avatar billede msieker Nybegynder
28. september 2001 - 13:30 #16
hvordan bruger jeg PHPmyadmin til at tilføje filer - jeg har fået selve scriptet og databasen til at virke -
Og kan man med dette script have flere kategorier - og få vist hvor mange filer der er i de forskellige kategorier ??
Avatar billede mora Nybegynder
28. september 2001 - 19:02 #17
Nope, det viser alle filer på samme side, skal det i kategorier skal der lige et ekstra felt ind i databasen, kategori :)

du skal ikke bruge phpmyadmin til at tilføje filer, dette script går ud fra de alle lægger i samme dir som scriptet, så bare skriv filnavnet og 0 i antal, så listes filen ...
Avatar billede msieker Nybegynder
28. september 2001 - 23:11 #18
du kunne vel ikke skrive det med kategori med ind - så jeg kan se det ?

og give et eksempel på det med filen.

JEg ligger lige lidt flere point ind - da du har hjulpet mig meget :)
Avatar billede mora Nybegynder
28. september 2001 - 23:43 #19
Du skal bruge følgende 2 tabeller ....

kategorier
id int not null auto_increment,
navn varchar(200),
primary key(id));

antaldownloads
fil varchar(200),
antal int,
katid int,
primary key(id));

Når du vil oprette en ny kategori skal du bare lave en ny post i kategorier.
insert into kategorier (navn) values (\'titel på kategori\');

Når du vil tilføje en ny fil, skal du lave en ny post i antaldownloads.
insert into antaldownloads (fil, antal, katid) values (\'filnavn\', 0, \'katid\');


Dine kat ids, kan ses på forsiden af download.php hvis du kikker i status linjen mens du holder musen over linket...


Kilden til hele herligheden følger
___


<?
$connection = mysql_connect(\"localhost\",\"download\",\"download\") or die(\"<center><h2>Database down, sorry for the probs.<br></h2></center>\");
mysql_select_db(\"download\", $connection);

if($download){
$res=mysql_query(\"select * from antaldownloads where id=\'$download\'\");
$res2=mysql_fetch_array($res);
$nyantal=$res2[antal]+1;
mysql_query(\"update antaldownloads set antal=\'$nyantal\' where id=\'$download\'\");
header(\"Location: $res2[fil]\");
}


if($kat!=\"\"){
$r=mysql_query(\"select navn from kategorier where id=\'$kat\'\");
$rr=mysql_fetch_array($r);
echo \"<center><h1>$rr[navn]</h1><br><br></center>\";

$k=mysql_query(\"select id from antaldownloads where katid=\'$kat\'\");
if(mysql_num_rows($k)==0){
echo \"Denne kategori er tom.\";
exit;
}

$result=mysql_query(\"select * from antaldownloads where katid=\'$kat\' order by antal desc limit 1\");
$row=mysql_fetch_array($result);
echo \"$row[fil] er hentet flest gange. ($row[antal])\";


echo \"<br><br>\";



$result=mysql_query(\"select * from antaldownloads where katid=\'$kat\' order by fil asc\");
while($row=mysql_fetch_array($result)){
echo \"<a href=\\\"download.php?download=$row[id]&kat=$kat\\\">$row[fil]</a><br>\";
}


echo \"<br><br><hr>top 10<br><br>\";
$result=mysql_query(\"select * from antaldownloads where katid=\'$kat\' order by antal desc limit 10\");
while($row=mysql_fetch_array($result)){
echo \"$row[fil] ($row[antal])<br>\";
}


}else{
//Ingen kategori er valgt.

$result=mysql_query(\"select * from kategorier order by navn asc\");
$num=mysql_num_rows($result);

  if($num>0){
    while($row=mysql_fetch_array($result)){
      echo \"<a href=\\\"download.php?kat=$row[id]\\\">$row[navn]</a><br>\";
    }
  }else{
    echo \"Der er ikke oprettet nogle kategorier\";
  }

}
?>
Avatar billede msieker Nybegynder
29. september 2001 - 08:42 #20
OK - jeg får først prøvet dette i eftermiddag - men det ser da ligetil ud :)
Avatar billede msieker Nybegynder
29. september 2001 - 17:11 #21
Det virker ikke lige helt efter hensigten
For det første - så kommer man - når man går ind på siden - kun til at se - de kategorier man har  - og ikke den top 5 eller top 10 der er .
For det andet - så viser den en fejl når man klikker på kategorien ???
Avatar billede mora Nybegynder
29. september 2001 - 17:19 #22
Hvilken fejl ?
Avatar billede mora Nybegynder
29. september 2001 - 17:24 #23
Denne viser top10 + oftest hentet hele tiden...

jeg f[r ingen fejl, husk at filen skal findes, hvis du vil teste, saa lav linjen header ... om til //header ...  *saa vidersender den ikke


beklager tegnene, win syndes lige jeg skulle havde amerikansk tast...


<?
$connection = mysql_connect(\"localhost\",\"download\",\"download\") or die(\"<center><h2>Database down, sorry for the probs.<br></h2></center>\");
mysql_select_db(\"download\", $connection);

if($download){
$res=mysql_query(\"select * from antaldownloads where id=\'$download\'\");
$res2=mysql_fetch_array($res);
$nyantal=$res2[antal]+1;
mysql_query(\"update antaldownloads set antal=\'$nyantal\' where id=\'$download\'\");
header(\"Location: $res2[fil]\");
}


$result=mysql_query(\"select * from antaldownloads order by antal desc limit 1\");
$row=mysql_fetch_array($result);
echo \"$row[fil] er hentet flest gange. ($row[antal])\";

echo \"<br><br>\";

echo \"<br><br><hr>top 10<br><br>\";
$result=mysql_query(\"select * from antaldownloads order by antal desc limit 10\");
while($row=mysql_fetch_array($result)){
  echo \"$row[fil] ($row[antal])<br>\";
}

if($kat!=\"\"){
$r=mysql_query(\"select navn from kategorier where id=\'$kat\'\");
$rr=mysql_fetch_array($r);
echo \"<center><h1>$rr[navn]</h1><br><br></center>\";

$k=mysql_query(\"select id from antaldownloads where katid=\'$kat\'\");
if(mysql_num_rows($k)==0){
  echo \"Denne kategori er tom.\";
  exit;
}


$result=mysql_query(\"select * from antaldownloads where katid=\'$kat\' order by fil asc\");
while($row=mysql_fetch_array($result)){
echo \"<a href=\\\"download.php?download=$row[id]&kat=$kat\\\">$row[fil]</a><br>\";
}

}else{
//Ingen kategori er valgt.

$result=mysql_query(\"select * from kategorier order by navn asc\");
$num=mysql_num_rows($result);

  if($num>0){
    while($row=mysql_fetch_array($result)){
      echo \"<a href=\\\"download.php?kat=$row[id]\\\">$row[navn]</a><br>\";
    }
  }else{
    echo \"Der er ikke oprettet nogle kategorier\";
  }

}
?>
Avatar billede msieker Nybegynder
29. september 2001 - 17:26 #24
Det med fejlen det har jeg fundet ud af hvorfor - jeg har ikke rettet det idet jeg ikke ved hvordan man gør - men
når man holder musen over den kategori man har lavet - står der bare
download.php?kat=
og ikke mere - lige meget hvor mange kategorier man laver - og jeg skulle være helt ved siden af hvis jeg ikke har lavet det som du har skrevet ???
Avatar billede mora Nybegynder
29. september 2001 - 17:33 #25
Du har lavet en fejl da du lavede din kategorier database så ...

udfør denne php fil (jaja, dansk tasta igen :))

<?
mysql_query(\"drop table kategorier\");

mysql_query(\"create table kategorier(
id int not null auto_increment,
navn varchar(200),
primary key(id))\") or die(mysql_error());

mysql_query(\"insert into kategorier (navn) values (\'test1\')\");
mysql_query(\"insert into kategorier (navn) values (\'test2\')\");
mysql_query(\"insert into kategorier (navn) values (\'test3\')\");
mysql_query(\"insert into antaldownloads (fil, antal, katid) values (\'a.zip\', 0, 1)\");
mysql_query(\"insert into antaldownloads (fil, antal, katid) values (\'b.zip\', 0, 2)\");
mysql_query(\"insert into antaldownloads (fil, antal, katid) values (\'c.zip\', 0, 3)\");
?>



Du kan evt. smutte forbi på min comp og se det virke :)
http://mora.adsl.dk/download.php
Avatar billede mora Nybegynder
29. september 2001 - 17:37 #26
Har ændret lidt for \"designet\" hent kilden på siden, paster den her, når den er færdig (du har accepteret)
Avatar billede msieker Nybegynder
29. september 2001 - 17:56 #27
JEg fik ikke lige fat i hvad du mente med det sidste ??\"paster den her når den er færdig ( du har accepteret ) ??
MEn ellers ser den fed ud -
man kunne evt. ikke få den til at lade være med at skrive endelsen på filen ??
Avatar billede mora Nybegynder
29. september 2001 - 18:02 #28
Sådan ...



<?
$connection = mysql_connect(\"localhost\",\"download\",\"download\") or die(\"<center><h2>Database down, sorry for the probs.<br></h2></center>\");
mysql_select_db(\"download\", $connection);

if($download){
$res=mysql_query(\"select * from antaldownloads where id=\'$download\'\");
$res2=mysql_fetch_array($res);
$nyantal=$res2[antal]+1;
mysql_query(\"update antaldownloads set antal=\'$nyantal\' where id=\'$download\'\");
header(\"Location: $res2[fil]\");
}


$result=mysql_query(\"select * from antaldownloads order by antal desc limit 1\");
$row=mysql_fetch_array($result);
$fil2=split(\"\\.\",$row[fil]);
echo \"<b>$fil2[0] er hentet flest gange. ($row[antal])</b>\";

echo \"<br><br>\";

echo \"<br><br><hr><b>Top 10</b><br><br>\";
$result=mysql_query(\"select * from antaldownloads order by antal desc limit 10\");
while($row=mysql_fetch_array($result)){
  $fil2=split(\"\\.\",$row[fil]);
  echo \"$fil2[0] ($row[antal])<br>\";
}

if($kat!=\"\"){

echo \"<a href=\\\"download.php\\\">Tilbage til oversigten</a><br><br>\";


$r=mysql_query(\"select navn from kategorier where id=\'$kat\'\");
$rr=mysql_fetch_array($r);
echo \"<center><h1>$rr[navn]</h1><br><br></center>\";

$k=mysql_query(\"select id from antaldownloads where katid=\'$kat\'\");
if(mysql_num_rows($k)==0){
  echo \"Denne kategori er tom.\";
  exit;
}


$result=mysql_query(\"select * from antaldownloads where katid=\'$kat\' order by fil asc\");
while($row=mysql_fetch_array($result)){
$fil2=split(\"\\.\",$row[fil]);
echo \"<a href=\\\"download.php?download=$row[id]&kat=$kat\\\">$fil2[0]</a><br>\";
}

}else{
//Ingen kategori er valgt.
echo \"<br><br><br><center><b>Kategorier</b><br>\";
$result=mysql_query(\"select * from kategorier order by navn asc\");
$num=mysql_num_rows($result);

  if($num>0){
    while($row=mysql_fetch_array($result)){
      echo \"<a href=\\\"download.php?kat=$row[id]\\\">$row[navn]</a><br>\";
    }
  }else{
    echo \"Der er ikke oprettet nogle kategorier\";
  }

}
?>

Avatar billede msieker Nybegynder
29. september 2001 - 18:04 #29
men den viser stadig fejl når jeg trykker på test ???
Avatar billede msieker Nybegynder
29. september 2001 - 18:07 #30
altså kategorien ??
Avatar billede msieker Nybegynder
29. september 2001 - 18:08 #31
kunne det så ikke være antaldownloads kategorien jeg har fejl i ???
Avatar billede msieker Nybegynder
29. september 2001 - 18:09 #32
du kunne vel ikke igen lave en sådan php side jeg kunne køre til antal downloadskategorien
Avatar billede msieker Nybegynder
29. september 2001 - 18:12 #33
Når det virker skal du nok få dinne point :) - for det er ret fedt det du har lavet :)
Avatar billede mora Nybegynder
29. september 2001 - 18:35 #34
Nej, tak, gider ikke lave et admin interface til 85 points !

her er de to tabeller jeg har lavet...
og har så tilføjet noget test ...

det hele er kørt via konsollen ...


mysql> create table antaldownloads(
    -> id int not null auto_increment,
    -> fil varchar(200),
    -> antal int,
    -> katid int,
    -> primary key(id));
Query OK, 0 rows affected (0.02 sec)


mysql> create table kategorier(
    -> id int not null auto_increment,
    -> navn varchar(200),
    -> primary key(id));
Query OK, 0 rows affected (0.01 sec)
Avatar billede msieker Nybegynder
29. september 2001 - 18:37 #35
det var ikke et admin interface jeg spurgte om - det var  -
Du har lavet en fejl da du lavede din kategorier database så ...

udfør denne php fil (jaja, dansk tasta igen :))

<?
mysql_query(\"drop table kategorier\");

mysql_query(\"create table kategorier(
id int not null auto_increment,
navn varchar(200),
primary key(id))\") or die(mysql_error());

mysql_query(\"insert into kategorier (navn) values (\'test1\')\");
mysql_query(\"insert into kategorier (navn) values (\'test2\')\");
mysql_query(\"insert into kategorier (navn) values (\'test3\')\");
mysql_query(\"insert into antaldownloads (fil, antal, katid) values (\'a.zip\', 0, 1)\");
mysql_query(\"insert into antaldownloads (fil, antal, katid) values (\'b.zip\', 0, 2)\");
mysql_query(\"insert into antaldownloads (fil, antal, katid) values (\'c.zip\', 0, 3)\");
?>



bare til antal download kategorien
Avatar billede msieker Nybegynder
29. september 2001 - 18:40 #36
for der kommer stadig fejl når jeg trykker på en kategori - ???
Avatar billede mora Nybegynder
29. september 2001 - 18:45 #37
Har du oprettet forbindelse til din mysql db ?
jeg har lige kørt dette, og det virker !


<?
$connection = mysql_connect(\"localhost\",\"download\",\"download\") or die(\"<center><h2>Database down, sorry for the probs.<br></h2></center>\");
mysql_select_db(\"download\", $connection);


mysql_query(\"drop table kategorier\");
mysql_query(\"drop table antaldownloads\");


mysql_query(\"create table kategorier(
id int not null auto_increment,
navn varchar(200),
primary key(id))\") or die(mysql_error());

mysql_query(\"create table antaldownloads(
id int not null auto_increment,
fil varchar(200),
antal int,
katid int,
primary key(id))\") or die(mysql_error());



mysql_query(\"insert into kategorier (navn) values (\'test1\')\");
mysql_query(\"insert into kategorier (navn) values (\'test2\')\");
mysql_query(\"insert into kategorier (navn) values (\'test3\')\");
mysql_query(\"insert into antaldownloads (fil, antal, katid) values (\'a.zip\', 0, 1)\");
mysql_query(\"insert into antaldownloads (fil, antal, katid) values (\'b.zip\', 0, 2)\");
mysql_query(\"insert into antaldownloads (fil, antal, katid) values (\'c.zip\', 0, 3)\");
?>
Avatar billede msieker Nybegynder
29. september 2001 - 18:50 #38
Den kommer og siger internal fejl 500 ??
Du får lige dine point - jeg prøver og kigger på det med ved umiddelbart ikke hvad der er galt - man skal ikke sætte et eller andet sjovt op inde i Apache for at få det til at køre ???
Avatar billede mora Nybegynder
29. september 2001 - 18:52 #39
\"det er en eller anden fejl på din server\"

- Stil et spm om det :)


tak for points
Avatar billede msieker Nybegynder
29. september 2001 - 18:56 #40
Men det er kun når jeg klikker på det link den kommer med denne fejl ??
Avatar billede mora Nybegynder
29. september 2001 - 19:01 #41
Og filen hedder download.php ? 
Avatar billede msieker Nybegynder
29. september 2001 - 19:05 #42
Nu virker det lige pludselig - SPØJST
Men jeg siger mange tak det var en fornøjelse :)
Avatar billede msieker Nybegynder
29. september 2001 - 19:08 #43
hvis man nu skulle kunne skrive nogeet tekst om - hvert download hvordan gør man så det ??
Avatar billede msieker Nybegynder
29. september 2001 - 19:12 #44
Hvis jeg nu vil give dig 60 point mere - kan du så lave det sådan at man kan lave underkategorier + skrive lidt tekst til hvert download - og gøre det sådan at man inde i underkategorien også ud fra hver download kan se hvor mange kan det er blevet downloadet :)
Avatar billede mora Nybegynder
29. september 2001 - 19:23 #45
Uendelig underkategorier eller bare en ?

Altså du il havde

hovedkategori 1
- underkategori
- - filer (med antal downloads og tekst) 


ikke ?

Avatar billede msieker Nybegynder
29. september 2001 - 19:26 #46
jeps -så - jeg f.eks. kan have
hovedkat ( personbiler)
underkat ( toyota)
underkat (BMW)
-filer

og en ny hoved
hovedkat (lastbiler)

osv. osv.

jeg stiller lige et nyt spørgsmål - så dú kan få nogle point
Avatar billede msieker Nybegynder
29. september 2001 - 19:29 #47
så er det nye spm lavet :)
http://www.eksperten.dk/spm/115119
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
Computerworld tilbyder specialiserede kurser i database-management

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