Avatar billede nielschristiansen Nybegynder
13. november 2005 - 11:57 Der er 11 kommentarer

jeg har lavet følgende forespørgsel

$fore = mysql_query("select indhold,billed from side,billed where side.id = '$_GET[id]' and side.id = billed.side_id");

og den virker egentlig fint dog kun hvis der er et billed i tabellen billed hvis der ikke er noget billed i billed tabellen men kun skrift i side tabellen virker det ikke er der nogle der kan hjælpe mig med det  altså det jeg vil have er at at den viser indholdet at begge tabeller selvom den ene skulle være tom

Mvh
Niels Christiansen
Avatar billede bromer Nybegynder
13. november 2005 - 12:04 #1
Den kræver at begge værdier er der fordi du har lavet et inner join. Din query kan omskrives til:

select indhold,billed from side INNER JOIN billed ON (ide.id = billed.side_id) where side.id = '$_GET[id]';

Det giver samme resultatet. Du kan få det du vil have - tror jeg - med følgende:

SELECT indhold,billed from side LEFT JOIN billed ON (ide.id = billed.side_id) where side.id = '$_GET[id]';
Avatar billede nielschristiansen Nybegynder
13. november 2005 - 13:38 #2
Jeg får følgende fejl Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\wamp\www\biga\side1.php on line 24

når jeg bruger denne
$fore = mysql_query("SELECT indhold,billed from side LEFT JOIN billed ON (ide.id = billed.side_id) where side.id = '$_GET[id]'");
Avatar billede pidgeot Nybegynder
13. november 2005 - 14:44 #3
Prøv med

$fore = mysql_query("SELECT indhold,billed from side LEFT JOIN billed ON (ide.id = billed.side_id) where side.id = '$_GET[id]'") or die(mysql_error());

og se hvilken fejl du får. På den måde kan vi finde ud af hvilken del af din SQL den ikke kan lide.
Avatar billede kjulius Novice
13. november 2005 - 15:18 #4
Mon ikke side.id er numerisk?

I så fald skal din $_GET[id] ikke indkapsles i ' ', da det betyder, at et numerisk felt skal sammenlignes med en streng. Og det går ikke. Men jeg undrer mig over, at du siger den virker i din oprindelige SQL (den fra dit spørgsmål), da den jo bruger det samme. Er du sikker på, at SQLen i spørgsmålet er gengivet korrekt?
Avatar billede pidgeot Nybegynder
13. november 2005 - 15:35 #5
Efter min erfaring finder MySQL selv ud af at sammenligne korrekt selv hvis et tal er indpakket i ''.
Avatar billede bromer Nybegynder
13. november 2005 - 15:36 #6
MySQL har som standard slået ANSII_QUOTE eller hvad det nu hedder fra. Det betyder at man gerne må indramme sine integers i single-quotes. Det er ikke særlig pænt og god skik at lade være.
Avatar billede nielschristiansen Nybegynder
13. november 2005 - 16:26 #7
så kommer følgende fejl Unknown table 'ide' in on clause
Avatar billede nielschristiansen Nybegynder
13. november 2005 - 16:27 #8
ah nu virker det det var egentlig ide der skulle være side
Avatar billede nielschristiansen Nybegynder
13. november 2005 - 16:43 #9
pidgeot da det var dit foreslag der virkede er jo dig der skal have point så hvis du giver et svar får du point og hvis der er nogle som vil forklare mig hvordan join virker så jeg ved det til en anden gang må i gerne det :)

Mvh
Niels Christiansen
Avatar billede pidgeot Nybegynder
13. november 2005 - 18:01 #10
Nej tak - det bundede jo udelukkende i en stavefejl fra bromers side; jeg viste blot hvordan man nemt kunne finde ud af hvad fejlen var.

Giv pointene til bromer i stedet, det er ham der har foretaget det egentlige arbejde. :)
Avatar billede nielschristiansen Nybegynder
13. november 2005 - 18:05 #11
ok bromers giver du et svar
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
Computerworld tilbyder specialiserede kurser i database-management

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