webForumDet fria alternativet

Sök i databas

ASPur ASP

1 svar · 178 visningar · startad av Bj

Medlem sedan sep. 2000314 inlägg
Frågan#1

Har kommit på ett nytt problem som jag inte lyckats lösa när det gäller databasen. Det består i att om någon lämnar sökrutan helt tom och klicka på "sök" så hämtar databasen HELA klabbet med bilder och allt. Just nu består databasen av 350 poster med bilder och kommer att växa i framtiden. Det kommer alltså att bli en tung nedladdning man utsätter besökaren för.
Hur skall jag begränsa detta? Testade med Java-script så att man var tvungen att skriva ngt i formulärrutan men detta var ett dåligt alternativ då man i så fall skulle vara tvungen att skriva något i BÅDE "svenskt namn" och "latinsk namn".
Det vore kanske bättre att besökare endast söker i EN ruta, vare sig de skriver svenskt eller latinskt namn.
Men hur gör jag då i nedastående script för att det skall funka?

<%
Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MinCon.Open "DSN=mindatabas;UID=;PWD="

If Request.Form("knapp") = "Svenskt namn" Then
SQL = "SELECT * From tblskotsel WHERE fldsvnamn like '%" & Request.Form("svnamn") & "%'"
End If
If Request.Form("knapp") = "Latinskt namn" Then
SQL = "SELECT * From tblskotsel WHERE fldlatnamn like '%" & Request.Form("latnamn") & "%'"
End If

rs.Open SQL, MinCon
%>

<TABLE BORDER = 0 style="font-family: Verdana; font-size: 10pt">
<%
Do While Not rs.EOF
%>
<TR>
<TD><img src="<%=rs("artID")%>.jpg"></td>
<TD valign="top"><table border="0" width="100%" style="font-family: Verdana; font-size: 10pt">
<tr>
<td width="100%"><B>Svenskt Namn</B><BR><%=rs("fldsvnamn")%></td>
</tr>

    \<tr\>
      \<td width="100%"\>\<B\>Latinskt namn\</B\>\<BR\>\<%=rs("fldlatnamn")%\>\</td\>
    \</tr\>

    \<tr\>
      \<td width="100%"\>\<B\>Placering\</B\>\<BR\>\<%=rs("fldplacering")%\>\</td\>
    \</tr\>

    \<tr\>
      \<td width="100%"\>\<B\>Vattning\</B\>\<BR\>\<%=rs("fldvattning")%\>\</td\>
    \</tr\>

    \<tr\>
      \<td width="100%"\>\<B\>Gödning\</B\>\<BR\>\<%=rs("fldgodning")%\>\</td\>
    \</tr\>
  \</table\>

</TR>

<%

rs.MoveNext
Loop
%>
</font>
</TABLE>

Medlem sedan dec. 19995 875 inlägg
#2

Hej!

Du har några alternativ:

JavaScript

<script language="JavaScript">
function validate_s_form()
{ if (document.formname.svnamn.value==""
&& document.formname.latnamn.value=="")

{
	alert("Inget av sökfälten var ifyllda, försök igen.")
	return false
}

else 
{
	return true
}	 

}
</script>

<form ... onSubmit="return validate_s_form();">

Eller så gör du det med ASP.

<%
If Request.Form("svnamn") = "" AND Request.Form("latnamn") = "" Then
response.write "noway.."

Else

Set MinCon = Server.CreateObject("ADODB.Connection")
...
...

End If
%>

Lycka till....

------------------
Mvh
Patrik aka Brimba
Brimbas lille ställe

[Redigerat av Brimba den 13 nov 2000]

133 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)