25. juni 2026 - 22:20Der er
8 kommentarer og 1 løsning
Jeg bakser med noget Database og If Then med ASP - hvad gør jeg galt?
Er i gang med et billedarkiv, hvor der kan stemmes på et given billede, og så skal den bonne ud med et YES i tabellen hvis 2 eller flere stemmer på det samme billede, som de syntes bedst om. f.eks.: Egon : billede nr 23 YES Keld : billede nr 212 Benny:billede nr 23 YES OSV. Har efterhånden afprøvet adskillige kombinationer, og enten bonner den ud med et YES på samtlige, eller absolut ingen match, - er jeg helt skæv på den med at Navn skal være forskellige fra de andre Navn OG BilledeA skal være lig med de øvrige BilledeA i DB/tabellen? Indstillinger i DB. Navn=Char BilledeA + B = TINYINT og også afprøvent med INT Koder er flg: <% strSQL = "SELECT * FROM afstemning ORDER BY ID DESC;"
Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open tempConn Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then
<% Do While Not rs.EOF 'Har prøvet denne kombination + adskillige andre uden held - If (rs("Navn")) <> "" and (rs("BilledeA")) = (rs("BilledeA")) = "" then
If (rs("Navn")) <> (rs("Navn")) AND (rs("BilledeA")) = (rs("BilledeA")) then Response.Write "<tr><td>" & (rs("Navn")) & "</td><td>" & (rs("BilledeA")) & "</td><td>" & (rs("BilledeB")) & "</td><td>" & "YES" & "</td></tr>" Else Response.Write "<tr><td>" & (rs("Navn")) & "</td><td>" & (rs("BilledeA")) & "</td><td>" & (rs("BilledeB")) & "</td><td>" & "</td></tr>" End If rs.MoveNext Loop %>
</table>
<% rs.close myConn.Close set rs=Nothing Set myConn = Nothing End If %>
Hej Arne Grunden til at jeg valgte ORDER BY ID DESC så ville den liste alle poster ud, og udvælgelsen skulle så ske i If THEN sætningen jeg syntes efterhånden jeg har afprøvet samtlige kombinationer, også inden for diverse SQL muligheder strSQL = "SELECT * FROM afstemning WHERE Navn <> ' ' ;" strSQL = "SELECT * FROM afstemning WHERE Navn <> Navn and BilledeA = BilledeA ;" (Mest oplagt) strSQL = "SELECT * FROM afstemning WHERE BilledeA <> BilledeA
Men der hvor jeg tror at den er gal, er f.eks. WHERE Navn <> ' ' Skriver jeg Egon i enkelt anførselstegnet, så bonner den ud med Egon, men hvordan definerer jeg så, at Navn SKAL være forskelligt fra Navn? Og den mest oplagte ville være strSQL = "SELECT * FROM afstemning WHERE Navn <> Navn and BilledeA = BilledeA ;" MEN igen, hvordan definerer jeg at Navn skal være forskellig fra navn OG BilledeA skal være lig med BilledeA når jeg ikke bare kan skrive som ovenstående, men at det skal være =' ' Jeg kan jo ikke bare skrive Navn <> Navn eller Navn <> 'Navn' Blev min problemstilling lidt mere tydeligt?
Hej Arne Æv, har gået hele dagen og afventet en mail om at der var et nyt svar, men den funktion må jeg åbenbart have slået fra. Jeg syntes dine koder ser lidt mærkelige ud, så jeg har ”omskrevet” dem, som jeg tror at de skulle se ud strSQL = "SELECT Name,BilledeA,(SELECT COUNT(*) FROM afstemning Antal2 WHERE Antal=Antal) totvot FROM Antal;" men alligevel er der noget jeg er i tvivl med, bl.a. mysql>, samt v1.picid=v2.picid) totvot FROM votes v1; (Skal der laves en ny tabel ell. Felt ?)
Tak, tak, tak Arne - du er fantastisk. Hvor svært ka det være, lidt IF THEN. HVIS navnene er forskellige, OG lykken finder flere ens numre (BilledeA) som er ens, så bon ud med de pågældende dubletter, - men nej, så ligetil var det alligevel ikke. Og der findes åbenbart ikke en funktion der lister dubletter, kun en der kan fjerne dem!!! Troede efterhånden ikke det skulle lykkes, men du kom med en brugbar løsning, som jeg aldrig selv havde kunne sammensætte. Satte ORDER BY BilledeA ;” til sidst i SQL sætningen, så de listes fra lav til høj. Endnu engang TAK.
Synes godt om
Ny brugerNybegynder
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.