I Artikel [Alternativ till traditionell paging] så står det om att man ska använda sig av GetRows då man vill dela upp sidorna (paging). Hej Nu har jag denna kod: strTexting = Server.HTMLEncode(strTexting) Då jag gjorde så så skrev den ut strTexting istället för att formatera texten Testa att lägga den sist då. Eventuellt att den skall ligga utanför funktionen, där du skriver ut strTexting. Det ska inte behövas eftersom strTexting redan har ett värde. Ingen som kan hitta felet? Hej! Jag skrev ju ner funktionen som genererade felet. Javisst! Det var bara ett simpelt fel..GetRows & Paging
Då är min fundering. Jag har kollat runt lite över i forumet och ändå inte fått någon uppfattning om hur jag ska använda dom tillsamans.
Jag har använt mig av en funktion som heter GetRows i PHP men och den funkar fint men jag vet inte hur jag ska använda allt i ASP. :/
PHP<?
require "db.php";
$guestpage = $_GET['page'];
if ($guestpage == "") {
$guestpage = 1;
}
$guestpage2 = ($guestpage * 10);
$guestpage2 = ($guestpage2 - 10);
$guestbookcount = mysql_query("SELECT COUNT(*) AS Rows FROM php_guestbook");
$guestcount = mysql_fetch_array($guestbookcount);
// $x = $guestcount['Rows'];
// $guestcount2 = ($x - ($x % 10)) / 10;
$guestcount2 = ceil ($guestcount['Rows'] / 10);
?>
<?
if ($guestcount['Rows'] >= 11)
{
if ($guestpage == 1){
echo "<span class='next-back2'><img class='picture' src='_gfx/back.gif'></span> ";
}else{
echo "<a class='next-back' href='?page=". ($guestpage - 1) ."'><img class='picture' src='_gfx/back.gif'></a> ";
}
if ($guestpage == $guestcount2){
echo "<span class='next-back2'><img class='picture' src='_gfx/next.gif'></span>";
}else{
echo "<a class='next-back' href='?page=". ($guestpage + 1) ."'><img class='picture' src='_gfx/next.gif'></a>";
}
}
?>
<hr>
<?
$query = mysql_query("SELECT * FROM php_guestbook ORDER BY id DESC LIMIT $guestpage2,10");
while($a = mysql_fetch_array($query))
{
?>
Sv: GetRows & Paging
Läs [Hur gör man?] tråden, jag visar kod på slutet där, den som tydligen är borta i artikeln.
Mitt tips är att man först plockar ut allt med SQL strippar bort all html, sen när pagingen fungerar då stoppar man in design och html igen. Så har jag gjort där jag har använt den där paging koden.
//Anna-KarinSv: GetRows & Paging
<%
noFindings = "False"
'Antal poster per sida
pageSize = 10
'Sidan som ska visas
intShow = request.querystring("show")
'Om ingen sida är vald visas den första sidan
if Len(intShow) = 0 then
intShow = 0
end if
SQL = "SELECT Id, strFirstName, strLastName, strEmail, strDate, strIp, strMsg, strUserId FROM tblguestbook WHERE strMsgDeleted=0"
Set RecSet = Conn.Execute(SQL)
'Kollar om databasen är tom
if not RecSet.BOF and not RecSet.EOF then
vektor = RecSet.GetRows() 'vektor(0,i) = ID; OSV.
lastRecord = UBound(vektor,2) 'Sista posten i vektorn
else
noFindings = "True"
end if
'Om det är fler poster än det antal poster per sida man valt
if lastRecord > (pageSize-1) then
response.write "Sida: "
for i = 0 to intPage
if (i*pageSize) = (intShow*pageSize) then
response.write "<b>" & i+1 & "</b> "
else
response.write "<a class=""grey"" href=""?show=" & i & """>" & i+1 & "</a> "
end if
next
end if
response.write "<hr>" & vbcrlf
'Om databasen inte är tom visas resultatet
if not noFindings then
'Räknar ut hur många sidor det blir
intPage = lastRecord\pageSize
if lastRecord < ((intShow*pageSize)+(pageSize-1)) then
for i = intShow*pageSize to lastRecord
Response.Write" <p><span class=""TextBold""><span class=""orange"">»</span> " & vektor(1,i) & " " & vektor(2,i) & " <img class=""hand"" alt=""" & vektor(3,i) & """ src=""" & ImageRoot & "guestbook/email.gif"" border=""0"" onClick=""location.href='mailto:" & vektor(3,i) & "';""> <img alt="""& ConvertToSwedishLongDate(vektor(4,i)) &""" src=""" & ImageRoot & "guestbook/date.gif"" border=""0""></span>" & vbcrlf
If Session("inside") = "yea" Then
If Session("uUserId") = "" & vektor(8,i) & "" Then
Response.Write" <span class=""TextBold""><span class=""orange"">»</span> <img class=""hand"" src=""" & ImageRoot & "admin/button_edit.png"" border=""0"" onClick=""location.href='?action=edit&id=" & vektor(0,i) & "';""> <img src=""" & ImageRoot & "admin/button_properties.png"" border=""0""> <img class=""hand"" src=""" & ImageRoot & "admin/button_drop.png"" border=""0"" onClick=""location.href='?action=delete&page=guestbook&UserId=" & Session("UserId") & "&Id=" & vektor(0,i) & "';""></span>" & vbcrlf
Response.Write" <br><span class=""TextBold""><span class=""orange"">»</span> IP:</span> " & vektor(6,i) & "" & vbcrlf
ElseIf Session("uLevel") = "3" Then
Response.Write" <span class=""TextBold""><span class=""orange"">»</span> <img class=""hand"" src=""" & ImageRoot & "admin/button_edit.png"" border=""0"" onClick=""location.href='?action=edit&id=" & vektor(0,i) & "';""> <img src=""" & ImageRoot & "admin/button_properties.png"" border=""0""> <img class=""hand"" src=""" & ImageRoot & "admin/button_drop.png"" border=""0"" onClick=""location.href='?action=delete&page=guestbook&UserId=" & Session("UserId") & "&Id=" & vektor(0,i) & "';""></span>" & vbcrlf
Response.Write" <br><span class=""TextBold""><span class=""orange"">»</span> IP:</span> " & vektor(6,i) & "" & vbcrlf
End If
End If
Response.Write" <br>" & FixaNews(vektor(7,i)) & "</p>" & vbcrlf
intRow = intRow + 1
next
else
for i = intShow*pageSize to ((intShow*pageSize)+(pageSize-1))
Response.Write" <p><span class=""TextBold""><span class=""orange"">»</span> " & vektor(1,i) & " " & vektor(2,i) & " <img class=""hand"" alt=""" & vektor(3,i) & """ src=""" & ImageRoot & "guestbook/email.gif"" border=""0"" onClick=""location.href='mailto:" & vektor(3,i) & "';""> <img alt="""& ConvertToSwedishLongDate(vektor(4,i)) &""" src=""" & ImageRoot & "guestbook/date.gif"" border=""0""></span>" & vbcrlf
If Session("inside") = "yea" Then
If Session("uUserId") = "" & vektor(8,i) & "" Then
Response.Write" <span class=""TextBold""><span class=""orange"">»</span> <img class=""hand"" src=""" & ImageRoot & "admin/button_edit.png"" border=""0"" onClick=""location.href='?action=edit&id=" & vektor(0,i) & "';""> <img src=""" & ImageRoot & "admin/button_properties.png"" border=""0""> <img class=""hand"" src=""" & ImageRoot & "admin/button_drop.png"" border=""0"" onClick=""location.href='?action=delete&page=guestbook&UserId=" & Session("UserId") & "&Id=" & vektor(0,i) & "';""></span>" & vbcrlf
Response.Write" <br><span class=""TextBold""><span class=""orange"">»</span> IP:</span> " & vektor(6,i) & "" & vbcrlf
ElseIf Session("uLevel") = "3" Then
Response.Write" <span class=""TextBold""><span class=""orange"">»</span> <img class=""hand"" src=""" & ImageRoot & "admin/button_edit.png"" border=""0"" onClick=""location.href='?action=edit&id=" & vektor(0,i) & "';""> <img src=""" & ImageRoot & "admin/button_properties.png"" border=""0""> <img class=""hand"" src=""" & ImageRoot & "admin/button_drop.png"" border=""0"" onClick=""location.href='?action=delete&page=guestbook&UserId=" & Session("UserId") & "&Id=" & vektor(0,i) & "';""></span>" & vbcrlf
Response.Write" <br><span class=""TextBold""><span class=""orange"">»</span> IP:</span> " & vektor(6,i) & "" & vbcrlf
End If
End If
Response.Write" <br>" & FixaNews(vektor(7,i)) & "</p>" & vbcrlf
intRow = intRow + 1
next
end if
'Om det är fler poster än det antal poster per sida man valt
response.write "<hr>"
if lastRecord > (pageSize-1) then
response.write "Sida: "
for i = 0 to intPage
if (i*pageSize) = (intShow*pageSize) then
response.write "<b>" & i+1 & "</b> "
else
response.write "<a class=""grey"" href=""?show=" & i & """>" & i+1 & "</a> "
end if
next
end if
response.write "" & vbcrlf
end if
%>
Jag får följande fel:<code>Microsoft VBScript runtime error '800a000d'
Type mismatch: 'Server.HTMLEncode'
inc/sub.asp, line 386</code>
Funktionen som den klagar på är denna:<%
Function FixaNews(strTexting)
strTexting = Server.HTMLEncode(strTexting)
strTexting = Replace(strTexting, vbCrLf, "<br />")
' ### Formatering ################################################################################
' ### Fet
strTexting = Replace(strTexting,"[b]","<b>")
strTexting = Replace(strTexting,"[/b]","</b>")
' ### Kursiv
strTexting = Replace(strTexting,"[i]","<i>")
strTexting = Replace(strTexting,"[/i]","</i>")
' ### Understruken
strTexting = Replace(strTexting,"[u]","<u>")
strTexting = Replace(strTexting,"[/u]","</u>")
' ### Genomstruken
strTexting = Replace(strTexting,"[s]","<strike>")
strTexting = Replace(strTexting,"[/s]","</strike>")
' ### Färj #######################################################################################
' ### Orange
strTexting = Replace(strTexting,"[orange]","<font class=""orange"">")
strTexting = Replace(strTexting,"[/orange]","</font>")
' ### Grå
strTexting = Replace(strTexting,"[grey]","<font class=""grey"">")
strTexting = Replace(strTexting,"[/grey]","</font>")
' ### Röd
strTexting = Replace(strTexting,"[red]","<font class=""red"">")
strTexting = Replace(strTexting,"[/red]","</font>")
' ### Blå
strTexting = Replace(strTexting,"[blue]","<font class=""blue"">")
strTexting = Replace(strTexting,"[/blue]","</font>")
' ### Grön
strTexting = Replace(strTexting,"[green]","<font class=""green"">")
strTexting = Replace(strTexting,"[/green]","</font>")
' ### Länk #####################################################################################
' ### Lokal Länk
strTexting = Replace(strTexting,"[local_b]","")
strTexting = Replace(strTexting,"[local_e]","")
' ### Extern Länk
strTexting = Replace(strTexting,"[link_b]","<a target=""_blank"" href=""")
strTexting = Replace(strTexting,"[link_m]",""">")
strTexting = Replace(strTexting,"[link_e]","</a>")
' ### Email
strTexting = Replace(strTexting,"[mail_b]","")
strTexting = Replace(strTexting,"[mail_e]","")
' ### ÅÄÖ ######################################################################################
' ### Åå
strTexting = Replace(strTexting,"å","å")
strTexting = Replace(strTexting,"Å","Å")
' ### Ää
strTexting = Replace(strTexting,"ä","ä")
strTexting = Replace(strTexting,"Ä","Ä")
' ### Öö
strTexting = Replace(strTexting,"ö","ö")
strTexting = Replace(strTexting,"Ö","Ö")
'### Andra funktioner ##########################################################################
' ### Citat
strTexting = Replace(strTexting,"[cite]","<cite>")
strTexting = Replace(strTexting,"[/cite]","</cite>")
' ### Pungt Lista
strTexting = Replace(strTexting,"[list]","<li>")
strTexting = Replace(strTexting,"[/list]","</li>")
' ### Flera Mellanslag
strTexting = Replace(strTexting,"[mellanslag]"," ")
strTexting = Replace(strTexting,"[mellanslagx2]"," ")
FixaNews = strTexting
End Function
%>
Vad är fel?
Sv: GetRows & Paging
ska nog vara
strTexting = Server.HTMLEncode("strTexting")
dvs du ska ha fnuttar eftersom det är en sträng.
//Anna-KarinSv: GetRows & Paging
Sv: GetRows & Paging
Det skulle inte vara fnuttar även om det stog så i hjälpen.
//Anna-KarinSv: GetRows & Paging
Om du vill ha fnuttarna runt om så ska du ju måste skriva in en massa annan text också.
Funktion(""& vektor(1,i) &"")
Då är det lättare att skriva
Funktion(vektor(1,i))Sv: GetRows & Paging
Det är själva texten som är postad som det blir fel på.
Det är denna sida man kan se felet på: http://beta.teambd.net/guestbook.aspSv: GetRows & Paging
I länken du har lagt ut får man detta felmeddelande,
inc/sub.asp, line 386
Vad står det på rad 386 i filen sub.asp som ligger i mappen inc?
SvenneSv: GetRows & Paging
Och i felmeddelanet så ser man vad det är för fel från den funktionen också.Sv: GetRows & Paging
Felet är 'Type mismatch' vilket pekar på att det handlar om fel typ av variabel någonstans.
Du har skickat in hela funktionen men inga radnummer.
Om radnumret pekar ut en plats inne i funktionen kan man få bra tips på vad som orsakar felet genom att man vet exakt vad som står på den raden.
Om radnumret istället pekar ut den plats där funktionen anropas så blir det lite krångligare.
Då får du stänga av en efter en av alla anrop till Replace-funtkionen som görs i din funktion tills den inte längre genrerar nåt fel. På så sätt kan man hitta fram till den exakta delan av din funktion som inte fungerar.
Det var därför jag frågade efter vad som står på radnummer 386.
SvenneSv: GetRows & Paging
Det var fel data som skickades in i strängen.
Så nu funkar allt. :D