Building a link out of a field value

D

Drew

I would like to explore some different ways to build a link out of the
following string from a db,

Fiscal; swvtc/fiscal/fiscaldata.asp: Records; swvtc/records/recordsdata.asp:

Which is just a string that has the link name, then the link target. So I
would need to programmatically build a link from this field. I have found
some other ways around this, but they involve Regular Expressions in
vbscript and I was wondering if there was a more efficient way of doing
this. My database table looks like this,

Username - the username of the user
Userlinks - the links as above, Fiscal; swvtc/fiscal/fiscaldata.asp:
Records; swvtc/records/recordsdata.asp:

I am open to any sort of delimeter instead of the : and ;.

This will be used for an Intranet front page and would allow the users to
have "quick links" on the front page.

Thanks,
Drew Laing
 
J

Jeff Dillon

I would recommend not putting several types of information in one field.
Add a Fiscal field and a Records field..then you don't need to parse at all.

If you insist however, look at Instr

Jeff
 
R

Ray Costanzo [MVP]

That is an interesting method of storing data you have there... If this is
how your data is, and assuming you cannot do anything about that, you can
do:

Dim sLinks, aLinks, aLink, sLinkTitle, sHref
Dim i

sLinks = yourRecordset.Fields.Item("Userlinks").Value
aLinks = Split(sLinks, ":")
For i = 0 To UBound(aLinks)
aLink = Split(aLinks(i), ";")
If UBound(aLink) = 1 Then
sLinkTitle = Trim(aLink(0))
sHref = Trim(aLink(1))
Response.Write "<a href=""" & sHref & """>" & sLinkTitle & "</a><br>"
End If
Next


Ray at work
 
D

Drew

Well, I want to lump it all in one field, like this,

Fiscal; swvtc/fiscal/fiscaldata.asp: Records; swvtc/records/recordsdata.asp:
Blah; swvtc/blah/blah.asp: Double Blah; swvtc/blahblah/blah.asp

So that I don't have to have seperate fields for all of this... This is an
intranet, so swvtc/records/recordsdata.asp is the actual link. I just need
to make links like so,

<a href="swvtc/records/recordsdata.asp">Records</a>

In otherwords, the name of the link is the first entry followed by a ; and
then the actual link is after that.

Hope I've made myself more clear!

Thanks,
Drew
 
D

Drew

Well that isn't how the data has to be, I just wanted users to be able to
have as many links as they wanted, and I didn't know of a structure that
could do that.

I guess I could use something like this,

Username
UserLink1
UserLink2
UserLink3
UserLink4
UserLink5
UserLink6
UserLink7
UserLink8
UserLink9
UserLink10

Would that be a better structure?

Thanks,
Drew
 
A

Aaron [SQL Server MVP]

NO, this would be a terrible design! You waste 10 columns on the user who
doesn't want any links, 9 columns on the user who only wants one, and you
don't have enough for the user who wants 11 (or 111).

CREATE TABLE dbo.Users
(
UserID INT IDENTITY(1,1) PRIMARY KEY,
Username VARCHAR(32) NOT NULL UNIQUE
)

CREATE TABLE dbo.UserLinks
(
UserID INT NOT NULL
FOREIGN KEY REFERENCES dbo.Users(UserID),
Link VARCHAR(32)
)

--
http://www.aspfaq.com/
(Reverse address to reply.)
 
D

Drew

That's what I thought, but I hadn't thought about your design...

How can I make an insert page that has checkboxes that the users check which
links they want and then it inserts a new record for each item checked? I
don't think that I have ever done this.

Thanks!
Drew
 
R

Ray Costanzo [MVP]

You create an HTML form <form> and have the form submit data to an ASP page
that processes the data and updates your database. That's the generic
explanation anyway.

I suggest starting a new thread if you would like to discuss this further,
as the topic has now changed.

Ray at work
 
A

Aaron [SQL Server MVP]

Or see some ASP-db tutorials, which will probably answer 90% of the
question(s)...
 
D

Drew

I didn't mean to sound like a newbie, I meant that I had never looped
anything, I have done regular inserts for 1 record at a time, but not for
multiple records. I will research, see what I find and if I have any
questions, I will ask!

thanks,
Drew
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,043
Latest member
CannalabsCBDReview

Latest Threads

Top