Avatar billede hoell Nybegynder
06. oktober 2003 - 21:42 Der er 23 kommentarer og
1 løsning

Sortering af resultat via link

Hej Jeg har følgende kode, men ved med sikekrhed at de link, jeg har lagt ind ikke virker!! hvordan skal linket se ud, således at når man klikke på kolonne overskriften i hver kolonne soretes resultatet efter denne side´?

Her er koden

<?PHP

include 'style.php';
include 'db.php';

    $query = "SELECT * FROM vvbkdommere";
    $result = mysql_query($query);
    $numrows = mysql_num_rows($result);

    echo "der er nu $numrows dommer(re) i kartoteket<BR>";
        echo '<table border="1">';
        echo '<tr align="center">
                    <td><a href=$PHP_SELF?vis=side&sortering=dommernr>dommernr.</a></td>
                    <td><a href=$PHP_SELF?vis=side&sortering=fornavn>fornavn</a></td>
                    <td><a href=$PHP_SELF?vis=side&sortering=efternavn>efternavn</a></td>
                    <td><a href=$PHP_SELF?vis=side&sortering=adresse>adresse</a></td>
                    <td>P-nr.</td>
                    <td>By</td>
                    <td>Telefon</td>
                    <td>Klub</td>
                    <td>Udløb</td>
                    <td>Dommertype</td>
                </tr>';

    while($row = mysql_fetch_array($result))
    {
        echo '<tr align="center">';
        echo "    <td>$row[dommernr]</td>";
        echo "    <td>$row[fornavn]</td>";
        echo "    <td>$row[efternavn]</td>";
        echo "    <td>$row[adresse]</td>";
        echo "    <td>$row[postnr]</td>";
        echo "    <td>$row[bynavn]</td>";
        echo "    <td>$row[telefon]</td>";
        echo "    <td>$row[klub]</td>";
        echo "    <td>$row[expire]</td>";
        echo "    <td>$row[dommertype]</td>";
        echo '</tr>';
    }
        echo '</table>';

?>

På forhånd tak

Hoell
Avatar billede exp Juniormester
06. oktober 2003 - 21:49 #1
$query = "SELECT * FROM vvbkdommere";

skal ændres til

$query = "SELECT * FROM vvbkdommere ORDER BY ".$_GET['sortering']";
Avatar billede hoell Nybegynder
06. oktober 2003 - 21:52 #2
Så får jeg følgende fejl besked!!

Parse error: parse error, unexpected '\"' in /customers/hoell.dk/hoell.dk/httpd.www/vvbk/test4.php on line 6

/Hoell
Avatar billede exp Juniormester
06. oktober 2003 - 21:55 #3
echo "<td><a href=".$_GET['PHP_SELF']."?vis=side&sortering=dommernr>dommernr.</a></td>"
echo "<td><a href=".$_GET['PHP_SELF']."?vis=side&sortering=fornavn>fornavn</a></td>"
echo "<td><a href=".$_GET['PHP_SELF']."?vis=side&sortering=efternavn>efternavn</a></td>"
echo "<td><a href=".$_GET['PHP_SELF']."?vis=side&sortering=adresse>adresse</a></td>"
Avatar billede hoell Nybegynder
06. oktober 2003 - 22:00 #4
Jeg tror måske ikke det er den helt rigtige måde at gøre det på, men det var et svar jeg så i et spm. her på Eksperten, kan ikke lige huske nr :(.

Kan man evt. gørte det på en anden måde, for jeg får stadigvæk samme fejl.

/Hoell
Avatar billede exp Juniormester
06. oktober 2003 - 22:02 #5
den metode jeg viser dig er den jeg selv plejer at bruge...
Avatar billede hoell Nybegynder
06. oktober 2003 - 22:03 #6
Har du evt. et link til en side, hvor den er i brug, så jeg kan se om det er det jeg søger? /Hoell
Avatar billede exp Juniormester
06. oktober 2003 - 22:05 #7
http://kjeldsen.1go.dk/blacklist/

log evt ind med test/test
Avatar billede hoell Nybegynder
06. oktober 2003 - 22:09 #8
Præcis det jeg søger, men skal der ike defineres en functione eller noget andet, så det vides, hvad f.eks.:

vis=side&sortering=dommernr

betyder?? /Hoell
Avatar billede erikjacobsen Ekspert
06. oktober 2003 - 22:11 #9
Hvis det er
$query = "SELECT * FROM vvbkdommere ORDER BY ".$_GET['sortering']";
du får syntaksfejl på er det fordi det skal være
$query = "SELECT * FROM vvbkdommere ORDER BY ".$_GET['sortering'];
Avatar billede exp Juniormester
06. oktober 2003 - 22:12 #10
erikjacobsen >>
hehe... tror sgu jeg skal i seng nu
Avatar billede hoell Nybegynder
06. oktober 2003 - 22:17 #11
Velkommen´til Erik, men så får jeg fejl i den sidste af disse to linier:

    $result = mysql_query($query);
    $numrows = mysql_num_rows($result);

Fejlmeddelsen er:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /customers/hoell.dk/hoell.dk/httpd.www/vvbk/test4.php on line 8

Burde jeg ikke kunne  det?
Avatar billede erikjacobsen Ekspert
06. oktober 2003 - 22:24 #12
første gang du kommer din på siden får du den fejl fordi $_GET['sortering'] er
tom.

Du skal egentlig (nu exp sover) gøre dette:

$order="";
if (isset($_GET['sortering']) {
  $order=" ORDER BY {$_GET['sortering']}";
}
$query = "SELECT * FROM vvbkdommere $order";
Avatar billede hoell Nybegynder
06. oktober 2003 - 22:30 #13
Parse error: parse error, unexpected '{' in /customers/hoell.dk/hoell.dk/httpd.www/vvbk/test4.php on line 7
Det kan jeg ikke helt forstå, for umiddelbart synes jeg ikke der mangler en tuborgklamme her!
Avatar billede erikjacobsen Ekspert
06. oktober 2003 - 22:32 #14
if (isset($_GET['sortering'])) {
Avatar billede hoell Nybegynder
06. oktober 2003 - 22:53 #15
Erikhvis du vil have point, er du nød til at oprette et svar, for selvfølgelig var det denmanglende parantes som var afgørende, men det have jeg ikke lige kigget efter!!

Men hvorfor kan jeg ikke følgende?

$dagsdato = getdate();
$query = "SELECT * FROM kurser WHERE tilmeldingsfrist > $dagsdato";

Jeg vil kun have de resultater hvor tilmeldingsfristen ikke er overskredet. FElketet tilmeldingsfrist er oprettet som en DATE i tabelen Kurser. /Hoell
Avatar billede exp Juniormester
06. oktober 2003 - 22:55 #16
brug time istedet...

$dagsdato = time();

tilmeldingsfrist skal så være af typen INT(11)
Avatar billede hoell Nybegynder
06. oktober 2003 - 22:59 #17
Hvilket format skal man så indtase tilmeldinsgfristen i? /Hoell
Avatar billede hoell Nybegynder
06. oktober 2003 - 23:04 #18
Skal jeg lave en omregning fra dato til time(), er det ikke noeg med en eller anden dato engang i starten af 1970??
Avatar billede exp Juniormester
06. oktober 2003 - 23:17 #19
vender lige tilbage imorgen, men ja, det _kunne_ du gøre
Avatar billede erikjacobsen Ekspert
06. oktober 2003 - 23:35 #20
Du kan sagtens bruge

$query = "SELECT * FROM kurser WHERE tilmeldingsfrist > '$dagsdato'";

hvis $dagsdato er på formen '2003-10-06'
Avatar billede hoell Nybegynder
06. oktober 2003 - 23:51 #21
$dagsdato bliver vel på denne form med getdate() eller hva'?
Avatar billede erikjacobsen Ekspert
06. oktober 2003 - 23:55 #22
Nej, men med
  date("Y-m-d")
gør den *g*
Avatar billede hoell Nybegynder
06. oktober 2003 - 23:59 #23
Super Erik, nå men nu vil jeg til og seng, godnat!! /Hoell
Avatar billede exp Juniormester
07. oktober 2003 - 15:04 #24
Hvorfor tager du selv point?
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