Avatar billede weeelo Nybegynder
06. november 2004 - 15:17 Der er 11 kommentarer og
1 løsning

2 tabeludtræk fra mySQL

Her er min kode:

<?php

$sql = mysql_query("SELECT _klubber.navn, _profiler.* FROM _klubber, _profiler WHERE _klubber.navn = _profiler.klub ORDER BY _profiler.troje ASC");
$result  =  mysql_query("$sql")or die(mysql_error());
for ($i=1; $r = mysql_fetch_object($result); $i++){


        echo"
        <table width=75% align=center class=txt style=\"border-left: 1px solid #000000; border-top: 1px solid #000000; border-right: 1px solid #000000;\" cellspacing=0 cellpadding=2>
        <tr>
            <td align=left class=txt width=8%>$r->troje</td>
            <td align=left class=txt width=32%><b><a href=http://www.footballworld.dk/profiler/sp_profiler.php?id=$r->vis_sp>$r->navn</b></td>
            <td align=left class=txt width=20%><a href=http://www.footballworld.dk/profiler/kl_profiler.php?id=$r->klub_vis>$r->klub</td>
            <td align=left class=txt width=20%>$r->land</td>
        </tr>
        </table>
        ";
        }
        ?>

Men jeg får følgende fejlmeddelelse:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #6' at line 1

----

Hvad er der galt?
Avatar billede jaw Nybegynder
06. november 2004 - 15:18 #1
Du kører 2 gange mysql_query() det duer ikke... Du skal fjerne den ene af dem...
Avatar billede jaw Nybegynder
06. november 2004 - 15:18 #2
F.eks.:

$sql = "SELECT _klubber.navn, _profiler.* FROM _klubber, _profiler WHERE _klubber.navn = _profiler.klub ORDER BY _profiler.troje ASC";
$result  =  mysql_query("$sql")or die(mysql_error());
Avatar billede weeelo Nybegynder
06. november 2004 - 15:19 #3
Hvilket vil sige? Jeg er lidt ny på det her..
Avatar billede hmortensen Nybegynder
06. november 2004 - 15:19 #4
jaw, man skal jo være sikker på at forespørgelsen er eksekveret :)
Avatar billede jaw Nybegynder
06. november 2004 - 15:20 #5
Din kode nu, ser sådan her ud:

$sql = mysql_query("SELECT _klubber.navn, _profiler.* FROM _klubber, _profiler WHERE _klubber.navn = _profiler.klub ORDER BY _profiler.troje ASC");
$result  =  mysql_query("$sql")or die(mysql_error());

Hvis vi omskriver det, står der faktisk:
$result = mysql_query(mysql_query("SELECT _klubber.navn, _profiler.* FROM _klubber, _profiler WHERE _klubber.navn = _profiler.klub ORDER BY _profiler.troje ASC"));

...hvor du så kan se, at du har mysql_query() 2 gange. Den ene af dem skal væk, og det kan f.eks. se ud som jeg skrev i mit 2. indlæg.
Avatar billede jaw Nybegynder
06. november 2004 - 15:21 #6
hmortensen - Jow, jow, men man kan da også overdrive? :D
Avatar billede weeelo Nybegynder
06. november 2004 - 15:31 #7
ahh, du er hurtig.. Det hjalp.

Men det er ikke helt ok endnu..
Længere oppe i min kode har jeg denne query

$query = mysql_query("SELECT * FROM _klubber WHERE id=".$_GET['id']."");

den fungere fint, men når jeg laver WHERE _klubber.navn = _profiler.klub i min næste query kommer ALLE. Det skal kun være dem med den id fra den første query. Forstår du det?
Avatar billede weeelo Nybegynder
06. november 2004 - 15:33 #8
Desuden. Min ORDER BY _profiler.troje ASC sorterer 1,11,12,2 istedet for 1,2,11,12.. Hvordan ændrer jeg det?
Avatar billede jaw Nybegynder
06. november 2004 - 15:35 #9
Tror jeg nok jeg gør, en løsning kunne måske være:

SELECT _klubber.navn, _profiler.* FROM _klubber, _profiler WHERE _klubber.navn = _profiler.klub AND _klubber.id = ".$_GET['id']." ORDER BY _profiler.troje ASC

...vil jeg mene...
Avatar billede jaw Nybegynder
06. november 2004 - 15:36 #10
Prøv at ændre datatypen i din database på feltet _profiler.troje til INT hvis det ikke allerede er det. INT = INTEGER = TAL :)
Avatar billede weeelo Nybegynder
06. november 2004 - 15:48 #11
Det er simpelthen kanon!! Dejligt at lære lidt hver dag.. Smid et svar og du ska få dine points.
Avatar billede jaw Nybegynder
06. november 2004 - 15:50 #12
Det var da så sandelig så lidt :)

Så siger jeg også tak...
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