Avatar billede dellevela Nybegynder
05. december 2002 - 19:10 Der er 29 kommentarer og
2 løsninger

problem med top 5!

hejza eksperter. jeg er lidt noob til det php. jeg er igang med at lave en top 5 som ser sådan her ud

<?
require("connect.php");
>?

<?
    if ($_GET[type] == 1){
          $res = mysql_query("SELECT * FROM linkcounter order by hits DESC limit 5");
   
    }
    $i = 1;
    while ($row = mysql_fetch_array($res)){?>
 
    <td bgcolor="#eeeeee" bordercolor="#eeeeee" width="233">
      <?=$row[hits];?> <br>
    </td>
    </tr>
  <?    $i++;} ?>

jeg har taget dette script fra en af mine venner. han vil ikke hjælpe mig! kan i jeg vil bare have den til at vise en top 5 hits. har jeg ikke forklaret spørgsmålet ordendtligt så sig lige til vil nemlig meget gerne have lidt hjælp!

på forhånd tak
Avatar billede dellevela Nybegynder
05. december 2002 - 19:15 #1
ikke nok point eller er det for svært?
Avatar billede lauer Nybegynder
05. december 2002 - 19:17 #2
Det virker da fint? ikk?
Der er i hvert fald ikke nogen fejl.
Hvad går der galt, fortæl lidt mere om problemet

- lauer.dk
Avatar billede dellevela Nybegynder
05. december 2002 - 19:19 #3
Avatar billede dellevela Nybegynder
05. december 2002 - 19:20 #4
har fundet en fejl:
<?
require("connect.php");
>?
=
<?
require("connect.php");
?<
Avatar billede lauer Nybegynder
05. december 2002 - 19:20 #5
>? skal være ?>
altså lige efter require(...);

- lauer
Avatar billede boooboo Nybegynder
05. december 2002 - 19:21 #6
Husk at hvis den skal sortere efter tal (12345 osv.) skal rækken være INT, ellers virker det ikke ...
Avatar billede boooboo Nybegynder
05. december 2002 - 19:22 #7
delle ????
<?
require("connect.php");
?<

du starter php med <? og slutter med ?>. ikke ?<
Avatar billede dellevela Nybegynder
05. december 2002 - 19:22 #8
okay
booboo kan du sætte det ind er ikke så god med det php:


<?
require("connect.php");
?>

<?
    if ($_GET[type] == 1){
          $res = mysql_query("SELECT * FROM linkcounter order by hits DESC limit 5");
   
    }
    $i = 1;
    while ($row = mysql_fetch_array($res)){?>
 
    <td bgcolor="#eeeeee" bordercolor="#eeeeee" width="233">
      <?=$row[hits];?> <br>
    </td>
    </tr>
  <?    $i++;} ?>
Avatar billede dellevela Nybegynder
05. december 2002 - 19:23 #9
(det med INT)
Avatar billede boooboo Nybegynder
05. december 2002 - 19:23 #10
Det virker fint! :)
Men det er i selve databasen at du skal ændre lidt
Avatar billede lauer Nybegynder
05. december 2002 - 19:24 #11
hmm, det er fejl i din query.

$res = mysql_query("SELECT * FROM linkcounter order by hits DESC limit 5");

skal ændres til

$res = mysql_query("SELECT * FROM linkcounter order by hits DESC limit 5") or die(mysql_error());

Så vil der komme en lidt mere beskrivende fejl.

- lauer.dk
Avatar billede boooboo Nybegynder
05. december 2002 - 19:25 #12
hov ... så ikke lige linket der
Avatar billede dellevela Nybegynder
05. december 2002 - 19:25 #13
okay nu ser mit script sådan her ud:


<?
require("connect.php");
?>

<?
    if ($_GET[type] == 1){
          $res = mysql_query("SELECT * FROM linkcounter order by hits DESC limit 5") or die(mysql_error());
   
    }
    $i = 1;
    while ($row = mysql_fetch_array($res)){?>
 
    <td bgcolor="#eeeeee" bordercolor="#eeeeee" width="233">
      <?=$row[hits];?> <br>
    </td>
    </tr>
  <?    $i++;} ?>
Avatar billede boooboo Nybegynder
05. december 2002 - 19:26 #14
<?
require("connect.php");
?>

<?
    if ($_GET[type] == 1){
          $res = mysql_query("SELECT * FROM linkcounter order by hits DESC limit 5");
   
    }
    $i = 1;
    while ($row = mysql_fetch_array($res)){?>
 
    <td bgcolor="#eeeeee" bordercolor="#eeeeee" width="233">
      <?echo "$row[hits]";?> <br>
    </td>
    </tr>
  <?    $i++;} ?>
Avatar billede dellevela Nybegynder
05. december 2002 - 19:27 #15
det virker ikke endnu!
Avatar billede lauer Nybegynder
05. december 2002 - 19:28 #16
Dette er lidt pænere

<?php
require("connect.php");

if ($_GET[type] == 1){
  $res = mysql_query("SELECT * FROM linkcounter order by hits DESC limit 5") or die(mysql_error());
}
while ($row = mysql_fetch_array($res)){
?>
    <td bgcolor="#eeeeee" bordercolor="#eeeeee" width="233">
      <?=$row[hits];?> <br>
    </td>
    </tr>
<?php
}
?>

du bruger jo ikke variablen $i på noget tidspunkt.
Husk lige at opdater på din side, så vi kan se hvad fejl der så kommer.

- lauer.dk
Avatar billede dellevela Nybegynder
05. december 2002 - 19:28 #17
kan det være i connect.php filen???

her er den:
<?
$connection = mysql_connect("localhost","younk","kodeord");
mysql_select_db("younk", $connection);
?>
Avatar billede boooboo Nybegynder
05. december 2002 - 19:29 #18
Nej glem den :)
Prøv den lidt korte istedet

<?
require("connect.php");
?>

<?
$res = mysql_query("SELECT * FROM linkcounter order by hits DESC limit 5");
while ($row = mysql_fetch_array($res)){
echo "<td bgcolor=\"#eeeeee\" bordercolor=\"#eeeeee\" width=\"233\"> $row[hits]<br></td></tr>";}?>
Avatar billede dellevela Nybegynder
05. december 2002 - 19:29 #19
min database ser sådan her ud!

id INT NOT NULL auto_increment, url varchar(80), hits varchar(80), PRIMARY KEY(id)
Avatar billede dellevela Nybegynder
05. december 2002 - 19:30 #20
sådan det var boooboo der var den heldige vinder!
Avatar billede dellevela Nybegynder
05. december 2002 - 19:32 #21
hvis jeg også vil have den til at vise id hvad skal jeg så skrive

vil gerne give 30 point til!
Avatar billede boooboo Nybegynder
05. december 2002 - 19:32 #22
hits skal ændres til INT
Avatar billede boooboo Nybegynder
05. december 2002 - 19:32 #23
<?
require("connect.php");
?>

<?
$res = mysql_query("SELECT * FROM linkcounter order by hits DESC limit 5");
while ($row = mysql_fetch_array($res)){
echo "<td bgcolor=\"#eeeeee\" bordercolor=\"#eeeeee\" width=\"233\">ID: $row[id] - $row[hits]<br></td></tr>";}?>

MED ID - Behøver ikke flere point :)
Avatar billede dellevela Nybegynder
05. december 2002 - 19:35 #24
tak!
Avatar billede boooboo Nybegynder
05. december 2002 - 19:36 #25
Hvis du så vil ha link, id og hits - skiver du sådan her

<?
require("connect.php");
?>

<?
$res = mysql_query("SELECT * FROM linkcounter order by hits DESC limit 5");
while ($row = mysql_fetch_array($res)){
echo "<td bgcolor=\"#eeeeee\" bordercolor=\"#eeeeee\" width=\"233\">ID: $row[id] <a href=\"$row[url]\">$row[url]</a> - $row[hits]<br></td></tr>";}?>
Avatar billede boooboo Nybegynder
05. december 2002 - 19:37 #26
ups...

<?
require("connect.php");
?>

<?
$res = mysql_query("SELECT * FROM linkcounter order by hits DESC limit 5");
while ($row = mysql_fetch_array($res)){
echo "<td bgcolor=\"#eeeeee\" bordercolor=\"#eeeeee\" width=\"233\">ID: $row[id] <a href=\"$row[url]\" target=\"_blank\">$row[url]</a> - $row[hits]<br></td></tr>";}?>
Avatar billede boooboo Nybegynder
05. december 2002 - 19:38 #27
prøv prøv, lad os da lige se :)
Avatar billede dellevela Nybegynder
05. december 2002 - 19:42 #28
sådan tak!
Avatar billede boooboo Nybegynder
05. december 2002 - 19:42 #29
så skal den jo også opdatere da hits
Avatar billede dellevela Nybegynder
05. december 2002 - 19:47 #30
hvad så hvis jeg vil have den til at stå i rækkefølge efter hvem der har flest hits?
Avatar billede boooboo Nybegynder
05. december 2002 - 20:37 #31
Der skal du ind i databasen og lave hits om til INT istedet for VARCHAR
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

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