/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
måske noget med JOIN
Fra : pepss


Dato : 11-04-04 09:02

hejsa NG

jeg ved ikke om det er den rigtig gruppe eller om det kan gøres i ren SQL.
hvis det er må i lige give mig et FUT.

på min side har jeg en gæstebog hvor den der har oprettet en profil kan
skrive til heanden.
gæstebogen bliver gemt i en MySQL database hvor jeg setter profiliden for
den der har bogen og profiliden for den der skriver i den.
når man så læser sin gæstebog kan man se hvem der har skrevet men det giver
et problem hvis den profil der har skrevet har slettet sin profil.

det jeg så gerne vil er at hvis man har en besked fra en profil der er
slettet skal der stå "slettet profil" istedet for profil navnet.

jeg har tænkt på noget alá:
strSQL = "Select * From gaestebog INNER JOIN medlemmer ON gestebog.fraid =
medlemmer.profilid Where profilid = " & pID & ""

men hvordan får jeg den til at skrive "profil slettet" hvis
medlemmer.profilid ikke er der?
håber det er til at forstå hvad jeg gerne vil ellers bare spørg!

--
Pepss
Den ordblinde der prøver at blive webdesigner
Fræk frækkere www.cafe-flirt.dk
De frække noveller www.novelle.cafe-flirt.dk



 
 
VagnT (12-04-2004)
Kommentar
Fra : VagnT


Dato : 12-04-04 08:36

pepss wrote in dk.edb.internet.webdesign.serverside.asp:

> hvis man har en besked fra en profil der er
> slettet skal der stå "slettet profil" istedet for profil navnet.
>
> jeg har tænkt på noget alá:
> strSQL = "Select * From gaestebog INNER JOIN medlemmer ON gestebog.fraid =
> medlemmer.profilid Where profilid = " & pID & ""
>
> men hvordan får jeg den til at skrive "profil slettet" hvis
> medlemmer.profilid ikke er der?

Hej Pepss,
Du skal bruge en CASE i din select.
Du kan læse om den her:
http://dev.mysql.com/doc/mysql/en/CASE_Statement.html

Du skal skrive noget i retning af:

"Select felt1, felt2, felt2, osv, CASE medlemmer.profilid WHEN NULL THEN
'profil slettet' ELSE medlemmer.profilid END CASE From gaestebog INNER JOIN
medlemmer ON gestebog.fraid = medlemmer.profilid Where profilid = " & pID &
""

Erstat felt1, felt2, felt2, osv, med de andre felter du skal bruge. Jeg har
ikke lige en MySQL database med de to tabeller du bruger, derfor er sætningen
ikke testet, men tilsvarende SQL virker andre steder jeg har lavet det.

mvh.

VagnT

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

pepss (12-04-2004)
Kommentar
Fra : pepss


Dato : 12-04-04 20:30


"VagnT" skrev

> pepss
>
> > hvis man har en besked fra en profil der er
> > slettet skal der stå "slettet profil" istedet for profil navnet.
> >
> > men hvordan får jeg den til at skrive "profil slettet" hvis
> > medlemmer.profilid ikke er der?
>
> Du skal bruge en CASE i din select.

takker rigtig mange gange for dit svar!

--
Pepss
Den ordblinde der prøver at blive webdesigner
Fræk frækkere www.cafe-flirt.dk
De frække noveller www.novelle.cafe-flirt.dk



Jakob Andersen (15-04-2004)
Kommentar
Fra : Jakob Andersen


Dato : 15-04-04 00:58

VagnT wrote:
> "Select felt1, felt2, felt2, osv, CASE medlemmer.profilid WHEN NULL
> THEN 'profil slettet' ELSE medlemmer.profilid END CASE From gaestebog
> INNER JOIN medlemmer ON gestebog.fraid = medlemmer.profilid Where
> profilid = " & pID & ""

En IFNULL ville nok være en kende mere elegant

SELECT <andre kolonner>, IFNULL(t2.<brugernavn>,'Slettet bruger')
FROM <beskeder> t1 LEFT JOIN <brugere> t2
ON t1.<brugerid> = t2.<brugerid>

--
Jakob Andersen



Søg
Reklame
Statistik
Spørgsmål : 177549
Tips : 31968
Nyheder : 719565
Indlæg : 6408820
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste