Oprettet man. d. 19. januar 2004 kl. 20:36:32

qtax87 (nedlagt brugerprofil)
qtax87 (nedlagt brugerprofil) (7.258 point. Point ude: 4.760)

Sorterings tryk part 2 - Upgradering

Hej jeg har et script, der sorter alt efter hvad jeg vil se:
Ligesom inde i phpmyadmin, men jeg ville gerne havde at jeg kunne klikke igen på Navn, og så skulle den så kører ASC- istedet for DESC-limit...

Men kan jeg ikke lige finde ud af... håber I kan hjælpe mig.


<table border="0" width="100%" cellspacing="0" cellpadding="0">
  <tr>
    <td width="100%">
      <table border="0" width="100%" cellspacing="0" cellpadding="0">
        <tr>
          <td width="20%"><a href="?sort=usr_name_asc">Brugernavn</a></td>
          <td width="20%"><a href="?sort=irl_name_desc">Navn</a></td>
          <td width="20%"><a href="?sort=email_desc">E-mail</a></td>
          <td width="20%"><a href="?sort=age_desc">Alder</a></td>
        </tr>
      </table>
    </td>
  </tr>
</table><?php
include_once("db.php");

$sort = $_GET['sort'];

switch ($sort) {
  case usr_name_asc:
    $query = "SELECT * FROM telebogen_users ORDER BY usr_name ASC";
    break;
  case irl_name_desc:
    $query = "SELECT * FROM telebogen_users ORDER BY irl_name DESC";
    break;
  case email_desc:
    $query = "SELECT * FROM telebogen_users ORDER BY email DESC";
    break;
  case age_desc:
    $query = "SELECT * FROM telebogen_users ORDER BY age DESC";
    break;
  default:
    $query = "SELECT * FROM telebogen_users ORDER BY usr_name DESC";
    break;
}

$query = mysql_query($query) or die(mysql_error());

while ($row = mysql_fetch_array($query)) {
    echo $row[usr_name]. '  -  ';
    echo $row[irl_name].'  -  ';
    echo $row[email].'  -  ';
    echo $row[age].'<br />';
    }

?>

Skrevet man. d. 19. januar 2004 kl. 21:03:27| #1


Skrevet man. d. 19. januar 2004 kl. 22:19:13| #2

detox
detox (69.457 point)
Måske med sessions:

<?
session_start();
$out = "";
if (!isset($_SESSION['age'])) {
    $_SESSION['usr_name'] = "ASC";
    $_SESSION['irl_name'] = "DESC";
    $_SESSION['email'] = "DESC";
    $_SESSION['age'] = "DESC";
}
if (isset($_GET['sort'])) {
    include_once("db.php");
    $_SESSION[$_GET['sort']] = $_SESSION[$_GET['sort']] == "ASC" ? "DESC" : "ASC";
   
    $query = mysql_query("SELECT * FROM telebogen_users ORDER BY ".$_GET['sort']." ".$_SESSION[$_GET['sort']]) or die(mysql_error());
   
    while ($row = mysql_fetch_array($query)) {
        $out .= $row[usr_name]. '  -  ';
        $out .= $row[irl_name].'  -  ';
        $out .= $row[email].'  -  ';
        $out .= $row[age].'<br />';
    }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/ (...)
<html>
<head>
    <title>Nyt dokument</title>
<meta name="generator" content="TSW WebCoder">
</head>
<body>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
  <tr>
    <td width="100%">
      <table border="0" width="100%" cellspacing="0" cellpadding="0">
        <tr>
          <td width="20%"><a href="?sort=usr_name">Brugernavn</a></td>
          <td width="20%"><a href="?sort=irl_name">Navn</a></td>
          <td width="20%"><a href="?sort=email">E-mail</a></td>
          <td width="20%"><a href="?sort=age">Alder</a></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<? echo $out; ?>
</body>
</html>

Skrevet tir. d. 20. januar 2004 kl. 00:55:08| #3

thomasrba
thomasrba (20.615 point)
<table border="0" width="100%" cellspacing="0" cellpadding="0">
  <tr>
    <td width="100%">
      <table border="0" width="100%" cellspacing="0" cellpadding="0">
        <tr>
<td width="20%"><a href="?sort=usr_name ASC">Brugernavn - stigende</a></td>
<td width="20%"><a href="?sort=usr_name DESC">Brugernavn - faldende</a></td>
<td width="20%"><a href="?sort=irl_name ASC">Navn - stigende</a></td>
<td width="20%"><a href="?sort=irl_name DESC">Navn - faldende</a></td>
<td width="20%"><a href="?sort=email ASC">E-mail - stigende</a></td>
<td width="20%"><a href="?sort=email DESC">E-mail - faldende</a></td>
<td width="20%"><a href="?sort=age ASC">Alder - stigende</a></td>
<td width="20%"><a href="?sort=age DESC">Alder - faldende</a></td>
        </tr>
      </table>
    </td>
  </tr>
</table><?php
include_once("db.php");

if (!$sort){$sort= "irl_name ASC";} //default hvis ingen valgt.

$query = "SELECT * FROM telebogen_users ORDER BY $sort";

$query = mysql_query($query) or die(mysql_error());

while ($row = mysql_fetch_array($query)) {
    echo $row[usr_name]. '  -  ';
    echo $row[irl_name].'  -  ';
    echo $row[email].'  -  ';
    echo $row[age].'<br />';
    }

?>

NB: kode ikke testet, men det virker sgu nok alligevel :O)

Mvh ThomasB

Skrevet ons. d. 21. januar 2004 kl. 11:30:36| #4

Hmm.... den viser mig denne fejl ved "detox"'s kommentar...
----Fejl-----
You have an error in your SQL syntax near 'DESC' at line 1
---Fejl slut---

Skrevet ons. d. 21. januar 2004 kl. 11:40:54| #5

Detox => jo nu fik jeg det til at virke...

Skrevet ons. d. 07. september 2005 kl. 13:59:14| #6


Skrevet tor. d. 15. september 2005 kl. 09:55:55| #7


Skrevet tor. d. 15. september 2005 kl. 09:56:53| #8


Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Brugerliste med link til profil

Oprettet den 26. maj 2012 kl. 14.29
sayn giver 30 point for svar | Giv et svar »

php curl driller

Oprettet den 26. maj 2012 kl. 08.31
PHPnQrd giver 200 point for svar | Giv et svar »

Array i array

Oprettet den 25. maj 2012 kl. 08.32
sebster giver 60 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger