Toon posts:

Oproepem resultaten van dynamisch formulier (ASP)

Pagina: 1
Acties:
  • 148 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Beste mensen,

Ik breek mijn hoofd |:( over het volgende. Ik heb een formulier met meedere pulldown menu's (moeten er een stuk of 10 worden) waarvan de waarde dynamisch uit de database worden getrokken.

Probleem: ik krijg het niet voor elkaar om de resultaten(door de gebruiker gekozen optie) weer te laten geven in een andere *.asp-file.

De code (deze werkt):

----------------------------------------->

<%
Option Explicit

Dim conn,sql,rs

Set conn=Server.CreateObject("ADODB.Connection")
conn.open "DBQ=d:/inetpub/wwwroot/database/acart2_0.mdb;DRIVER={Microsoft Access Driver (*.mdb)}"

sql="SELECT * FROM monitor"

Set rs=conn.execute(sql)
%>

<html>
<head>
<title>
Database Drop Down Menu
</title>
</head>
<body>
<form action="form2.asp" method=post>
<select name="Monitor">
<%
Do While Not rs.eof
Response.Write("<option value=""" & rs("id") & """>" & _
rs("type") & "</option>")
rs.movenext
Loop
%>
</select>
</form>

<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.open "DBQ=d:/inetpub/wwwroot/database/acart2_0.mdb;DRIVER={Microsoft Access Driver (*.mdb)}"

sql="SELECT * FROM printer"

Set rs=conn.execute(sql)
%>

<form action="form2.asp" method=post>
<select name="printer">
<%
Do While Not rs.eof
Response.Write("<option value=""" & rs("id") & """>" & _
rs("Type") & "</option>")
rs.movenext
Loop
%>
<input type="submit" value="Search">
</select>
</form>
</body>
</html>

<%
conn.close
Set conn=Nothing
Set rs=Nothing
%>

---------------------------------->

Ik hoop dat jullie mij een beetje opweg kunnen helpen.

Alvast Bedankt!

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:14

Crazy D

I think we should take a look.

Hmm
Request.Form("monitor")
en
Request.Form("printer")
:?

Exact expert nodig?


Verwijderd

Topicstarter
tja, als het zo simple zou zijn.

Het probleem is dat wanneer men op de knop [search] klikt, ALLE waarden van het formulier moeten worden weergegeven

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09-09 20:58

Janoz

Moderator Devschuur®

!litemod

Maak er dan eerst ff 1 formulier van ipv 2...

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:14

Crazy D

I think we should take a look.

Op donderdag 21 maart 2002 11:54 schreef Goldman21 het volgende:
tja, als het zo simple zou zijn.

Het probleem is dat wanneer men op de knop [search] klikt, ALLE waarden van het formulier moeten worden weergegeven
:?
hoebedoelu? :)
Dat je als je op search klikt, je in de pagina die de form afhandelt, alles wat in de select-lijstjes staat uitleest? Kun je dan niet makkelijker de database daar nogmaals uitlezen? :)
Mjah volgens mij snap ik gewoon niet wat je bedoelt ;)

En idd, binnen 1 form zou het al iets beter moeten gaan ;)

Exact expert nodig?


Verwijderd

waarom roep maak je 2 keer je conn aan
hij bestaat al en dus hoef je hem niet opnieuw te maken en te openen
daarnaast ligty je probleem denk ik aan je "
gewoon voor " in html gewoon chr(34)

  • Alpha-sphere
  • Registratie: Januari 2001
  • Laatst online: 14-12-2021
Op donderdag 21 maart 2002 11:10 schreef Goldman21 het volgende:
Beste mensen,

Ik breek mijn hoofd |:( over het volgende. Ik heb een formulier met meedere pulldown menu's (moeten er een stuk of 10 worden) waarvan de waarde dynamisch uit de database worden getrokken.
maak er als eerst voor het gemak 2 asp pagina's van. 1 voor de pulldown menutjes de andere om het doorgestuurde shit te verwerken.

1ste asp pagina
===============
values van de pulldown menu haal je op door recordset(iets uit database) elke pulldown menu geef je een naam. (bijv. pulldown menu 1 t/m 10)submit knopje d'r bij en de form action moet de andere asp pagina zijn.

2de asp pagina
==============
code:
1
request.form("pulldown1") <----- hiermee haal je de info op uit de pulldown menu van de formulier.

ik weet niet wat je d'r verder mee wil gaan doen maar je kan die dingen bijvoorbeeld weergeven met
code:
1
response.write '" & request.form("pulldown1") & "'

Assume there are no rules and it's one big free for all


Verwijderd

Topicstarter
Allereerst: bedankt voor jullie hulp!

eehhm.

1. het is inderdaad zo dat de resultaten van alle opties die worden geselecteerd in de pulldowns worden worden weergegeven in "form2.asp".

2. Het feit dat ik 2x de conn aanroep heeft te maken met het feit dat het 2 verschillende tabellen zijn. 1e heet [monitor] en de 2e heet [printer] verschillende waarden uit verschillende tabellen dus.

Inmiddels lukt het me wel met 1 pulldown.

Ik zal gewoon eens een geven. Wordt welliswaar een concurrent van me maargoed.

URL: http://www.xenon.nl/stelsamen.php3

NB. Ik probeer ASP een beetje onder de knie te krijgen. Ben dus pas begonnen.

Verwijderd

Topicstarter
Tweakers! ik heb het voor elkaar.

Nog een klein probleempje. Hij geeft het ID van de record weer en niet de naam van de monitor of printer

"Form1.asp"

-------------begin------------------>

<%
Option Explicit

Dim conn,sql,rs

Set conn=Server.CreateObject("ADODB.Connection")
conn.open "DBQ=d:/inetpub/wwwroot/database/acart2_0.mdb;DRIVER={Microsoft Access Driver (*.mdb)}"

sql="SELECT * FROM monitor"

Set rs=conn.execute(sql)
%>

<html>
<head>
<title>
Database Drop Down Menu
</title>
</head>
<body>
<form action="results.asp" method=post>
<select name="monitor">
<option selected>--Select monitor--
<%
Do While Not rs.eof
Response.Write("<option value=""" & rs("id") & """>" & _
rs("type") & "</option>")
rs.movenext
Loop
%>
</select>
<br>

<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.open "DBQ=d:/inetpub/wwwroot/database/acart2_0.mdb;DRIVER={Microsoft Access Driver (*.mdb)}"

sql="SELECT * FROM printer"

Set rs=conn.execute(sql)
%>
<select name="printer">
<option selected>--Select printer--
<%
Do While Not rs.eof
Response.Write("<option value=""" & rs("id") & """>" & _
rs("type") & "</option>")

rs.movenext
Loop
%>
<input type="submit" value="Search">
</select>
</form>

</body>
</html>

<%
conn.close
Set conn=Nothing
Set rs=Nothing
%>

-----------------einde--------------------->

"form2.asp"

-----------------begin--------------------->

<html>
<head>
<title></title>
</head>
<body>

<%
Dim conn,sql,rs

Set conn=Server.CreateObject("ADODB.Connection")
conn.open "DBQ=d:/inetpub/wwwroot/database/acart2_0.mdb;DRIVER={Microsoft Access Driver (*.mdb)}"

sql="SELECT * FROM monitor"

Set rs=conn.execute(sql)

monitor=request.form("monitor")

if (monitor <> "") then
response.write monitor
end if %>

<br>

<%

Set conn=Server.CreateObject("ADODB.Connection")
conn.open "DBQ=d:/inetpub/wwwroot/database/acart2_0.mdb;DRIVER={Microsoft Access Driver (*.mdb)}"

sql="SELECT * FROM printer"

Set rs=conn.execute(sql)

printer=request.form("printer")

if (printer <> "") then
response.write printer
end if %>

<%
RS.Close
Conn.Close
Set RS = Nothing
Set Conn = Nothing
%>

</body>
</html>

-----------------einde------------------->

sorry voor de lap tekst...

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09-09 20:58

Janoz

Moderator Devschuur®

!litemod

Kijk eens wat voor waarde er bij de value van je option staat.. Dat geeft ie namelijk terug.. Daarnaast hoef je niet verschillende connecties aan te maken als je verschillende tabellen uit dezelfde db nodig hebt (zal wat wezen zeg)...

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Er staat nu bij value [ID]. Dat wist ik. (hierboven staat staat de code van de 2 files.

Bijv. De tabel [monitor] bestaat uit

[ID] [Type]
1 Philips
2 Iijama
3 Samsung
4 bla bla

Als ik van de value ID nu type maakt dan zijn de pulldowns leeg. Er wordt dus niets weergegeven in de pulldowns. Klaarblijkelijk mag de [value] en de [option] niet hetzelfde zijn (?)

de conn hoeft inderdaad niet nogmaals aangeroepn te worden. :)

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:14

Crazy D

I think we should take a look.

Als je value leeg laat krijg je automatisch de option-waarde terug...

Exact expert nodig?


Verwijderd

2. Het feit dat ik 2x de conn aanroep heeft te maken met het feit dat het 2 verschillende tabellen zijn. 1e heet [monitor] en de 2e heet [printer] verschillende waarden uit verschillende tabellen dus.
je gebruikt 2 verschillende queries daar is niks mee
maar je herschrijft je con wat absoluut niet nodig is
probeer het maar is zonder 2de nieuwe con

Verwijderd

Topicstarter
Ik heb de conn aangepast. Inderdaad overbodig.

Het probleem van de Value [ID] paar topics hierboven bestaat helaas nogsteeds. wanneer ik, zoals Crazy_D mij adviseerde, de value leeg laat wordt er niet meer doorgegeven. Ik gebruik nogsteeds dezelfde response.write zoals die hierboven staat weergegeven. (form2.asp)
Moet ik die misschien aanpassen??

groeten..

Verwijderd

Topicstarter
Ik wil iedereen bedanken voor de hulp. De problemen zijn opgelost. Het functioneerd allemaal goed!

Verwijderd

Topicstarter
Ik heb toch nog een probleem. Het gaat om bovenstaand script, maar een ander probleem.

Ik heb dus meerdere tabellen (stuk of 15) elke tabel bevat de volgende records.

ID Type Prijs

1 monitor1 234,00
2 monitor2 264,00
3 monitor3 545,00

Nadat men, middels een formulier met pulldownmenu's (form1.asp), een aantal keuzes heeft gemaakt bijv. "monitor1" worden de resultaten weergegeven in form2.asp. Nu krijg ik het niet voor elkaar om de prijzen van gekozen items op te laten tellen en het totaalbedrag weer te geven. Met 1 tabel weet ik dat het wel lukt, maar met 15 losse niet. Waarom gebruik je dan niet 1 tabel hoor ik jullie denken.... nou dat is onwijs veel werk om alles om te zetten.

Ik kan mijn vraag helaas niet onderbouwen met voorbeelden. Ik hoop dat jullie mij een beetje opweg kunnen helpen.

  • Belgar
  • Registratie: Januari 2002
  • Laatst online: 17-08 22:31

Belgar

Archmaster ranzige code..

waarom stuur je het opgetelde bedrag niet meteen door naar de tweede form? ik bedoel, je hebt al die informatie al op form 1. Ik ben absoluut geen held in ASP, maar dat is wat ik zou doen. Ik heb zelf zoiets eens in JAVA geschreven, en daar stuurde ik de waarde gewoon mee met de POST. ASP lijkt me alleen maar eenvoudiger. ( vroeger, in mijn tijd, etc etc.)

...Als het maar werkt


Verwijderd

Topicstarter
Nou, het probleem is dus dat ik de verschillende prijzen in de verschillende tabellen niet op kan tellen. Het maakt in principe niet uit of ze nou in form1.asp opgeteld worden of in form2.asp
Pagina: 1