Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Odd page keeps loading error 1

Status
Not open for further replies.

AndyApp

Programmer
Dec 20, 2001
259
GB
if I do a search from the front page of my site for something that will return quite a few results (1700 in this case) the page doesn't load, it trys and trys then times out. Haven't got a problem with that, however when simulating a user I obviously click the stop button, as I'm impatient, and try a different search.

If I do that the second search doesn't come through either, even if I put something in that will only return 1 result. The page just keeps showing that it's loading.

It happens in IE and Firefox, all connections and recordsets are closed and set to nothing when things are finished running (or should be). It's like the server is still trying the first request, the only way to get the site to respond then is to shut the browser and re-open it. less than ideal
 
It sounds like either
1) Your search is taking too long on the SQL side
2) Displaying the search results is taking too long
or
3) You have an endless loop somewhere

Pressing the stop button does not tell the server to stop processing the request it is working on.


I think more info on the search query and any recordset loop s you have are probably going to be necessary to further troubleshoot your problem

-T

barcode_1.gif
 
the search query the user enters is split at the spaces so if a user searches for "this is a search" what's built as a SQL statement is "%this% %is% %a% %search%". that's passed to sql server and run.

Then there's a <code>if ors.eof = false then</code> that displays the table headers, then a <code>do while not ors.eof</code> that loops through all results building the rest of the table and calling a few occasional functions along the way that may or may not remove certain things from the results (eg removing '', and making sure the results are lowercase)

there's only one loop and there is a ors.movenext (otherwise it wouldn't work if you searched for something that brought a couple of results back)
 
Did you test the SQL statement that you ASP is outputting in your respected analyzer for the db?

to do that just Response.Write(sql_var) and Response.End follwoing that line


General FAQ faq333-2924
5 steps to asking a question faq333-3811
 
yeah thats all good. that's how I know how many results it's returning.
 
IT could be a number of things. Can you post the code portion that is doing the build and loop? Otherwise we are shootin in the wind and this thread will get loooong ;)

You may also try altering the ScriptTimeout val and see if it does load finally. It may just be a performance issue in your code



General FAQ faq333-2924
5 steps to asking a question faq333-3811
 
Completely off-topic and justa note to myself, but once we have this worked out I have some ideas on how to improve your search mechanism.

One other thing you can try in order to see where your code is getting before it slows down would be to scatter some Response.Write "whatever" lines throughout your code, followed by a Response.Flush to attempt to force it to the browser.
This should allow you to determine what part of the process it's getting hung up on. My suggestion would be to spread them out something like:
Code:
'non-db code
Response.Write "<b>Done with non-db code - line whatever</b>"
Response.Flush

'db connection and query here
Response.Write "<b>db connection and query done - line whatever</b>"
Response.Flush

'before loop through recordset
Response.Write "<b>Starting recordset loop - line whatever</b>"
Response.Flush

'after loop
Response.Write "<b>Done with recordset loop - line whatever</b>"
Response.Flush

Some additional thing to try would be to use the timer() call to get timestampts and output them as well. Try some smaller search results queries and some medium size ones (ie, large, but not to large to cause it to hang). The comparison between a quick run and a long run ought to be able to tell you where things are getting hung up. If you do this I would suggest adding one before you execute your SQL query, one after, then add a counter to your output loop and output one every so many records (use the mod function). If you store the first time in a variable then you could just output timer() - startTime each time, which would give you elapsed milliseconds rather than a full timestamp each time.

-T

barcode_1.gif
 
OK I did what Tarwn said with the response.flush. It turns out that it's just taking an age to bring the responses back and write them out.

Might have to look at paging the results.

thanks for the help
 
How many results are we talking about?

Again, if you post your loop there are a number of us that can spot performance bottlenecks fairly quickly. We might be able to slim is down so you don't have to get into paging as anything more than a feature. In the meantime there are several good threads on improving ASP SQL related tasks as well as FAQs that cover some of that information in the Optimization section of the ASP FAQs above.

-T



barcode_1.gif
 
OK, I was trying to avoid posting the code just from a 'it's very long' point of view. But here you go:
Code:
'RESULTS INCLUDE FILE
PUBLIC caseAnd, caseOf, CaseIf, caseOr, caseTo, caseWhen, caseIT, caseDo, caseFor, caseOn, caseThe, caseIs, CaseI, removed

FUNCTION Results()
DIM oRS, strSQL, strSearch, strMP3, strCD, strVinyl, strRingtones, strMS

strSearch = Request.QueryString("txtSearch")
strMP3 = Request.QueryString("chkMP3")
strCD = Request.QueryString("chkCD")
strVinyl = Request.QueryString("chkVinyl")
strRingtones = Request.QueryString("chkRing")
strMS = Request.QueryString("MS")

IF strMS = 1 THEN
	strSearch = MakeLinkSearchFriendly(strSearch)
	arrFinalSearch = splitSearch(strSearch)
	strMS = 0
ELSE
	strSearch = MakeSearchFriendly(strSearch)
	arrFinalSearch = splitSearch(strSearch)
END IF

IF Len(strSearch) > 0 THEN
 IF strMS = 1 THEN
  Response.Redirect("default.asp?Error=There was an error with the information you supplied.<br/>Please try again.")
 ELSE
  strSQL = "SELECT Artist_Title, Price, ProductURL, imgURL, Category, Format, Retailer FROM Results "
  i = 0
  DO WHILE i <= UBound(arrFinalSearch)
   IF i = 0 THEN
    strUserSearchedFor = "%" & arrFinalSearch(i) & "%"
   ELSE
    strUserSearchedFor = strUserSearchedFor & " %" & arrFinalSearch(i) & "%"
   END IF
   i = i + 1
  LOOP
  strSQL = strSQL & "WHERE Artist_Title LIKE '" & strUserSearchedFor & "' "
  IF Len(strRingtones) <= 0 THEN
   strSQL = strSQL & " AND Retailer <> 4"
  END IF
  strSQL = strSQL & " ORDER BY Price, Retailer"
END IF
SET oRS = Server.CreateObject("ADODB.Recordset")
oRS.Open strSQL, oConn, 0, 1

IF oRS.EOF = FALSE THEN
 strResults = strResults & "<tr bgcolor=""#990000"">"
 strResults = strResults & "<td width=""50%"" class=""HeaderTxtBoldWhite""><img src=""images/TopLeftCorner.gif"" width=""20"" height=""20"" alt=""*"" align=""left"" />ARTIST / TITLE</td>"
 strResults = strResults & "<td width=""1"" bgcolor=""#FFFFFF""><img src=""images/spacer.gif"" alt=""*"" height=""1"" width=""1"" /></td>"
 strResults = strResults & "<td class=""HeaderTxtBoldWhite"" width=""10%"">CAT</td>"
 strResults = strResults & "<td width=""1"" bgcolor=""#FFFFFF""><img src=""images/spacer.gif"" alt=""*"" height=""1"" width=""1"" /></td>"
 strResults = strResults & "<td class=""HeaderTxtBoldWhite"" width=""15%"">SITE</td>"
 strResults = strResults & "<td width=""1"" bgcolor=""#FFFFFF""><img src=""images/spacer.gif"" alt=""*"" height=""1"" width=""1"" /></td>"
 strResults = strResults & "<td class=""HeaderTxtBoldWhite"" width=""10%"">PRICE</td>"
 strResults = strResults & "<td width=""1"" bgcolor=""#FFFFFF""><img src=""images/spacer.gif"" alt=""*"" height=""1"" width=""1"" /></td>"
 strResults = strResults & "<td class=""HeaderTxtBoldWhite"" width=""5%"">IMAGE</td>"
 strResults = strResults & "<td width=""1"" bgcolor=""#FFFFFF""><img src=""images/spacer.gif"" alt=""*"" height=""1"" width=""1"" /></td>"
 strResults = strResults & "<td class=""HeaderTxtBoldWhite"" width=""10%"" colspan=""2""><img src=""images/TopRightCorner.gif"" width=""20"" height=""20"" alt=""*"" align=""right"" /></td>"
 strResults = strResults & "</tr>"
 DO WHILE NOT oRS.EOF
  strResults = strResults & "<tr>"
  strResults = strResults & "<td width=""50%"" class=""MainTxt"">"
  ArtistTitle = ConvertName(oRS.Fields("Artist_Title"))
  strResults = strResults & SayTitle(ArtistTitle) & "</td>"
  strResults = strResults & "<td width=""1"" bgcolor=""#990000""><img src=""images/spacer.gif"" alt=""*"" height=""1"" width=""1"" /></td>"
  IF UCase(oRS.Fields("Category")) = "NO_CATEGORY" THEN
   strResults = strResults & "<td width=""10%"">&nbsp;</td>"
  ELSE
   strResults = strResults & "<td width=""10%"" class=""MainTxt"">"
   strResults = strResults & "<table width=""95%"" border=""0"" cellpadding=""1"" cellspacing=""0"" align=""center""><tr><td>" & oRS.Fields("Category") & "</td></tr></table>"
   strResults = strResults & "</td>"
  END IF
  strResults = strResults & "<td width=""1"" bgcolor=""#990000""><img src=""images/spacer.gif"" alt=""*"" height=""1"" width=""1"" /></td>"
  strResults = strResults & "<td width=""15%"" class=""MainTxt"">"
  strResults = strResults & "<table width=""95%"" cellpadding=""1"" cellspacing=""0"" border=""0"" align=""center""><tr><td>" & SayRetailer(oRS.Fields("Retailer")) & "</td></tr></table>"
  strResults = strResults & "</td>"
  strResults = strResults & "<td width=""1"" bgcolor=""#990000""><img src=""images/spacer.gif"" alt=""*"" height=""1"" width=""1"" /></td>"
  strResults = strResults & "<td width=""10%"" class=""MainTxt""><div align=""center"">£"
  IF Len(oRS.Fields("Price")) = 3 THEN
   strResults = strResults & oRS.Fields("Price") & "0</td>"
  ELSE
   strResults = strResults & oRS.Fields("Price") & "</td>"
  END IF
  strResults = strResults & "<td width=""1"" bgcolor=""#990000""><img src=""images/spacer.gif"" alt=""*"" height=""1"" width=""1"" /></td>"
  strResults = strResults & "<td width=""5%"">"
  strResults = strResults & "<table width=""95%"" cellpadding=""1"" cellspacing=""0"" border=""0"" align=""center""><tr><td>"
  IF oRS.Fields("Retailer") = 2  OR oRS.Fields("Retailer") = 5 OR oRS.Fields("Retailer") = 3 THEN
   URL = oRS.Fields("imgURL")
   strResults = strResults & "<a href=JavaScript:OpenBiggerPic('" & URL & "')>"
   strResults = strResults & "<img src=" & URL & " border =""0"" alt=""Art Work"" width=""60"" height=""60"" /></a></td></tr></table>"
  ELSE
   strResults = strResults & "<img src=" & oRS.Fields("imgURL") & " alt=""Art Work"" width=""60"" height=""60"" /></td></tr></table>"
  END IF
  strResults = strResults & "</td>"
  strResults = strResults & "<td width=""1"" bgcolor=""#990000""><img src=""images/spacer.gif"" alt=""*"" height=""1"" width=""1"" /></td>"
  strResults = strResults & "<td width=""10%""><div align=""center"">"
  strLink = "<a href=""DoLink.asp?URL="
  strLink = strLink & oRS.Fields("ProductURL")
  strLink = strLink & "&Art="
  strLink = strLink & MakeLinkFriendly(ArtistTitle)
  strLink = strLink & """ class=""Purchase"" target=""_blank"">Buy</a></div></td>"
  strResults = strResults & strLink
  strResults = strResults & "<td width=""1"" bgcolor=""#990000""><img src=""images/spacer.gif"" width=""1"" height=""1"" alt=""*"" />"
  strResults = strResults & "</tr>"
  strResults = strResults & "<tr>"
  strResults = strResults & "<td bgcolor=""#FFFFFF""><img src=""images/spacer.gif"" alt=""*"" height=""2"" width=""1"" /></td>"
  strResults = strResults & "<td bgcolor=""#990000""><img src=""images/spacer.gif"" alt=""*"" height=""1"" width=""1"" /></td>"
  strResults = strResults & "<td bgcolor=""#FFFFFF""><img src=""images/spacer.gif"" alt=""*"" height=""2"" width=""1"" /></td>"
  strResults = strResults & "<td bgcolor=""#990000""><img src=""images/spacer.gif"" alt=""*"" height=""1"" width=""1"" /></td>"
  strResults = strResults & "<td bgcolor=""#FFFFFF""><img src=""images/spacer.gif"" alt=""*"" height=""2"" width=""1"" /></td>"
  strResults = strResults & "<td bgcolor=""#990000""><img src=""images/spacer.gif"" alt=""*"" height=""1"" width=""1"" /></td>"
  strResults = strResults & "<td bgcolor=""#FFFFFF""><img src=""images/spacer.gif"" alt=""*"" height=""2"" width=""1"" /></td>"
  strResults = strResults & "<td bgcolor=""#990000""><img src=""images/spacer.gif"" alt=""*"" height=""1"" width=""1"" /></td>"
  strResults = strResults & "<td bgcolor=""#FFFFFF""><img src=""images/spacer.gif"" alt=""*"" height=""2"" width=""1"" /></td>"
  strResults = strResults & "<td bgcolor=""#990000""><img src=""images/spacer.gif"" alt=""*"" height=""1"" width=""1"" /></td>"
  strResults = strResults & "<td bgcolor=""#FFFFFF""><img src=""images/spacer.gif"" alt=""*"" height=""2"" width=""1"" /></td>"
  strResults = strResults & "<td width=""1"" bgcolor=""#990000""><img src=""images/spacer.gif"" width=""1"" height=""1"" alt=""*"" />"
  strResults = strResults & "</tr>"
  oRS.MoveNext
 LOOP
ELSE
strResults = strResults & "<tr><td colspan=""11"" class=""HeaderTxtBold"">No Results</td></tr>"
strResults = strResults & "<td width=""1"" bgcolor=""#990000""><img src=""images/spacer.gif"" width=""1"" height=""1"" alt=""*"" />"
END IF
	
oRS.Close
SET oRS = NOTHING
oConn.Close
SET oConn = NOTHING
ELSE
 Response.Redirect("default.asp?Error=There was an error with the information you supplied.<br/>Please try again.")
END IF
Results = strResults
END FUNCTION
 
Search string
First thing I see (which won't net you much) is the loop to build the search string:
Code:
  DO WHILE i <= UBound(arrFinalSearch)
   IF i = 0 THEN
    strUserSearchedFor = "%" & arrFinalSearch(i) & "%"
   ELSE
    strUserSearchedFor = strUserSearchedFor & " %" & arrFinalSearch(i) & "%"
   END IF
   i = i + 1
  LOOP

can be replaced with:

strUserSearchedFor = "%" & Join(arrFinalSearch,"%") & "%"

Recordset
The biggest gain you will get will be not using Recordset.Open and instead using the connection object to get the recordset, then recordset.GetRows to push the data into an array. More info on GetRows() here:
Code:
[b]original[/b]
SET oRS = Server.CreateObject("ADODB.Recordset")
oRS.Open strSQL, oConn, 0, 1

[b]Replaced with[/b]
'I am assuming that oConn is an ADODB.Connection object
' execute query to recordset object
Set oRS = oConn.Execute strSQL
' declare and build array
Dim arrData
arrData = oRS.GetRows()
'clean up recordset
Set oRS = Nothing
Once you have the data in an array then you will loop through the array based on the second index (rows are second index, fields are first index):
Code:
[b]Original:[/b]
 DO WHILE NOT oRS.EOF
  '...
  oRS.MoveNext
 LOOP

[b]Replacement:[/b]
Dim rowCtr
For rowCtr = 0 to UBound(arrData,2)
   '...
Next

And then the last step would be to replace references to oRS with calls to the array. As I mentioned before, the two-dimensional array that GetRows() creates has the row number as it's second dimension and the field number as it's first dimension. The field name order is based on the order used in your select statement. Here are some examples:
Code:
[b]Before:[/b] ArtistTitle = ConvertName(oRS.Fields("Artist_Title"))
[b]After:[/b] ArtistTitle = ConvertName(arrData(0,rowCtr))

[b]Before:[/b] strResults = strResults & oRS.Fields("Price") & "0</td>"
[b]After:[/b] strResults = strResults & arrData(1,rowCtr) & "0</td>"

String Concatenation
VBScript is notoriously bad about string concatenation performance. One solution to this is to build your own buffer (basically an array) and instead of concatenating the strings, simply assign each on to the array in order, then perform a Join(yourArray,"") when you want to output it. This has been shown to be a great deal more efficient. If your interested you can find more info in mwolf's posts in this thread: thread333-610504


CSS
I would actually suggest redesigning some of your code in the loop as well. If you can trim down the code by 30 or 40 characters and you generally have 25 records to display, then you have effectively cut out 750 characters. Plus the simpler you make that table the faster the end browser will be able to render it. I would have to see your page to make more recomendations, but for starters you could easily get rid of all of those spacer gifs and use CSS padding for the majority of it.

Here is a sample of a row that could come out of your loop (spaced out for easier reading):
Code:
	<tr>
		<td width="50%" class="MainTxt">Some Artist</td>
		<td width="1" bgcolor="#990000"><img src="images/spacer.gif" alt="*" height="1" width="1" /></td>
		<td width="10%" class="MainTxt">
			<table width="95%" border="0" cellpadding="1" cellspacing="0" align="center">
				<tr>
					<td>Some Category</td>
				</tr>
			</table>
		</td>
		<td width="1" bgcolor="#990000"><img src="images/spacer.gif" alt="*" height="1" width="1" /></td>
		<td width="15%" class="MainTxt">
			<table width="95%" cellpadding="1" cellspacing="0" border="0" align="center">
				<tr><td>Some Retailer</td></tr>
			</table>
		</td>
		<td width="1" bgcolor="#990000"><img src="images/spacer.gif" alt="*" height="1" width="1" /></td>
		<td width="10%" class="MainTxt">
			<div align="center">£30
		</td>
		<td width="1" bgcolor="#990000"><img src="images/spacer.gif" alt="*" height="1" width="1" /></td>
		<td width="5%">
			<table width="95%" cellpadding="1" cellspacing="0" border="0" align="center">
				<tr><td><img src="someImage.jpg" alt="Art Work" width="60" height="60" /></td></tr>
			</table>
		</td>
		<td width="1" bgcolor="#990000"><img src="images/spacer.gif" alt="*" height="1" width="1" /></td>
		<td width="10%">
			<div align="center">
				<a href="DoLink.asp?URL=someProduct.html&Art=SomeArtist" class="Purchase" target="_blank">Buy</a>
			</div>
		</td>
		<td width="1" bgcolor="#990000"><img src="images/spacer.gif" width="1" height="1" alt="*" />
	</tr>
	<tr>
		<td bgcolor="#FFFFFF"><img src="images/spacer.gif" alt="*" height="2" width="1" /></td>
		<td bgcolor="#990000"><img src="images/spacer.gif" alt="*" height="1" width="1" /></td>
		<td bgcolor="#FFFFFF"><img src="images/spacer.gif" alt="*" height="2" width="1" /></td>
		<td bgcolor="#990000"><img src="images/spacer.gif" alt="*" height="1" width="1" /></td>
		<td bgcolor="#FFFFFF"><img src="images/spacer.gif" alt="*" height="2" width="1" /></td>
		<td bgcolor="#990000"><img src="images/spacer.gif" alt="*" height="1" width="1" /></td>
		<td bgcolor="#FFFFFF"><img src="images/spacer.gif" alt="*" height="2" width="1" /></td>
		<td bgcolor="#990000"><img src="images/spacer.gif" alt="*" height="1" width="1" /></td>
		<td bgcolor="#FFFFFF"><img src="images/spacer.gif" alt="*" height="2" width="1" /></td>
		<td bgcolor="#990000"><img src="images/spacer.gif" alt="*" height="1" width="1" /></td>
		<td bgcolor="#FFFFFF"><img src="images/spacer.gif" alt="*" height="2" width="1" /></td>
		<td width="1" bgcolor="#990000"><img src="images/spacer.gif" width="1" height="1" alt="*" />
	</tr>

There is a lot of repetitive HTML in there that we could replace for smaller output and greater ease of modification. In fact you could replace the spacer images in that loop and the extra padding cells in the second row with something like the following CSS:
Code:
border-right: 3px solid #990000;
padding-bottom: 2px;
Obviously I don't have your CSS, so I can't see exactly how this would be layed out, but adding that to the MainTxt class (or making a specialized class for the table cells) would allow you to trim the HTML in the loop down to something like:
Code:
<tr>
	<td width="50%" class="MainTxt">Some Artist</td>
	<td width="10%" class="MainTxt">Some Category</td>
	<td width="15%" class="MainTxt">Some Retailer</td>
	<td width="10%" class="MainTxt">£30</td>
	<td width="5%" class="MainTxt"><img src="someImage.jpg" alt="Art Work" width="60" height="60" /></td></td>
	<td width="10%" class="MainTxt"><a href="DoLink.asp?URL=someProduct.html&Art=SomeArtist" class="Purchase" target="_blank">Buy</a></td>
</tr>

You may need to also specify the background-color: #ffffff in your CSS or make other minor alterations, but moving all of your presentation stuff to the CSS means you have finer control over it and saved yourself something like 2KB per loop. That is that much less an end user has to download, that much less the server has to buffer/concatenate/etc, and that much less complexity that the browser has to render.


In any case, I hope these help you. I would highly recommend trying to reduce the amount of HTML your outputting for presentation and move as much of it as possible to CSS. The advantages far out-weigh the time taken to design and make the modifications.

-T

barcode_1.gif
 
Cheers Tarwn, I implemented some of the things and re-wrote parts of it. I can't remember why I put the headings in the include file so I moved them. Used the getrows method. Did the join of the array, and I read the article you pointed to and decided on response.write for the results instead of an array. and I changed to pad the columns with CSS. Did my search and it worked like a charm, well it was slow as hell but if the user wants to do that search at least I know it will come through.

The only problem I'm having is getting the background inbetween the results to be white. I'm using CSS and have gone all out with bg color border left, right, top, bottom, color, empty cells show all set to white but nothing.

Thanks for your help and if you're intrested the site is: still very much testing only really live for affiliation purposes. go live date is 1st March
 
Hmm, not sure I understand your question. Do you mean a white break in the red lines or did you fix it already? Everythin glooks white to me except the red vertical lines...

barcode_1.gif
 
ah ok. the background of the results is set to a light grey, as the most searched, so if the results returns more than one they should be seperated by a thing white line, but for some reason it's only showing up when it goes across the thin red vertical lines
 
Ah, I have an LCD panel that has issues with light greys.
If your going to continue using 1 pixel borders for the right side, you should be able to do a 3-4 pixel white bottom border. Here is the example I was playing with:
Code:
<style>
.MainTxt{
	border-right: 1px solid #990000;
	border-bottom: 4px solid white;
	background-color: #dddddd;
}
</style>
<table cellspacing="0" width="100%">
	<tr>
		<td width="50%" class="MainTxt">Some Artist</td>
		<td width="10%" class="MainTxt">Some Category</td>
		<td width="15%" class="MainTxt">Some Retailer</td>
		<td width="10%" class="MainTxt">£30</td>
		<td width="5%" class="MainTxt"><img src="someImage.jpg" alt="Art Work" width="60" height="60" /></td></td>
		<td width="10%" class="MainTxt"><a href="DoLink.asp?URL=someProduct.html&Art=SomeArtist" class="Purchase" target="_blank">Buy</a></td>
	</tr>
	<tr>
		<td width="50%" class="MainTxt">Some Artist</td>
		<td width="10%" class="MainTxt">Some Category</td>
		<td width="15%" class="MainTxt">Some Retailer</td>
		<td width="10%" class="MainTxt">£30</td>
		<td width="5%" class="MainTxt"><img src="someImage.jpg" alt="Art Work" width="60" height="60" /></td></td>
		<td width="10%" class="MainTxt"><a href="DoLink.asp?URL=someProduct.html&Art=SomeArtist" class="Purchase" target="_blank">Buy</a></td>
	</tr>
	<tr>
		<td width="50%" class="MainTxt">Some Artist</td>
		<td width="10%" class="MainTxt">Some Category</td>
		<td width="15%" class="MainTxt">Some Retailer</td>
		<td width="10%" class="MainTxt">£30</td>
		<td width="5%" class="MainTxt"><img src="someImage.jpg" alt="Art Work" width="60" height="60" /></td></td>
		<td width="10%" class="MainTxt"><a href="DoLink.asp?URL=someProduct.html&Art=SomeArtist" class="Purchase" target="_blank">Buy</a></td>
	</tr>
</table>

Due to the LCD issues I used #dddddd for the background color so I could actually see it. You will probably have issues with this method if you increase the right border to 2px or greater because it tried to angle the corners to make the borders meet nicely in the corner, but it looks like your using 1px width right now so I figure that won't be an issue.

barcode_1.gif
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top