sorterer i mysql databasen

Tags:    php

Hej alle

Jeg har et stort problem jeg har en sidde på http://80.196.131.152/admin/index3.php
jeg vil gerne have at man kan trykke på:

Bord nr
User id
Navn
Nick
Betalt
Dato

hvor efter den sorterer tingene alfabetisk efter det punkt man har valgt. har siddet hele dagen i dag og kæmpet med det og har endnu ikke fundet en løsning håber i kan hjælpe mig.

her kommer min kode:
<!-- Side Information start -->
<html>
<body bgcolor="#212C42" text="#FFFFFF">
<!-- Side Information slut -->

<table border='0' cellpadding='0' cellespacing='0' style='border-collapse: collapse' width='100%'>
<tr>
<td width='8%'><b><a href="index3.php?&$sorter=Bord">Bord Nr.</a></b></td>
<td width='8%'><b>User Id.</b></td>
<td width='15%'><b>
<a href="index3.php?vis=side&sortering=Name">Navn</a></b></td>
<td width='15%'><b>Nick</b></td>
<td width='8%'><b>Betalt</b></td>
<td width='8%'><b>Dato</b></td>
</tr>

<?
// Login ind til MySQL
include("connect.inc.php");

// Hent først data ud
$resultat = mysql_query("select * from Bordplan");

// Kør så igennem for hver række
while ($raekke = mysql_fetch_array($resultat)) {

echo "\\t<tr>\\n";
echo "\\t\\t<td>$raekke[Bord]</td>\\n";
echo "\\t\\t<td>$raekke[Userid]</td>\\n";
echo "\\t\\t<td>$raekke[Navn]</td>\\n";
echo "\\t\\t<td>$raekke[Nick]</td>\\n";
echo "\\t\\t<td>$raekke[Betalt]</td>\\n";
echo "\\t\\t<td>$raekke[Dato]</td>\\n";
echo "\\t</tr>\\n";
}
?>
</table>
</body>
</html>




5 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 10 karma
Sorter efter stemmer Sorter efter dato
Hej alle

Jeg har et stort problem jeg har en sidde på http://80.196.131.152/admin/index3.php
jeg vil gerne have at man kan trykke på:

Bord nr
User id
Navn
Nick
Betalt
Dato

hvor efter den sorterer tingene alfabetisk efter det punkt man har valgt. har siddet hele dagen i dag og kæmpet med det og har endnu ikke fundet en løsning håber i kan hjælpe mig.

her kommer min kode:
<!-- Side Information start -->
<html>
<body bgcolor="#212C42" text="#FFFFFF">
<!-- Side Information slut -->

<table border='0' cellpadding='0' cellespacing='0' style='border-collapse: collapse' width='100%'>
<tr>
<td width='8%'><a href="index3.php?&$sorter=Bord">Bord Nr.</a></td>
<td width='8%'>User Id.</td>
<td width='15%'>
<a href="index3.php?vis=side&sortering=Name">Navn</a>
</td>
<td width='15%'>Nick</td>
<td width='8%'>Betalt</td>
<td width='8%'>Dato</td>
</tr>

<?
// Login ind til MySQL
include("connect.inc.php");

// Hent først data ud
$resultat = mysql_query("select * from Bordplan");

// Kør så igennem for hver række
while ($raekke = mysql_fetch_array($resultat)) {

echo "\\t<tr>\\n";
echo "\\t\\t<td>$raekke[Bord]</td>\\n";
echo "\\t\\t<td>$raekke[Userid]</td>\\n";
echo "\\t\\t<td>$raekke[Navn]</td>\\n";
echo "\\t\\t<td>$raekke[Nick]</td>\\n";
echo "\\t\\t<td>$raekke[Betalt]</td>\\n";
echo "\\t\\t<td>$raekke[Dato]</td>\\n";
echo "\\t</tr>\\n";
}
?>
</table>
</body>
</html>


Prøv at udskifte den kode du har mellem dín <? og ?> med denne:

Fold kodeboks ind/udKode 


Du vil nu kunne sortere efter navn og bord (ikke afprøvet). sortering efter andre parametre skulle nu være let at tilføje.

mvh.

Stefan Svensson



BRUG DETTE....

<!-- Side Information start -->
<html>
<body bgcolor="#212C42" text="#FFFFFF">
<!-- Side Information slut -->

<table border='0' cellpadding='0' cellespacing='0' style='border-collapse: collapse' width='100%'>
<tr>
<td width='8%'><a href="index3.php?vis=side&sortering=Bord">Bord Nr.</a></td>
<td width='8%'>User Id.</td>
<td width='15%'>
<a href="index3.php?vis=side&sortering=Name">Navn</a>
</td>
<td width='15%'>Nick</td>
<td width='8%'>Betalt</td>
<td width='8%'>Dato</td>
</tr>

<?
// Find ud af sortering
switch($HTTP_GET_VARS["sortering"]){

case "Name":
case "Bord":
case "Betalt": //osv. du har nok fanget ideen

$sort = " ORDER BY ".$HTTP_GET_VARS["sortering"];
break;

default: $sort = "";
}

// Login ind til MySQL
include("connect.inc.php");

// Hent først data ud
$resultat = mysql_query("select * from Bordplan $sort");

// Kør så igennem for hver række
while ($raekke = mysql_fetch_array($resultat)) {

echo "\\t<tr>\\n";
echo "\\t\\t<td>$raekke[Bord]</td>\\n";
echo "\\t\\t<td>$raekke[Userid]</td>\\n";
echo "\\t\\t<td>$raekke[Navn]</td>\\n";
echo "\\t\\t<td>$raekke[Nick]</td>\\n";
echo "\\t\\t<td>$raekke[Betalt]</td>\\n";
echo "\\t\\t<td>$raekke[Dato]</td>\\n";
echo "\\t</tr>\\n";
}
?>
</table>
</body>
</html>


Det andet var da noget rod :o)





sort= " sort by name"; // ((((DETTE ER LINJE 24)))
}

if ($HTTP_GET_VARS["sortering"] =="bord")
{
sort= " sort by bord";
}


Brug $sort=...



Du skal kun ændre

$resultat = mysql_query("select * from Bordplan order by ".$_GET[sortering]);

og sørge for at sortering har samme navne som kolonnerne i din tabel




min kode ser nu således ud, dog siger den når jeg prøver at se siden i internet explore at der er fejl følgende fejl: Parse error: parse error in /home/ftp/www/admin/index3.php on line 24

<!-- Side Information start -->
<html>
<body bgcolor="#212C42" text="#FFFFFF">
<!-- Side Information slut -->

<table border='0' cellpadding='0' cellespacing='0' style='border-collapse: collapse' width='100%'>
<tr>
<td width='8%'><b><a href="index3.php?&$sorter=Bord">Bord Nr.</a></b></td>
<td width='8%'><b>User Id.</b></td>
<td width='15%'><b>
<a href="index3.php?vis=side&sortering=Name">Navn</a></b></td>
<td width='15%'><b>Nick</b></td>
<td width='8%'><b>Betalt</b></td>
<td width='8%'><b>Dato</b></td>
</tr>

<?
// Find ud af sortering
$sort=" sort by name";
if (!empty($HTTP_GET_VARS["sortering"]))
{
if ($HTTP_GET_VARS["sortering"] =="Name")
{
sort= " sort by name"; // ((((DETTE ER LINJE 24)))
}

if ($HTTP_GET_VARS["sortering"] =="bord")
{
sort= " sort by bord";
}
}

// Login ind til MySQL
include("connect.inc.php");

// Hent først data ud
$resultat = mysql_query("select * from Bordplan".$sort);

// Kør så igennem for hver række
while ($raekke = mysql_fetch_array($resultat)) {

echo "\\t<tr>\\n";
echo "\\t\\t<td>$raekke[Bord]</td>\\n";
echo "\\t\\t<td>$raekke[Userid]</td>\\n";
echo "\\t\\t<td>$raekke[Navn]</td>\\n";
echo "\\t\\t<td>$raekke[Nick]</td>\\n";
echo "\\t\\t<td>$raekke[Betalt]</td>\\n";
echo "\\t\\t<td>$raekke[Dato]</td>\\n";
echo "\\t</tr>\\n";
}
?>
</table>
</body>
</html>




t