Avatar billede hyanen Nybegynder
20. oktober 2005 - 01:06 Der er 4 kommentarer og
1 løsning

Sorter og Søg

Hej jeg har en kode der får alle mine brugere ud af min mysql database

men jeg kunne godt tænke mig at brugere kan trykke på et link

og så sortere den efter noget andet i stedet

der ud over mangler jeg en søgefunktion i bruger tabellen

min kode ser sådan ud

<?php
include('mysql.php');
include('beskyt.php');
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"main.css\">";
echo "<table width=\"95%\">
<tr><td>Brugere:</td><td>Klan:</td><td>Alder:</td><td>Id:</td></tr>";
$query = "SELECT id, user, klan, alder, heroesid FROM users order by klan AND user asc";
$result = mysql_query($query)or die("MySQL fejl: " . mysql_error());
while ($log = mysql_fetch_array($result)){
echo "<tr><td><a href=\"visbruger.php?id=".$log['id']."\">".$log['user']."</a></td><td>".$log['klan']."</td><td>".$log['alder']."</td><td>".$log['heroesid']."</td></tr>";
}
echo "</table>"
?>
Avatar billede horsmark Nybegynder
20. oktober 2005 - 07:11 #1
<?php
include('mysql.php');
include('beskyt.php');
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"main.css\">";

$sOrderBy = 0;
if( isset($_GET['order_by']) && $_GET['order_by'] != "") $sOrderBy = intval($_GET['order_by']);
switch ( $sOrderBy ){
    case 1:
        $sOrderBy = "user ASC";
        break;
    case 2:
        $sOrderBy = "klan ASC";
        break;
    case 3:
        $sOrderBy = "alder ASC";
        break;
    case 4:
        $sOrderBy = "id ASC";
        break;       
    default:
        $sOrderBy = "klan, user ASC";
        break;
}

$query = "SELECT * FROM users  ORDER BY ".$sOrderBy;
$result = mysql_query($query)or die("MySQL fejl: " . mysql_error());

?>


<table width="95%">
    <tr>
        <td><a href="<?=$_SERVER['PHP_SELF']?>?order_by=1">Brugere:</a></td>
        <td><a href="<?=$_SERVER['PHP_SELF']?>?order_by=2">Klan:</a></td>
        <td><a href="<?=$_SERVER['PHP_SELF']?>?order_by=3">Alder:</a></td>
        <td><a href="<?=$_SERVER['PHP_SELF']?>?order_by=4">Id:</a></td>
    </tr>
<?while ($log = mysql_fetch_array($result)){?>
    <tr>
        <td><a href="visbruger.php?id=<?=$log['id']?>"><?=$log['user']?></a></td>
        <td><?=$log['klan']?></td>
        <td><?=$log['alder']?></td>
        <td><?=$log['heroesid']?></td>
    </tr>
<?}?>
</table>
Avatar billede mahler Nybegynder
20. oktober 2005 - 07:31 #2
Man kan i øvrigt lave det client-side, hvis man vil...

Prøv at kigge på http://www.kryogenix.org/code/browser/sorttable/
Det kræver kun:
* at du inkluderer et javascript i de sider, det skal bruges i
* at du til føjer en class på de tables, der skal kunne sorteres.

og det giver:
* Mindre belastning for din server.
* Hurtigere respons/svar hos brugeren (fordi siden ikke skal reloades).
Avatar billede horsmark Nybegynder
20. oktober 2005 - 07:38 #3
godmorgen mahler :-)
Avatar billede hyanen Nybegynder
20. oktober 2005 - 11:06 #4
nice tak igen Horsmark :P

mahler, kan ikke få det til at virke ordentligt ;S
Avatar billede horsmark Nybegynder
20. oktober 2005 - 11:14 #5
hyanen >> thx for poijnds men mahlers løsning er den bedste såfremt du har mange hits på siden
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