webForumDet fria alternativet

På bredden istället för neråt?

ASP

12 svar · 326 visningar · startad av Thresher

Medlem sedan nov. 200315 inlägg
Frågan#1

Har en standard-gästbok som varje inlägg läggs under varandra i en tabell med 1 column.

Hur ska man göra för att t.ex. få så att inläggen läggs två på bredden (2 columner) istället och sedan byggs på så nedåt?

Vart ska man lägga rsQuery.MoveNext och hur ska den se ut?

Medlem sedan dec. 20003 887 inlägg
#2

Det finns många lösningar på det, en kan vara såhär

strSQL = "SELECT strMessage FROM tblGuestbook"
objRS.Open strSQL, objConn, 1

Response.Write "<table><tr><td colspan=2>Gästbok</td></tr><tr>"

blnNewRow = False

While Not objRS.EOF
  If blnNew Row Then Response.Write "</tr><tr>"

  Response.Write "<td>" & objRS("strMessage") & "</td>"

  blnNewRow = Not blnNewRow

  objRS.MoveNext
Wend

Response.Write "</tr></table>"

red.
Jag kom genast på att om det är ett ojämnt antal poster , så måste den sista utskrivna cellen ha en colspan=2 annars blir tabellen knasig.

En lösning för det med min kod är att innan den sista Response.Write lägga till följande

If objRS.RecordCount Mod 2 = 1 Then Response.Write "<td></td>"
Medlem sedan nov. 200315 inlägg
#3

Om man skulle göra likadant på "varusidan" vart ska det läggas in i denna kod:

<table width="100%" border="0" cellspacing="0" cellpadding="2">
<form name="form1" method="post" action="order.asp?catid=<%= Int(Request.Querystring("catid")) %>"><tr>
   <td class="headertext" colspan="2"><%= TraceHistory %></td>
  </tr>
  <tr>
  <td width="130"  class="headertextalt">&nbsp;</td>
  <td class="headertextalt">Produkt information</td>
  </tr>
  <%
  Set rsQuery = Con.Execute("SELECT * FROM Products WHERE CatID=" & Int(request.Querystring("catid")) & " ORDER BY SortID DESC")
  If rsQuery.EOF Then
  %>
  <tr>
  <td width="130" class="normaltext">Inga varor</td>
  <td></td>
  </tr>
  <%
  Else
  c = 0
  		While Not rsQuery.EOF
  %>
  		<tr>
		<td width="130">
		  <%
		  If rsQuery("Picture") = "-" THen
		  %>
		  <img src="images/nopic.gif" width="120" height="120" border="1">
		  <%
		  Else
		  %>
		  <img src="../../db/bilder/<%= rsquery("Picture") %>" width="120" height="120" border="1" heigth="50">
		  <%
		  End If
		  %>
		  </td>
      <td valign="top" class="normaltext"> <font class="normaltextlarge"><%= rsQuery("Productname") %> 
        <%
		  If IsAuth Then
		  %>
        [<a href="admin_delete_item.asp?item=<%= rsQuery("ID") %>">Ta bort</a>] 
		[<a href="admin_edit_item.asp?item=<%= rsQuery("ID") %>&catid=<%= rsQuery("CatID") %>">Ändra</a>]
        <%
		  End If
		  %>
        </font><br>
		  <%= rsQuery("ProductIngress") %>
		  <br>
		  <br>
		  Pris:<font color="#FF0000"><strong> <%= rsQuery("Price") %> :-</strong><br>
	      </font>		  <br>
          <%
		  If rsQuery("ProductText") <> "" Then 
		  %>
<a href="info.asp?catid=<%= rsQuery("CatID") %>&item=<%= rsQuery("ID") %>">Mer information &raquo;</a>
<%
		  End If
		  %>
<br>
<br>
        Antal
        <input name="<%= rsquery("ID") %>" type="text" class="formfield" id="<%= rsquery("ID") %>" value="<%= GetByVareID(rsQuery("ID")) %>" size="1" maxlength="5">
        st. 
        <input type="submit" name="Submit" value="K&ouml;p" class="button" onFocus="blur()">
      </td>
      </tr>
  <%
        c = c + 1
  		rsQuery.MoveNext 
		Wend
  End If
  %>
</form> 
</table>
Medlem sedan dec. 20003 887 inlägg
#4
<%
Else
  c = 0

  Response.Write "<tr>"

  While Not rsQuery.EOF
    If c Mod 2 = 1 Then Response.Write "</tr><tr>"

    Response.Write "<td width=130>"
    
    If rsQuery("Picture") = "-" Then
      Response.Write "<img src=""images/nopic.gif"" width=120 height=120 border=1>"
    Else
      Response.Write "<img src=""../../db/bilder/" & rsquery("Picture") & " width=120 height=120 border=1 heigth=50>"
    End If

    Response.Write "</td><td valign=top class=normaltext><font class=normaltextlarge>" & rsQuery("Productname")

    If IsAuth Then
      Response.Write "<a href=""admin_delete_item.asp?item=" & rsQuery("ID") & ">Ta bort</a>]"
      Response.Write "[<a href=""admin_edit_item.asp?item=" & rsQuery("ID") & "&catid=" & rsQuery("CatID") & ">Ändra</a>]"
    End If

    Response.Write "</font><br>" & rsQuery("ProductIngress") & "<br><br>"
    Response.Write "Pris:<font color="#FF0000"><strong>" & rsQuery("Price") & " :-</strong><br></font><br>"

    If rsQuery("ProductText") <> "" Then 
      Response.Write "<a href=""info.asp?catid=" &  rsQuery("CatID") & "&item=" & rsQuery("ID") & ">Mer information »</a>"
    End If

    Response.Write "<br><br>Antal <input name=" & rsquery("ID") & " type=text class=formfield id=" & rsquery("ID") & " value=" & GetByVareID(rsQuery("ID")) & " size=1 maxlength=5>st."
    Response.Write "<input type=submit name=Submit value=Köp class=button onFocus=""blur()""></td>"

    c = c + 1

    rsQuery.MoveNext 
  Wend
End If

If c Mod 2 = 1 Then Response.Write "<td></td>"

Så möjligen...

Medlem sedan nov. 200315 inlägg
#5
Microsoft VBScript compilation error '800a0401' 

Expected end of statement 

/test/include_listitems.asp, line 42 

Response.Write "Pris:<font color="#FF0000"><strong>" & rsQuery("Price") & " :-</strong><br></font><br>"
----------------------------------^

Ingen som vet vad som är fel eller hur koden ska vara?

Medlem sedan nov. 200315 inlägg
#6

Ingen?

Medlem sedan juni 200032 967 inlägg
#7

Du kan inte ha citationstecken rakt av inne i strängen, då tolkar ASP-tolken det som att strängen avslutas. Citationstecken escapear du med citationstecken.

Response.Write "Pris:<font color=""#FF0000""><strong>" & rsQuery("Price") & " :-</strong><br></font><br>"

Mvh

Medlem sedan nov. 200315 inlägg
#8

Själva scriptet jag fick av dig engine^ fungerar tyvärr inte. Det blir precis som innan (att det byggs på nedåt) + att ingen <font> fungerar.

Medlem sedan dec. 20003 887 inlägg
#9

Att ingen font fungerar beror väl på det @nders sa och att det byggs på neråt beror på något annat :)
Jag har väl som vanligt missat något som egentligen är enkelt.

<%
Else
  c = 0

  Response.Write "<table><tr>"

  While Not rsQuery.EOF
    If c Mod 2 = 1 Then Response.Write "</tr><tr>"

    Response.Write "<td width=130>"
    
    If rsQuery("Picture") = "-" Then
      Response.Write "<img src=""images/nopic.gif"" width=120 height=120 border=1>"
    Else
      Response.Write "<img src=""../../db/bilder/" & rsquery("Picture") & """ width=120 height=120 border=1 heigth=50>"
    End If

    Response.Write "</td><td valign=top class=normaltext><font class=normaltextlarge>" & rsQuery("Productname")

    If IsAuth Then
      Response.Write "<a href=""admin_delete_item.asp?item=" & rsQuery("ID") & """>Ta bort</a>]"
      Response.Write "[<a href=""admin_edit_item.asp?item=" & rsQuery("ID") & "&catid=" & rsQuery("CatID") & """>Ändra</a>]"
    End If

    Response.Write "</font><br>" & rsQuery("ProductIngress") & "<br><br>"
    Response.Write "Pris:<font color=""#FF0000""><strong>" & rsQuery("Price") & " :-</strong><br></font><br>"

    If rsQuery("ProductText") <> "" Then 
      Response.Write "<a href=""info.asp?catid=" &  rsQuery("CatID") & "&item=" & rsQuery("ID") & """>Mer information »</a>"
    End If

    Response.Write "<br><br>Antal <input name=" & rsquery("ID") & " type=text class=formfield id=" & rsquery("ID") & " value=" & GetByVareID(rsQuery("ID")) & " size=1 maxlength=5>st."
    Response.Write "<input type=submit name=Submit value=Köp class=button onFocus=""blur()""></td>"

    c = c + 1

    rsQuery.MoveNext 
  Wend
End If

If c Mod 2 = 1 Then Response.Write "<td></td><td></td>"

Response.Write "</tr></table>"

Nu har jag lagt till några citationstecken, som fattades och jag har även bakat in den här produktlistan i en egen tabell i tron att det ska synas bättre hur jag tänkt. Vill du köra utan denna tabell måste du tänka på att varje rad består av fyra celler. Alltså kan dom som är ovan och under behöva colspan=i.

Jag hoppas att det här fungerar bättre.

Medlem sedan nov. 200315 inlägg
#10

Fonterna är tillbaka , men ingen skillnad i "rad bygget"

Medlem sedan dec. 20003 887 inlägg
#11

Ett tips:
Kolla igenom den html som genereras, så kanske du kan förklara vad som inte stämmer eller lösa det själv.

Medlem sedan nov. 200315 inlägg
#12

Första raderna i koden som jag angav i
>> http://www.webforum.nu/showthread.php?s=&postid=749408#post749408 <<

+ din kod ger följande html :

<table width="100%" border="0" cellspacing="0" cellpadding="2">
<form name="form1" method="post" action="order.asp?catid=37"><tr>
<td class="headertext" colspan="2"><a href='default.asp'>Home</a> > <a href='show.asp?catid=37'>test</a></td>
</tr>
<tr>
<td width="130" class="headertextalt"> </td>
<td class="headertextalt">Produkt information</td>
</tr>
<table><tr><td width=130><img src="bilder/test.jpg" width=120 height=120 border=1 heigth=50></td><td valign=top class=normaltext><font class=normaltextlarge>testvara2</font><br>Lite<br><br>Pris:<font color="#FF0000"><strong>100 :-</strong><br></font><br><a href="info.asp?catid=37&item=120">Mer information »</a><br><br>Antal <input name=120 type=text class=formfield id=120 value=0 size=1 maxlength=5>st.<input type=submit name=Submit value=Köp class=button onFocus="blur()"></td></tr><tr><td width=130><img src="bilder/test2.gif" width=120 height=120 border=1 heigth=50></td><td valign=top class=normaltext><font class=normaltextlarge>testvara</font><br>lite mindre info här<br><br>Pris:<font color="#FF0000"><strong>100 :-</strong><br></font><br><a href="info.asp?catid=37&item=119">Mer information »</a><br><br>Antal <input name=119 type=text class=formfield id=119 value=0 size=1 maxlength=5>st.<input type=submit name=Submit value=Köp class=button onFocus="blur()"></td></tr></table>
</form>

</td>
</tr>
</table>

Medlem sedan dec. 20003 887 inlägg
#13

Du kan väl testa flytta denna rad

If c Mod 2 = 1 Then Response.Write "</tr><tr>"

till strax ovanför

c = c + 1
328 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
192 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
192 ms — ändringar (db)