Toon posts:

[CF] zoekresultaat: meerdere query's

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil op de zoekpagina van de adminsite de resultaten weergeven als volgt:

Hoofdstuk - IDNR - Titel
news - 54 - Blaa blaa blaa
agenda - 198 - vandaag blabla
etc.

Dus verschillende query's. nu dacht ik het zo te doen:
code:
1
2
3
4
5
6
7
8
9
<cfquery name="query_1" datasource="egpn">
  SELECT * FROM tabel1 WHERE melding like '%#zoekwoord#%'
</cfquery>

<CFLOOP QUERY="query_1" INDEX="maakOutput">
  <CFSET output_1_hoofdstuk = 'News'>
  <CFSET output_1_titel= 'Blablabla'> 
  <CFSET output_1_idnr = 54>
</CFLOOP>

maar dat gaat natuurlijk niet zo, want je moet de '1' van 'output_1_hoofdstuk' variabel maken. MAAR HOE ?!:?

Verwijderd

Wat heb je hier een afgrijzelijk stuk pleuris code staan niet normaal meer zeg.

In het kort, gebruik <cfoutput> voor DB output die je nu ophaalt. Dynamische variabelen zet je met <cfset #mijnvar# = waarde>

Verwijderd

Topicstarter
bedankt voor de plastische uitdrukking. vurrukkulluk. Maar ik zal het eens gaan proberen met #jouwvar# :)

Verwijderd

Topicstarter
het lukt niet :(

hier komt weer de ranzige code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<CFSET tel=0>

<cfquery name="adreswijziging" datasource="egpn">
  SELECT * FROM egpn_adreswijziging 
  WHERE melding like '%#zoekwoord#%'
  ORDER BY idnr desc
</cfquery>


<CFLOOP QUERY="adreswijziging">
    <CFSET tel=#tel#+1>
    <CFSET hoofdstuk = "hoofdstuk"&#tel#>
        <CFSET #hoofdstuk# = "Adreswijziging">  
    <CFSET recordid = "recordid"&#tel#>
        <CFSET #recordid# = #idnr#>
</CFLOOP>

in de BODY
code:
1
2
3
4
5
6
7
8
Hoofdstuk - IDNR
<cfoutput> 
#hoofdstuk1# - #recordid1#  
#hoofdstuk2# - #recordid2#

etc.

</cfoutput>

Hij zegt: Error resolving parameter HOOFDSTUK1. Maar ik heb die variabele gemaakt zoals jij zei :(

ALS IEMAND KAN HELPEN... :'(

Verwijderd

Wat ben je toch in hemelsnaam aan het scripten :? Waarom ga je eerst allemaal aparte variabelen zetten als je ze zo in 1 keer al uit de dbquery kunt outputen :?

Want vervolgens ga je een fout maken, en wijzig je iets in de DB. Resultaat is dat je query een heel andere lijst teruggeeft en dat je hoofdstukken niet meer kloppen.

Je bent denk ik totaal verkeerd begonnen, en gestart met scripten terwijl je niet de achterliggende laag hebt bekeken.

Begin eerst is met een goed databasemodel zou ik zeggen, dan is die hele ranzige scriptzooi niet meer nodig.

  • BlaTieBla
  • Registratie: November 2000
  • Laatst online: 01-09 07:33

BlaTieBla

Vloeken En Raak Schieten

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
30
31
32
33
<cfquery name="adreswijziging" datasource="egpn">
  SELECT idnr, hoofdstuk, titel FROM egpn_adreswijziging 
  WHERE melding like '%#zoekwoord#%'
  ORDER BY idnr desc
</cfquery>

<BODY>
<Table>
 <TR>
  <TD>
    Hoofdstuk
  </TD>
  <TD>
    IDNR
  </TD>
  <TD>
    Titel
  </TD>
 </TR>
<CFOUTPUT Query="adreswijziging">
<TR>
  <TD>
    #Hoofdstuk#
  </TD>
  <TD>
    #IDNR#
  </TD>
  <TD>
    #Titel#
  </TD>
</TR>
</CFOUTUT>
</TABLE>

Gebruik GEEN select * from, want als je Coldfusion MX gaat gebruiken, kan je al je queries nalopen [spreek uit ervaring]

leica - zeiss - fuji - apple | PSN = Sh4m1n0


Verwijderd

Topicstarter
ok, ik zal het wat beter uitleggen :)

er is 1 grote admin (voor intranet) met 20 hoofdstukken. (o.a. adreswijzigingen, nieuws, etc). Nu wil de admin-er iets zoeken maar weet niet in welk hoofdstuk het voorkomt, dus ziekt hij op 'patat' in alle items (hele DB dus). Nu wil ik het mezelf makkelijk maken door de DIVERSE QUERY's weer te geven in 1 LOOP die de hele output zooi uitspuugt. Dus niet 20 x <CFOUTPUT QUERY="adreswijzigingen"> etc.

Dus daarom wil ik dat hij een algemene teller maakt, die dus gelijk het aantal recordcounts van de 20 query's weergeeft, en zo met die loop dus weergeven waar er allemaal 'Patat' gevonden is.

Dat zou dan in mijn optiek iets moeten zijn als:
code:
1
2
3
<CFLOOP FROM="1" TO="#tel#" INDEX="deOutput">
#hoofdstuk1# (#recordid1#)
</CFLOOP>

Maar dan: hoofdstuk1, hoofdstuk2, etc. (t/m #tel#). Vandaar de loop, vandaar de variabelen.

  • jochemd
  • Registratie: November 2000
  • Laatst online: 31-08 19:19
Op zondag 07 juli 2002 23:18 schreef plukvandepetteflat het volgende:

er is 1 grote admin (voor intranet) met 20 hoofdstukken. (o.a. adreswijzigingen, nieuws, etc). Nu wil de admin-er iets zoeken maar weet niet in welk hoofdstuk het voorkomt, dus ziekt hij op 'patat' in alle items (hele DB dus).
Dan gebruik je toch een UNION query.

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 23:27

mulder

ik spuug op het trottoir

#Evaluate("hoofdstuk" & i)#

Maar eeuuh, volg eens een cursus ofzo. De basis van scripten/programmeren/ontwikkelen. Je komt een beetje als een beun over die even een ColdFusion klusje doet mbv GoT Helpdesk.

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
Op zondag 07 juli 2002 23:24 schreef jochemd het volgende:

Dan gebruik je toch een UNION query.
Op zondag 07 juli 2002 23:30 schreef Don Facundo het volgende:
Maar eeuuh, volg eens een cursus ofzo. De basis van scripten/programmeren/ontwikkelen. Je komt een beetje als een beun over die even een ColdFusion klusje doet mbv GoT Helpdesk.
Dat (union) heb ik nu geprobeerd en het lukt al een stuk beter dus hier ga ik wel even verder mee klooien. thnx.

Over dat beunen: dat valt wel mee hoor. ik probeer het ook allemaal maar te leren. Je HOEFT het niet te beantwoorden ;) maar ik ben er wel blij mee *D

  • jochemd
  • Registratie: November 2000
  • Laatst online: 31-08 19:19
Op zondag 07 juli 2002 23:37 schreef plukvandepetteflat het volgende:

Over dat beunen: dat valt wel mee hoor. ik probeer het ook allemaal maar te leren. Je HOEFT het niet te beantwoorden ;) maar ik ben er wel blij mee *D
Dat valt niet mee.

De kwaliteit van de code die ik tot nog toe van jou heb gezien is echt slecht. Dat geeft niet, zo zijn we allemaal begonnen. Maar dan reageerden we niet op suggesties om eens een handleiding er bij te pakken of zelfs alleen maar een mini-howto met de opmerking "Het werkt toch".

Verwijderd

Topicstarter
:'( ik bedoelde eigenlijk meer dat het beunen wel mee valt: het is gewoon meer hobby bobby ( dus ook qua niveau ) maar voor een W&G'er toch niet zo heel errug beroerd?

  • jochemd
  • Registratie: November 2000
  • Laatst online: 31-08 19:19
Op maandag 08 juli 2002 00:44 schreef plukvandepetteflat het volgende:
:'( ik bedoelde eigenlijk meer dat het beunen wel mee valt: het is gewoon meer hobby bobby ( dus ook qua niveau ) maar voor een W&G'er toch niet zo heel errug beroerd?
Kan ik niet echt beoordelen, een W&G'er doet gemiddeld genomen niet aan CF :'( en ik heb niet zoveel met hobbiers te maken :)

Bedenk wel dat ook jouw hobbysite ergens komt te draaien, en als jouw code security problemen heeft dan heeft dat wel implicaties. Vooral als het een shared host betreft zullen daar mensen vaak niet echt blij mee zijn. (Ik heb een uurtje geleden nog de emailprivileges van een gehoste klant ingetrokken >:) omdat hij duidelijk het begrip RTFM nog niet begrepen had |:()

Verwijderd

Topicstarter
Op maandag 08 juli 2002 00:53 schreef jochemd het volgende:

[..]

Kan ik niet echt beoordelen, een W&G'er doet gemiddeld genomen niet aan CF :'( en ik heb niet zoveel met hobbiers te maken :)

Bedenk wel dat ook jouw hobbysite ergens komt te draaien, en als jouw code security problemen heeft dan heeft dat wel implicaties. Vooral als het een shared host betreft zullen daar mensen vaak niet echt blij mee zijn. (Ik heb een uurtje geleden nog de emailprivileges van een gehoste klant ingetrokken >:) omdat hij duidelijk het begrip RTFM nog niet begrepen had |:()
OK, jij je zin! Ik zal me meer in de (F*CK*NG) materie verdiepen. heb toch vakantie... :+

  • BlaTieBla
  • Registratie: November 2000
  • Laatst online: 01-09 07:33

BlaTieBla

Vloeken En Raak Schieten

code:
1
<CFOUTPUT Query="adreswijziging" maxrows="#JOUW_TELLER#">

Die maxrows, kan je evt. in je query verweven. [tis nml. een beetje onzinnig om 2000 rows op te halen uit de DB en er uiteindelijk maar 5 weer te geven]

leica - zeiss - fuji - apple | PSN = Sh4m1n0


  • BlaTieBla
  • Registratie: November 2000
  • Laatst online: 01-09 07:33

BlaTieBla

Vloeken En Raak Schieten

Op maandag 08 juli 2002 01:54 schreef plukvandepetteflat het volgende:

[..]

OK, jij je zin! Ik zal me meer in de (F*CK*NG) materie verdiepen. heb toch vakantie... :+
Mastering Coldfusion 5.0 [SYBEX] is dan wel een goed begin. Is je vakantie geld ook weer besteed..... :)

leica - zeiss - fuji - apple | PSN = Sh4m1n0


Verwijderd

Topicstarter
dankje!! Ik ken iemand die dat boek heeft dus daar ga ik maar even op visite :)

en zullen we nu stoppen met dit topic?
:):):):):):):):):):):):)

  • Defspace
  • Registratie: Mei 2000
  • Laatst online: 27-08 11:17

Defspace

Administrator

Gebruik GEEN select * from, want als je Coldfusion MX gaat gebruiken, kan je al je queries nalopen [spreek uit ervaring]
En wat houdt dat in dan ?
Ik ga namelijk binnenkort van een CF5 naar een MX Server toe, en ik mag toch aannemen dat die wel redelijk backwards compatible is ???

  • jochemd
  • Registratie: November 2000
  • Laatst online: 31-08 19:19
Op dinsdag 09 juli 2002 11:11 schreef Defspace het volgende:

En wat houdt dat in dan ?
Dat queries die SELECT * doen in voorkomende gevallen niet meer werken (hangt af van JDBC driver etc.).
Ik ga namelijk binnenkort van een CF5 naar een MX Server toe, en ik mag toch aannemen dat die wel redelijk backwards compatible is ???
Zie release notes.

  • Defspace
  • Registratie: Mei 2000
  • Laatst online: 27-08 11:17

Defspace

Administrator

Dat queries die SELECT * doen in voorkomende gevallen niet meer werken (hangt af van JDBC driver etc.).
Ik ben na dit bericht meteen maar MX gaan downloaden en gaan installeren.
Op een aantal schoonheidsfoutjes na (CFupdate die nu ook verplicht primary key wil etc.), functioneerde mijn applicatie in zijn geheel (gelukkig :P)

Ik gebruikte namelijk een

select * from table insert into table where bla=bla

En was al bang dat die niet meer zou werken.
Over het algemeen genomen gebruik ik geen select * maar wel als ik _echt_ alles nodig heb.
Pagina: 1