User Name Password Register
DaniWeb IT Discussion Community
All
What is DaniWeb IT Discussion Community?
You're currently browsing the ASP section within the Web Development category of DaniWeb, a massive community of 427,097 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 2,300 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our ASP advertiser: Lunarpages ASP Web Hosting
Views: 23627 | Replies: 1
Reply
Join Date: Mar 2005
Posts: 1
Reputation: richyrb is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
richyrb richyrb is offline Offline
Newbie Poster

Please Help!!! MOD function

  #1  
Mar 26th, 2005
ok its one of those things i can't get my head around it at all..

i dont know if it the code i have already thats causing the problem or the fact that i dont know how to do MOD properly..

its causing bad gray hair..

so if anyone else is able to point out how to correct the code.. it would be of great thanks...


i have included the whole asp page as to show you the whole script incase i missed something or something needs to be added to make it work.... thank you..

im trying to get the record from the DB to display 3 times on the row before going down to the next row..

HOPE someone can help and point me in the right direction...

thanks in advance..

<%
' Constants ripped from adovbs.inc:
Const adOpenStatic = 3
Const adLockReadOnly = 1
Const adCmdText = &H0001

' Our own constants:
Const PAGE_SIZE = 5  ' The size of our pages.

' Declare our variables... always good practice!
Dim strURL     ' The URL of this page so the form will work
               ' no matter what this file is named.

Dim cnnSearch  ' ADO connection
Dim rstSearch  ' ADO recordset
Dim strDBPath  ' path to our Access database (*.mdb) file

Dim strSQL     ' The SQL Query we build on the fly
Dim strSearch  ' The text being looked for

Dim iPageCurrent ' The page we're currently on
Dim iPageCount   ' Number of pages of records
Dim iRecordCount ' Count of the records returned
Dim I            ' Standard looping variable
Dim x

' Retreive the URL of this page from Server Variables
strURL = Request.ServerVariables("URL")

' Retreive the term being searched for.  I'm doing it on
' the QS since that allows people to bookmark results.
' You could just as easily have used the form collection.
strSearch = Request.QueryString("search")
strSearch = Replace(strSearch, "'", "''")

' Retrieve page to show or default to the first
If Request.QueryString("page") = "" Then
	iPageCurrent = 1
Else
	iPageCurrent = CInt(Request.QueryString("page"))
End If

' Since I'm doing this all in one page I need to see if anyone
' has searched for something.  If they have we hit the DB.
' O/W I just show the search form and quit.
%>


<%
If strSearch <> "" Then
	' MapPath of virtual database file path to a physical path.
	' If you want you could hard code a physical path here.
	strDBPath = Server.MapPath("/db/vagdb.mdb")


	' Create an ADO Connection to connect to the sample database.
	' We're using OLE DB but you could just as easily use ODBC or a DSN.
	Set cnnSearch = Server.CreateObject("ADODB.Connection")

	' This line is for the Access sample database:
	cnnSearch.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"

	' We're actually using SQL Server so we use this line instead:
	'cnnSearch.Open "Provider=SQLOLEDB;Data Source=10.2.1.214;" _
	'	& "Initial Catalog=samples;User Id=samples;Password=password;" _
	'	& "Connect Timeout=15;Network Library=dbmssocn;"

	' Build our query based on the input.
	strSQL = "SELECT EventID,PicName,Location,Date,EventName,Brand,Model " _
		& "FROM picture " _
		& "WHERE (EventID) LIKE '%" & Replace(strSearch, "'", "''") & "%' " _
		& "ORDER BY PicName;"

	' Execute our query using the connection object.  It automatically
	' creates and returns a recordset which we store in our variable.
	Set rstSearch = Server.CreateObject("ADODB.Recordset")
	rstSearch.PageSize  = PAGE_SIZE
	rstSearch.CacheSize = PAGE_SIZE

	' Open our recordset
	rstSearch.Open strSQL, cnnSearch, adOpenStatic, adLockReadOnly, adCmdText

	' Get a count of the number of records and pages
	' for use in building the header and footer text.
	iRecordCount = rstSearch.RecordCount
	iPageCount   = rstSearch.PageCount

	If iRecordCount = 0 Then
		' Display no records error.
		%>
		<p>
		No records found.  Please try again.
		</p>
		<%
	Else
		' Move to the page we need to show.	
		rstSearch.AbsolutePage = iPageCurrent

		' Show a quick status line letting people know where they are:
		%>
		
		<p><font face=verdana size=2 color=#5F5E5D>
		<%= iRecordCount %> Records Found.
		Displaying page <%= iPageCurrent %>
		of <%= iPageCount %>:
		</font>
		</p>
		<%
		' Display a table of the data in the recordset.  We loop through the
		' recordset displaying the fields from the table and using MoveNext
		' to increment to the next record.  We stop when we reach EOF.
		' For fun I'm combining some fields and showwing you can do more then
		' just spit out the data in the form it is in in the table.
		%>
		
		<%

iCellsPerRow = 3


		Do While Not rstSearch.EOF And rstSearch.AbsolutePage = iPageCurrent

For x = 1 to (ID)

If x MOD iCellsPerRow = 1 Then
	
			%>
					
<table cellpadding=1 cellspacing=1 border=0 align=center width=90%>
<tr>
<td>
<a href="/gallery/event/<%= rstSearch.Fields("EventID").Value %>/med/<%= rstSearch.Fields("PicName").Value %>.jpg" target="_blank">
<img src="/gallery/event/<%= rstSearch.Fields("EventID").Value %>/thumb/<%= rstSearch.Fields("PicName").Value %>.jpg" border="0">
</a>

</td>



<td>

<table cellpadding=0 cellspacing=0 border=0 align=center>
<tr>
<td>
<font face=verdana size=2 color=#A0A0A0> <%= rstSearch.Fields("Brand").Value %> &nbsp; <%= rstSearch.Fields("Model").Value %></font></td>
<tr>
<tr>
<td><font face=verdana size=2 color=#A0A0A0>   <%= rstSearch.Fields("EventName").Value %>  &nbsp;  <%= rstSearch.Fields("Date").Value %></font></td>
<tr>
<td><font face=verdana size=2 color=#A0A0A0>  <%= rstSearch.Fields("Location").Value %></font></td>
<tr>
</table>

</td>


<td><a href="/gallery/event/<%= rstSearch.Fields("EventID").Value %>/med/<%= rstSearch.Fields("PicName").Value %>.jpg" target="_blank"><font face=verdana size=2 color=#A0A0A0>  view</font></a></td>



	
	
			<%
If x MOD iCellsPerRow = 1 Then
	Response.write "</tr><tr>"
			
			
		rstSearch.MoveNext
	Loop
		%>

</tr>

</table>
		<%
		' Now we need to show our navigation links:
		
		' Show "previous" and "next" page links which pass the page to
		' view our search parameter.  You could also use form buttons
		' but I find this looks better.
		If iPageCurrent > 1 Then
			%>
			<font face="verdana" size="2" color="#5F5E5D">
			<a href="<%= strURL %>?search=<%= Server.URLEncode(strSearch) %>&page=<%= iPageCurrent - 1 %>"><font face="verdana" size="2" color="#5F5E5D">[&lt;&lt; Prev]</font></a>
			</font>
			<%
		End If

	

		If iPageCurrent < iPageCount Then
			%>
<font face="verdana" size="2" color="#5F5E5D">
			<a href="<%= strURL %>?search=<%= Server.URLEncode(strSearch) %>&page=<%= iPageCurrent + 1 %>"><font face="verdana" size="2" color="#5F5E5D">[Next &gt;&gt;]</font></a>
</font>			
			<%
		End If
		%>
		</p>
		<%
End if
	' Close our recordset and connection and dispose of the objects
	rstSearch.Close
	Set rstSearch = Nothing
	cnnSearch.Close
	Set cnnSearch = Nothing
End If
%>
AddThis Social Bookmark Button
Reply With Quote  
Join Date: Jul 2004
Location: Sydney, Australia
Posts: 166
Reputation: Lafinboy is an unknown quantity at this point 
Rep Power: 5
Solved Threads: 7
Lafinboy's Avatar
Lafinboy Lafinboy is offline Offline
Junior Poster

Re: Please Help!!! MOD function

  #2  
Apr 1st, 2005
The result of the MOD function is the remainder, as a whole integer that remains after the division takes place. Some simple examples:
1 MOD 3 = 2
2 MOD 3 = 1
3 MOD 3 = 0
4 MOD 3 = 1
5 MOD 3 = 2
6 MOD 3 = 0


The important point to note here is that if you test for the MOD function to = 0 then that will return true at every instance where the lead integer is completely divisible by the divisor, in this case 3. So, a very simple change is needed in your code, to change the MOD test from 1 to 0.
If x MOD iCellsPerRow = 0 Then
If I've been a help please confirm by clicking the Add to Lafinboy's Reputation link in the header of this reply.

Lafinboy Productions
:: Website Design :: Website Development ::

Reply With Quote  
Reply

Only community members can participate in forum threads. You must register or log in to contribute.

DaniWeb ASP Marketplace
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)

 

Thread Tools Display Modes

Similar Threads
Other Threads in the ASP Forum

All times are GMT -4. The time now is 5:34 pm.
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC