Du kan inte använda <% %> i en <% tagg:
<%
if recSet("order_ID") = "" then
response.write "Det finns inga aktuella orders"
else
'do stuff
end if
%>
eller
<% if recset("order_ID") = "" then response.write "Det finns inga aktuella orders" %>
19 svar · 349 visningar · startad av Dashi
Vill att den ska kolla kolumnen order_id i databasen, om där inte finns något värde ska den skriva ut Det finns inga aktuella orders, har testat göra en såhär, men får inte rätt på den, någon som har lust att skriva om den till mig?
<%If <%=RecSet("order_id")%> = Value=""
Response.Write "Det finns inga aktuella orders"
%>
Mvh //Darek
Du kan inte använda <% %> i en <% tagg:
<%
if recSet("order_ID") = "" then
response.write "Det finns inga aktuella orders"
else
'do stuff
end if
%>
eller
<% if recset("order_ID") = "" then response.write "Det finns inga aktuella orders" %>
tyvär men det funkar inte.. :P
<%
user=Request.Querystring("user")
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(masterdata_databas)
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM orders WHERE user = '" & user & "' ORDER BY order_lev"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
Do Until RecSet.EOF
If recset("order_lev") = "" then response.write "Det finns inga aktuella orders"
%>
<a href="order_hist_visa.asp?order_lev=<%=RecSet("order_lev")%>">
<% =RecSet("order_lev") %>
</a>
<%
RecSet.MoveNext
Loop
RecSet.Close
Connect.Close
%>
nej... klart det inte gör..
du får skriva vid din if sats och neråt:
if recset("order_lev") = "" then
response.write "Det finns inga aktuella orders"
[b]else[/b]
response.write "<a href=""order_hist_visa.asp?order_lev=" & recset("order_lev") %""">" & recset("order_lev") & "</a>"
end if
recset.movenext
loop
recset.close
connect.close
din kod ovan gör ingen gemförelse.. utan du säger koden:
Om order_lev är igen då skriver du Det finns inga aktuella orders"
%>
<a href="order_hist_visa.asp?order_lev=<%=RecSet("order_lev")%>">
<% =RecSet("order_lev") %>
</a>
vilket är inte det du vill :e ah... är kass på att förklara...tror detta ska fungera
Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A0408)
Ogiltigt tecken
/masterdata/order_hist.asp, line 297, column 80
response.write "<a href=""order_hist_visa.asp?order_lev=" & recset("order_lev") %""">" & recset("order_lev") & "</a>"
hehe detta e ju sjukt.. order_lev är tom i databasen..
nu har jag såhär, fick ta bort loop pga annars ville den inte funka, eftersom vi tidigare tog bort do until.... så får man inte ha kvar loop.. men jag har såhär nu iallafall men fortfarande så vill den inte visa Det finns inga blabla....
<%
user=Request.Querystring("user")
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(masterdata_databas)
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM orders WHERE user = '" & user & "' ORDER BY order_lev"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
If RecSet("order_lev") = "" Then
Response.Write "Det finns inga levererade orders"
Else
response.write "<a href=""order_hist_visa.asp?order_lev=" & recset("order_lev") &""">" & recset("order_lev") & "</a>"
End If
RecSet.Close
Connect.Close
%>
är order_lev ett tal? eller är det än sträng?
om det är tal kan du ju prova skriva if recset... < 0 then
sträng...
eller tal mena jag.. ska testa
ehhmmm, asså databasen va ju innan som text, asså sträng, så satte jag den till tal, e kolumnen tom sätter den ju 0 jag testade då sätta den på If RecSet("order_lev") = "0" Then inte ens då skrev den ut något...
recset("order_lev") = 0 inte "0" ... fast det kan nog inte vara där problemet är.. är det fler order_lev det kan vara eller? eller är det antingen ja eller nej?
hehe kolla nu.. om jag har såhär
If RecSet("order_lev") = "ingen" Then
och sätter värdet ingen på order_lev då visas texten..
har jag istället
If RecSet("order_lev") = "" Then
och har tomt på order_lev så funkar det inte, så då måste jag ha ett värde asså för att den ska funka? får testa sätta databasen på standardvärde ingen... och se om de funkar så att den sätter det om den blir tom..
Borde det inte vara så att SQL-frågan inte ger något resultat alls om användaren inte har någon aktuell order? Eller finns det en post i orders för alla användare??
jovisst den gav inget resultat, det va det som var felet, eftersom jag har en Order Historik för varje användare och när man går in där stårt det Aktuella Orders och Levererade Orders, och istället för att det ska vara tomt under dom så ville jag lägga ett värde att det står Det finns inga blablabla.. för sen när man beställt efter 2 gånger typ, så står där 2 ordrar på levererat, ser lite dumt ut då om där är ett tom rum på aktuella ordrar, därför ville jag ha ett värde där.. jag använder asp fullt ut på sidan, både för utsendes skull och för att lära mig mer :P
Jag hade gjort så här då:
Kontrollera sedan om recordseten är tomma för att veta om du ska skriva ut informationen om att det inte finns några dylika orders.
Får man fråga varför du kallar din SQL-fråga för Addera?
strSQL = "SELECT ....."
set objRS = Connect.Execute (strSQL)
If objRS.EOF then
' recordsetet är tomt, dvs det finns inga aktuella/levererade orders
End if
jag hade så från början osså, men felet va att order_id (aktuella orders) och order_lev (levererade orders) låg på samma tabell, sen så fick jag göra så att jag gjorde 2 tabeller istället, gjorde precis som du förklara med punkt 1 och 2 och satte det istället på If RecSet.EOF Then
Response.write Det finns inga...
Else
Do until Recset.EOF
response.write recset("order_id")
på ett ungefär, skrev bara ut det snabb så förstår du typ hur jag gjorde :P
@nders: förresten har du läst det jag posta med frames? du vet inte hur man kan fixa de? isåfall kan du ju svara där om du vet :P
Mvh //Darek
Jag förstår inte vad du menar att problemet var.
Och vad var problemet sedan när du gjorde om det till två tabeller?
Du har fått ett bra och riktigt svar i frames-tråden, vad jag kan se.
edit: slängde dock in ett inlägg där också.