Avatar billede kcdk Juniormester
22. januar 2003 - 22:55 Der er 5 kommentarer og
1 løsning

Sortering af hits

Jeg har hentet et script på nettet fordi jeg er helt ny i php verdenen. Der er en database og den har jeg en del viden om. Jeg vil gerne sortere tallene aftagende i kollonen "hits"

Dette er den kode jeg tror der skal rettes i, men hvad?

<?php

if($a) {

$conn=mysql_connect($server,$dbuser,$dbpass);
$c="select name,linkurl,hits from linkslinks where uid='$a'";
$get=mysql_db_query($dbname,$c,$conn);
list($sitename,$siteurl,$hits)=mysql_fetch_row($get);
$hits++;

$d="UPDATE linkslinks SET hits='$hits' where uid='$a'";
$do=mysql_db_query($dbname,$d,$conn);

?>
Avatar billede htm Nybegynder
22. januar 2003 - 22:57 #1
$c="select name,linkurl,hits from linkslinks where uid='$a' ORDER BY DESC";

ASC = Stigende
DESC = faldende
Avatar billede kcdk Juniormester
22. januar 2003 - 23:04 #2
$c="select name,linkurl,hits from linkslinks where uid='$a' ORDER BY hits DESC";

Den sætning virker ikke. Den sortere ikke

Mvh
Avatar billede miraculix Nybegynder
22. januar 2003 - 23:47 #3
Der er noget helt galt med den kode. Du henter en række med hvad i?

Så tæller du hits op een gang..

Så gemmer du resultatet i den samme række som du hentede.

Der listes ikke noget. Hvad er der i tabellen og hvad vil du liste?
Avatar billede tipsen Nybegynder
23. januar 2003 - 02:09 #4
Ovenstående kode kan udføres væsentligt mere efficient:

<?php
if($a) {
  $conn=mysql_connect($server,$dbuser,$dbpass);
  mysql_select_db($dbname, $conn);
  $d="UPDATE linkslinks SET hits=hits+1 where uid='$a'";
  $do=mysql_query($d);
?>

Dette er under antagelse, af at udtrækket ikke blev benyttet til andet end at sørge for opdateringen. Desuden er det tilpasset til at bruge mysql_query() og mysql_select_db(), da funktionen mysql_db_query() er forældet.
Avatar billede miraculix Nybegynder
23. januar 2003 - 09:06 #5
Efter at have sovet på det, tror jeg jeg har fanget hvad det er du vil.

Prøv:

<?php

if($a) {
  $conn=mysql_connect($server,$dbuser,$dbpass);
  mysql_select_db($dbname, $conn);

  $d="SELECT name,linkurl,hits FROM linkslinks WHERE uid='$a' order by hits DESC";
 
  $get=mysql_query($d);
 
  while ( list($sitename,$siteurl,$hits)=mysql_fetch_row($get) ) {
?>
    <?= $sitename ?> <?= $siteurl ?> <?= $hits ?>
<?     
  };
}

?>
Avatar billede kcdk Juniormester
23. januar 2003 - 14:53 #6
Jeg havde fundet ud af det men havde glemt at lukke her. Så for dit besvær får du pointene.
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