webForumDet fria alternativet

fel i IF och Else

ASP

13 svar · 380 visningar · startad av Pellsater

Medlem sedan juli 2000154 inlägg
Frågan#1

Vad är fel i den här
Den verkar krascha så att en loop senare i koden inte går

       <% if bet = "kort" and verifiedandpaid=1 Then %>	  
	  <b>Betalsätt: Kort Betald: Ja</b>
	  <% Else If bet = "kort" and verifiedandpaid=0 Then %>
	  <b>Betalsätt: Kort Betald: NEJ</b>
	  <% Else If bet = "pf" Then %>
	  <b>Betalsätt: PF</b>
         <% end If %>
Medlem sedan juni 200032 967 inlägg
#2

Skriv ihop.

elseif
Medlem sedan juli 2000154 inlägg
#3
<%=rs("bet")%>
   <% if bet = "kort" and verifiedandpaid=1 Then %>	  
	  <b>Betalsätt: Kort Betald: Ja</b>
	  <% ElseIf bet = "kort" and verifiedandpaid=0 Then %>
	  <b>Betalsätt: Kort Betald: NEJ</b>
	  <% ElseIf bet = "postf" Then %>
	  <b>Betalsätt: PF</b>
               <% Elseif bet = "" Then  %>
	  <b>Gammal order</b
  <% end If %>

"bet " innehåller både en "kort", en "postf" och tomma... verifiedandpadi har inget innehåll alls... ändå skvier den ut enl. 2:a If satsen

Medlem sedan juni 200032 967 inlägg
#4

Eh, va?

Exakt vad innehåller variabeln bet vid utskrift? Och exakt vad innehåller variabeln verifiedandpaid? Har du stavat fel på den sistnämnda variabeln i koden också?

Medlem sedan juli 2000154 inlägg
#5

*ler* nej inte stavfel kollade det nu... den innehåller NULL... har inte lagt till det än i sidan som ska uppdatera den posten....

variabeln bet skriver ut en beställning med ordet kort och en med ordet postf

Medlem sedan juni 200032 967 inlägg
#6

variabeln bet skriver ut en beställning med ordet kort och en med ordet postf

Du gör alltså detta i en loop?

Visa gärna hela koden för loopen.

Medlem sedan juli 2000154 inlägg
#7
<%
set rs = Server.CreateObject("ADODB.Recordset")
sql ="select top 15 * " &_
" from (select distinct o.kundid, o.datum, o.VerifiedAndPaid, o.bet, k.pnr, k.fnamn, k.enamn, k.datum as kunddatum, k.epost, k.telefonnummer, k.adress, k.ort, k.postnummer " &_
" from orderRadold o, kunder k " & _
" where k.kundid = o.kundid ) s " & _
" order by o.datum desc, o.kundid desc"
rs.open sql, conn

%> </p>
<table width="95%" border="0">
  <% do until rs.eof %> 
  <tr> 
    <td width="21%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF"><b>Datum:</b> 
      <%=rs("datum")%></font></td>
    <td width="25%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Namn: 
      <%=rs("fnamn")%> &nbsp; <%=rs("enamn")%> </font></td>
    <td width="31%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><font color="#FFFFFF">Telefonnummer: 
      <%=rs("telefonnummer")%></font></font></td>
    <td width="12%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">KundID</font></td>
    <td rowspan="4" width="11%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF"><b><a href="admin_redkund.asp?kund=<%=rs("kundid")%>">Redigera 
      kund &raquo;</a></b></font></td>
  </tr>
  <tr> 
      <td width="21%">
	  <%=rs("bet")%>
	  <% if bet = "kort" and verifiedandpaid=1 Then %>	  
	  <font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">  
	  <b>Betalsätt: Kort Betald: Ja</b></font>
	  <% ElseIf bet = "kort" and verifiedandpaid=0 Then %>
	  <font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">  
	  <b>Betalsätt: Kort Betald: NEJ</b></font>
	  <% ElseIf bet = "postf" then %>
	  <font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">  
	  <b>Betalsätt: PF</b></font>
	  <% Elseif bet = "" Then  %>
	  <font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">  
	  <b>Gammal order</b></font>
	  <% end If %>
	  </td>
    <td width="25%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Adress: 
      <%=rs("adress")%></font></td>
    <td width="31%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Epost: 
      <a href="mailto:<%=rs("epost")%>"><%=rs("epost")%></a></font></td>
    <td width="12%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF"><%=rs("kundid")%></font></td>
  </tr>
  <tr> 
    <td width="21%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF"><b>Första 
      kunddatum:</b> <%=rs("kunddatum")%></font></td>
    <td width="25%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Postnummer: 
      <%=rs("postnummer")%></font></td>
    <td width="31%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><font color="#FFFFFF">Person</font><font color="#FFFFFF">nummer: 
      <%=rs("pnr")%></font></font></td>
    <td width="12%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">&nbsp;</font></td>
  </tr>
  <tr> 
    <td width="21%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">&nbsp;</font></td>
    <td width="25%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Ort: 
      <%=rs("ort")%></font></td>
    <td width="31%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF"> 
      Lista beställningar av kund <a href="admin_sok_best.asp?kund=<%=rs("kundid")%>">&raquo;</a> 
      </font></td>
    <td width="12%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">&nbsp;</font></td>
  </tr>
  <tr> 
    <td colspan="5" bgcolor="#CCCCCC" height="2"></td>
  </tr>
  <tr> 
    <td colspan="5" height="12"></td>
  </tr>
  <%
rs.moveNext
Loop
%> <%
rs.close

%>
Medlem sedan juni 200032 967 inlägg
#8

Jag ser inte att du sätter vare sig variabeln bet eller verifiedandpaid någonstans i koden?

Du borde alltså komma ner till "Gammal order" på alla. Gör du inte det?

Medlem sedan juli 2000154 inlägg
#9

men den skriver ju ut de olika resultaten "kort" och "postf" med detta

<%=rs("bet")%>

och då borde den väl hantera denna sats?
<% if bet = "kort" and verifiedandpaid=1 Then %>

Medlem sedan juni 200032 967 inlägg
#10

Nej, eftersom du aldrig ger variabeln bet något värde, så kommer den alltid att vara tom. Lika samma med verifiedandpaid. Värdena ligger bara i recordsetet, och inte några variabler med godtyckliga namn, det måste du fixa med din kod.

Medlem sedan juli 2000154 inlägg
#11

ok hur?

Medlem sedan juni 200032 967 inlägg
#12

Precis som vanligt...

variabelnamn = "variabelvärde"

Typ:

  <% do until rs.eof 
bet = rs("bet")
verifiedandpaid = rs("verifiedandpaid")
%>

edit: ev. kan du använda recordsetvärdena direkt i koden, som du gjort på alla (?) andra ställen i den koden du visar, men det är braigare att skapa variabler.

Medlem sedan juli 2000154 inlägg
#13

la till det där upp i koden där "do until" står men det funkar inte ändå.. nu verkar det som om ingen av If-satserna "slår" in

Medlem sedan juni 200032 967 inlägg
#14

Skriv ut innehållet i variablerna för att felsöka.

Om nu verifiedandpaid ska vara ett tal, så får du se till att det är det.

if isnumeric(verifiedandpaid) then verifiedandpaid = cint(verifiedandpaid) else verifiedandpaid = 0
266 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
144 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)