Toon posts:

[Coldfusion]URL uit DB weergeven met hyperlink

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een db-tje met daarin o.a. url's naar externe websites.

Nu ben ik met Coldfusion een pagina aan het maken waarmee ik de records uit de DB kan bekijken.

#InternetAdres# geeft natuurlijk keurig de URL weer.

Maar hoe maak ik hier direct een hyperlink van in CF.

Het moet dus zoiets als dit worden:
code:
1
2
3
4
5
6
7
<CFOUTPUT>
<TR>
<TD valign="top"> InternetAdres: </TD>
<TD><A HREF="#InternetAdres#">#InternetAdres#</A>
</TD>
</TR>
</CFOUTPUT>

Dit vond ik wel leuk bedacht, maat het werkt natuurlijk helemaal niet :P

Ik heb al zitten zoeken naar hyperlinks en URL in CF documentatie, maar dit is niet echt van toepassing aangezien in de voorbeelden vaakt wordt gerefereerd naar een detail pagina i.p.v. een externe pagina.

Wie o Wie :)

  • MoBi
  • Registratie: Oktober 1999
  • Laatst online: 12-08 14:19
vb:
code:
1
2
3
4
5
6
<cfquery name="onieuws"  datasource="#request.dsn#" username="#request.dsnUsername#" password="#request.dsnPassword#">
            SELECT TOP 5 mod_nieuws.nieuwsid, mod_nieuws.titel, mod_nieuws.previewja, mod_nieuws.preview, mod_nieuws.datum, mod_nieuws.updated, mod_nieuws.lid, leden.achternaam, leden.tussenvoegsel, leden.naam, leden.lid
            FROM mod_nieuws, leden
            WHERE leden.lid = mod_nieuws.lid AND mod_nieuws.online AND mod_nieuws.gecontroleerd
            ORDER BY datum DESC, udatum DESC
            </cfquery>

Output:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
        <cfoutput query="onieuws">
            <table width="568" border="0" cellspacing="0" cellpadding="0">
                <tr>
                    <td width="100%" class="tekst">
                        <a href="/index.cfm?ppid=2&nieuwsid=#nieuwsid#" class="link"><b>#titel#</b></a> <cfif updated><div class=update>Update!!!</div></cfif>
                    </td>
                <tr>
                    <td width="100%" class="tekst">
                        <span class="mini">Gepost door: #naam# #tussenvoegsel# #achternaam# op #weekdag[DayOfWeek(datum)]# #DateFormat(datum,"dd")# #maanden[DateFormat(datum,"mm")]# #DateFormat(datum,"yyyy")# om #TimeFormat(datum, "HH:mm:ss")#</span>
                    </td>
                </tr>
                <cfif previewja>
                <tr>
                    <td width="100%" class="tekst">
                        #preview#
                    </td>
                </tr>
                </cfif>
                <tr>
                    <td width="100%">
                        <table width="100%" border="0" cellspacing="5" cellpadding="0">
                            <tr>
                                <td background="images/en_line.gif">[img]"images/en_line.gif"></td[/img] 
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>            
        </cfoutput>

Volgens mij zit je te lullen, want ik voel nattigheid....


Verwijderd

Waarom zou dat niet werken? Lijkt me opzich niets mis met je code... Je laat hier alleen niet zien hoe je query er uit ziet. Maar in z'n geheel zal het er wel ongeveer zo uit zien:
code:
1
2
3
4
5
6
7
8
9
10
11
<CFQUERY NAME="Adressen" DSN="blaDB">
  SELECT  InternetAdres
  FROM    Adressen
</CFQUERY>

<CFOUTPUT QUERY="Adressen">
  <TR>
    <TD valign="top"> InternetAdres: </TD>
    <TD><A HREF="#InternetAdres#">#InternetAdres#</A></TD>
  </TR>
</CFOUTPUT>

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 22:14

mulder

ik spuug op het trottoir

Denk inderdaad dat deze meneer natuurlijk vergeten is naar de natuurlijke query te verwijzen, dus:
<cfoutput query="whatEver">
of
<cfloop query="whatEver">
En natuurlijk staat dat in de 'handleiding'

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
Ok het wordt steeds vreemder:

Wat ik zelf al had verzonnen en blijkbaar dus ook gewoon werkt is die <a href="#veld#">.

Het werkt nu namelijk wel, maar hij linkt niet goed. Want hij gaat op mijn server op zoek naar het veld InternetAdres.

Hierbij de CFQUERY
code:
1
2
3
4
5
6
7
<CFQUERY name="GetRecord" dataSource="silentspring" maxRows=1>
    SELECT InternetAdres,UitzendburoID AS ID_Field
    FROM Buro
    <CFIF ParameterExists(URL.RecordID)>
    WHERE Buro.UitzendburoID = #URL.RecordID#
    </CFIF>
</CFQUERY>

En nu de output:
code:
1
2
3
4
5
6
7
8
9
10
11
<CFOUTPUT query="GetRecord">
<FORM action="Uitzendbureaus_RecordAction.cfm" method="post">
    <INPUT type="hidden" name="RecordID" value="#ID_Field#">
<TABLE>
    <TR>
    <TD valign="top"> InternetAdres: </TD>
      <TD><a href="InternetAdres"> #InternetAdres# </a>
      </TD>
    </TR>
</TABLE>
</CFOUTPUT>

Wel even wat geknipt in de lappen scripts, maar daar staat verders niks belangrijk in.

Wat die nu hiermee doet is verwijzen naar: [url="http://localhost/Silentspring/InternetAdres"]http://localhost/Silentspring/InternetAdres[/url]

en dus niet naar die externe link.

Edit: als je op die link naar localhost klikt krijg je hetzelfde als ik krijg te zien. Dit wil ik dus niet. Hij moet linken naar de URL uit de DB, bijvoorbeeld http://www.tweakers.net.

Mobi: juist dat soort voorbeelden heb ik kunnen vinden. Maar dat bedoel ik dus met hyperlinks naar een detailpagina van een record. En dat wil ik dus niet.

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 22:14

mulder

ik spuug op het trottoir

Op maandag 10 juni 2002 22:15 schreef HPE het volgende:
...
<a href="InternetAdres"> #InternetAdres#
...
Ja hèhè, "InternetAdres" is een string, de tekst InternetAdres, #InternetAdres# is de waarde uit de variable InternetAdres. Leer maar aan om ook GetRecord.InternetAdres te gebruiken.

oogjes open, snaveltjes dicht


Verwijderd

Da's geinig, in je tweede stukje code ga je fouten maken (de #-jes) wat je in het eerste stukje code wel goed doet. Anyway, als ik jou was zou ik de ColdFusion reference maar eens gaan doorlezen. Die is erg goed te volgen, leer je veel van. Want met dit soort vragen krijg ik toch wel het idee dat je de klok wel ergens hebt horen luiden...

BTW: ik zou je queries toch een iets duidelijkere omschrijving geven dan 'GetRecord'.

Succes!

  • jochemd
  • Registratie: November 2000
  • Laatst online: 31-08 19:19
Wat die nu hiermee doet is verwijzen naar: [url="http://localhost/Silentspring/InternetAdres"]http://localhost/Silentspring/InternetAdres[/url]
Maak er dan eens van:
code:
1
2
3
<cfoutput>
  <a href="http://#adres#">#adres#</a>
</cfoutput>

Verwijderd

Topicstarter
Duhuh zag het echt niet meer :P Maar nu weer wel!
Op dinsdag 11 juni 2002 03:02 schreef jochemd het volgende:

[..]

Maak er dan eens van:
code:
1
2
3
<cfoutput>
  <a href="http://#adres#">#adres#</a>
</cfoutput>
De HTTP stond al in de URL in de DB. Dus dat is niet nodig.

Voor diegene die nu nog niet weten wat er verkeerd was:

OUD:
code:
1
2
3
4
5
6
7
8
9
10
11
<CFOUTPUT query="GetRecord">
<FORM action="Uitzendbureaus_RecordAction.cfm" method="post">
    <INPUT type="hidden" name="RecordID" value="#ID_Field#">
<TABLE>
    <TR>
    <TD valign="top"> InternetAdres: </TD>
      <TD><a href="InternetAdres"> #InternetAdres# </a>
      </TD>
    </TR>
</TABLE>
</CFOUTPUT>

NIEUW:
<CFOUTPUT query="GetRecord">
<FORM action="Uitzendbureaus_RecordAction.cfm" method="post">
<INPUT type="hidden" name="RecordID" value="#ID_Field#">
<TABLE>
<TR>
<TD valign="top"> InternetAdres: </TD>
<TD><a href="#InternetAdres#"> #InternetAdres# </a>
</TD>
</TR>
</TABLE>
</CFOUTPUT>
Pagina: 1