webForum webForum sponsras med lina och serverplats av Binero AB

Gå tillbaka   webForum > Utveckling > Programmering & Utveckling > Databashanterare & SQL

Databashanterare & SQL Diskussioner om databashanterare och SQL. Exempelvis DML, DDL, MySQL, MS SQL Server samt datamodellering.

Svar
 
Trådverktyg Visningsalternativ
Äldre 2008-02-07, 19:51   #1
Lorelie
Medlem
 
Registrerad: 2005-06-12
Inlägg: 264
Lösningar: 0
Söka utan att fylla i alla fält

Hur gör man för att få fram ett sökresultat i ett formulär utan att behöva fylla i alla uppgifter? har två dropdownlistor som måste få ett värde för att resultat ska visas.

http://www.aramennoc.se vänster sida finns en drop down och i den längst ner under konstruktion för att se det aktuella formuläret

Koden ser ut såhär just nu : http://www.aspsidan.se/code/default.asp?c=11147
Lorelie besöker inte forumet just nu   Svara med citat
Äldre 2008-02-07, 20:42   #2
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
Jag ser endast en dropdownlist. Kan du beskriva lite närmare vad du vill göra?
Peter S besöker inte forumet just nu   Svara med citat
Äldre 2008-02-07, 20:48   #3
Lorelie
Medlem
 
Registrerad: 2005-06-12
Inlägg: 264
Lösningar: 0
Citat:
Peter S skrev:
Jag ser endast en dropdownlist. Kan du beskriva lite närmare vad du vill göra?

Gick du in på "Under konstruktion" i den listan då?

Vill kunna lämna de två listorna utan att söka på något speciellt och ändå få fram resultat. Alla andra saker går att lämna tomma. fyll inte i något och klicka på sök, det kommer inte hittas något, fyll i tex sverige och skimmel och sök så kommer det upp en del
Lorelie besöker inte forumet just nu   Svara med citat
Äldre 2008-02-07, 21:04   #4
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
Aha, nej, jag gick inte in under "Under konstruktion".

Så här kanske:
Kod:
SQL = _
"select *" &_
"  from hast" &_
" where kon  = '"& SafeSQL(Request.Form("kon")) &"'" &_
"   and ras  = '"& SafeSQL(Request.Form("ras")) &"'" &_
"   and farg = '"& SafeSQL(Request.Form("farg")) &"'"

namn = SafeSQL(Request.Form("hast"))
stambok = lcase(SafeSQL(Request.Form("stambok")))
uppf = SafeSQL(Request.Form("uppf"))

if namn <> "" then
 SQL = SQL & " and namn like '" & namn & "%'"
end if

if stambok = "not null" then
 SQL = SQL & " and stambok is not null"
elseif stambok = "null" then
 SQL = SQL & " and stambok is null"
end if

if uppf <> "" then
 SQL = SQL & " and uppf like '%" & uppf & "%'"
end if

SQL = SQL & " order by " & SafeSQL(Request.Form("ordning"))
Peter S besöker inte forumet just nu   Svara med citat
Äldre 2008-02-08, 13:02   #5
Lorelie
Medlem
 
Registrerad: 2005-06-12
Inlägg: 264
Lösningar: 0
Tack!
Men det funderade inte alls, ingen skillnad, dvs inget kom upp när man sökte med tomma rutor, och saker och ting dök upp när man fyller i uppgifter
Lorelie besöker inte forumet just nu   Svara med citat
Äldre 2008-02-09, 09:42   #6
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
Hur SQL-strängen ut när du inte fyller i några uppgifter? D.v.s. skriv
Kod:
response.write SQL
response.end
...direkt efter SQL = SQL & " order by " & SafeSQL(Request.Form("ordning")).
Peter S besöker inte forumet just nu   Svara med citat
Äldre 2008-02-10, 17:59   #7
Lorelie
Medlem
 
Registrerad: 2005-06-12
Inlägg: 264
Lösningar: 0
select * from hast where kon = 'Hingst' and ras = 'ras' and farg = 'farg' order by namn


Ras = nationalitet

Senast redigerad av Lorelie, 2008-02-10 klockan 18:42
Lorelie besöker inte forumet just nu   Svara med citat
Äldre 2008-02-10, 18:42   #8
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
Använder du det kodstycke jag postade ovan nu?
Peter S besöker inte forumet just nu   Svara med citat
Äldre 2008-02-10, 18:43   #9
Lorelie
Medlem
 
Registrerad: 2005-06-12
Inlägg: 264
Lösningar: 0
Citat:
Peter S skrev:
Använder du det kodstycke jag postade ovan nu?
Nej, kom på att jag provade en annan, nu har jag bytt
Lorelie besöker inte forumet just nu   Svara med citat
Äldre 2008-02-10, 18:43   #10
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
Hur ser den genererade SQL-strängen ut då?
Peter S besöker inte forumet just nu   Svara med citat
Äldre 2008-02-10, 18:47   #11
Lorelie
Medlem
 
Registrerad: 2005-06-12
Inlägg: 264
Lösningar: 0
Citat:
Peter S skrev:
Hur ser den genererade SQL-strängen ut då?

select * from hast where kon = 'Hingst' and ras = 'ras' and farg = 'farg' order by namn

Senast redigerad av Lorelie, 2008-02-10 klockan 18:58
Lorelie besöker inte forumet just nu   Svara med citat
Äldre 2008-02-10, 19:05   #12
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
Hur kan exempelvis SafeSQL(Request.Form("ras")) bli 'ras' med tanke på att elementet 'ras' är definierat som
Kod:
<select name="ras">
<option selected value="%">Land/Stambok</option>
<option value="Connemara">Sverige</option>
<option value="IRE">Irland</option>
<option value="GBR">England</option>
<option value="DK">Danmark</option>
<option value="DE">Tyskland</option>

<option value="FIN">Finland</option>
<option value="NOR">Norge</option>
<option value="FRA">Frankrike</option>
<option value="AUS">Australien</option>
<option value="USA">USA</option>
<option value="NDL">Nederländerna</option>
<option value="NPS">NPS</option>
<option value="NZ">Nya Zeeland</option>
</select>
?

Sedan saknas ett </form>.
Peter S besöker inte forumet just nu   Svara med citat
Äldre 2008-02-10, 19:20 Markerad som löst av Lorelie   #13
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
Testa följande:
Kod:
SQL = _
"select *" &_
"  from hast" &_
" where kon  = '"& SafeSQL(Request.Form("kon")) &"'"

farg = SafeSQL(Request.Form("farg"))
ras = SafeSQL(Request.Form("ras"))
namn = SafeSQL(Request.Form("hast"))
stambok = lcase(SafeSQL(Request.Form("stambok")))
uppf = SafeSQL(Request.Form("uppf"))

if farg <> "%" then
 SQL = SQL & " and farg like '" & farg & "%'"
end if

if ras <> "%" then
 SQL = SQL & " and ras like '" & ras & "%'"
end if

if namn <> "" then
 SQL = SQL & " and namn like '%" & namn & "%'"
end if

if stambok = "not null" then
 SQL = SQL & " and stambok is not null"
elseif stambok = "null" then
 SQL = SQL & " and stambok is null"
end if

if uppf <> "" then
 SQL = SQL & " and uppf like '%" & uppf & "%'"
end if

SQL = SQL & " order by " & SafeSQL(Request.Form("ordning"))
Peter S besöker inte forumet just nu   Svara med citat
Äldre 2008-02-10, 20:22   #14
Lorelie
Medlem
 
Registrerad: 2005-06-12
Inlägg: 264
Lösningar: 0
#13 Funkar kanon =D

Tack för hjälpen!

ang. #12 så provade jag en sak bara, funkade ju inget vidare, hann inte byta tillbaka filen just då
Lorelie besöker inte forumet just nu   Svara med citat
Äldre 2008-02-10, 20:22   #15
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
Trevligt!
Peter S besöker inte forumet just nu   Svara med citat
Äldre 2008-02-10, 20:39   #16
Lorelie
Medlem
 
Registrerad: 2005-06-12
Inlägg: 264
Lösningar: 0
En liiiiten fråga till, jag vill kunna söka endast efter hästar med bild också, hur får jag till det? Tänkte mig en checkbox i formuläret, <input type="checkbox" name="bild">
men hur gör jag med sql-en?
Det bör väl vara något om att om bild = bild så visa bara poster där bild_url is not null ?

I databasen är fältet "bild_url" antingen ifylld eller inte, kryssar man i rutan så ska endast de med bild komma upp
Lorelie besöker inte forumet just nu   Svara med citat
Äldre 2008-02-10, 20:46   #17
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
Då blir det typ
Kod:
bild = SafeSQL(Request.Form("bild"))

if bild <> "" then
 SQL = SQL & " and bild_url is not null"
end if
Peter S besöker inte forumet just nu   Svara med citat
Äldre 2008-02-10, 20:50   #18
Lorelie
Medlem
 
Registrerad: 2005-06-12
Inlägg: 264
Lösningar: 0
:f Vad skulle jag göra utan dig!
Lorelie besöker inte forumet just nu   Svara med citat
Svar
webForum > Utveckling > Programmering & Utveckling > Databashanterare & SQL

Trådverktyg
Visningsalternativ

Forumregler
Du får inte posta nya trådar
Du får inte posta svar
Du får inte bifoga filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är av
HTML-kod är av

Forumhopp


Alla tider är i GMT +1. Klockan är nu 16:14.


Powered by: vBulletin Version 3.8.6
Copyright © webForum