22. november 2005 - 20:51Der er
7 kommentarer og 1 løsning
WHERE is the solution??
Hejsa,
I nedenstående WHERE-sætning var det min intention at lade "bonus.bonusID" returnere et resultat, i tilfælde af at kriterierne herfor var opfyldte. Hvis "bonus.bonusID = '$_GET[id]'" derimod ikke returnerede et resultat ville jeg gerne have at (default.defaultID = '1') returnerede sit eget resultat i stedet.
Det lader sig dog ikke gøre med nedenstående sætning, og i de tilfælde, at begge WHERE-kriterier er opfyldte returnerer kaldet blot begge resultater.
*** WHERE bonus.bonusID = '$_GET[id]' OR default.defaultID = '1' ***
Hvordan kan man på nemmeste vis få "default" returneret men KUN hvis "bonus" IKKE eksisterer? Og HVIS "bonus" eksisterer, så kun få "bonus" returneret?
Selve navnene fungerer blot som illustration, men ja, "bonus" og "default" ligger i princippet i to forskellige tabeller. Dét jeg er ude efter mere specifikt, er en kommando eller lign., der blot for illustrationens skyld! kunne hedder:
WHERE bonus.bonusID = '$_GET[id]' OR IF BONUS DOES NOT EXIST THEN default.defaultID = '1'
Bemærk, jeg er kun ude efter, at WHERE-sætningen returnerer enten det ene eller det andet resultat - ikke begge som det er resultatet når jeg bruger "OR".
Tak for jeres indlæg og forslag. Jeg har fiflet lidt og har fået det til at virke, ud fra sandbox' forslag - så derfor opret et svar så får du nogle point. Nielle - tak for din tid, alligevel!
P.S. Hvorfor er det ikke en god idé med en streng som ID?
Synes godt om
Slettet bruger
24. november 2005 - 21:15#6
Om det er en god ide med strenge som ID kommer lidt an på strukturen på databasen, men hvis den alligevel indeholder et tal, virker det på mig ganske fjollet at gemme som en streng - med mindre der skal være forskel på 1 og 01 eller noget i den stil.
Det er altså mere et spørgsmål om at bruge den datatype, som passer til indholdet.
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.