Archief - [ASP] checkboxes detecteren

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Menace

Legacy Member
Hier zie je de lay-out om je een beetje een idee te geven

Weet er hier iemand hoe ik deze checkboxes zou moeten instellen om op de volgende pagina alleen de geselecteerde checkboxes weer te geven? en ook hoe ik deze dan zou moeten oproepen?
Momenteel is dit mijn code:

<%@ Language = "VBScript"%>
<html>
<head>
</head>
<body bgcolor=orange text=black link="black" alink="black" vlink="black">
<center>
<h3>Gebruikerslijst</h3>
<br>
<align="right">
<form name="frmNieuw">
<input type="button" onclick="window.navigate('nieuwegebruiker.asp')" value="Nieuwe gebruiker toevoegen" name="cmdNieuw">
</form>
</align>
<form name="frmLijst" method="post">
<table width="75%" border="0">
<tr>
<td align="center"><b><u>Selecteren</u></b></td>
<td><b><u>Achternaam</u></b></td>
<td><b><u>Voornaam</u></b></td>
<td><b><u>Gebruikersnaam</u></b></td>
<td><b><u>Wachtwoord</u></b></td>
<td><b><u>Klasse</u></b></td>
</tr>
<%
Dim cnDB
dim strConnstring
dim rstLogin


strConnstring= "DRIVER={Microsoft Access Driver (*.mdb)}BQ=" & Server.MapPath("shvinkt.mdb")
set cnDB = Server.CreateObject("ADODB.Connection")
cnDB.open strConnstring

Set rstLogin = cnDB.Execute ("SELECT * FROM tblGebruikers ORDER BY Klasse DESC, Achternaam DESC")

do while not rstLogin.EOF
response.write "<tr><td align='center'><input type='checkbox' value='" & rstLogin("ID") & "' name='chkGeselecteerd'></td>"
response.Write "<td>" & rstLogin("Achternaam") & "</td>"
response.write "<td>" & rstLogin("Voornaam") & "</td>"
response.write "<td>" & rstLogin("Login") & "</td>"
response.write "<td>" & rstLogin("Wachtwoord") & "</td>"
response.write "<td>" & rstLogin("Klasse") & "</td></tr>"
rstLogin.MoveNext
loop
cnDB.Close
%>
</table>
<p align="center"><input type="submit" name="submit" value="aanpassen"><input type="submit" name="submit" value="verwijderen"></p>
<%
if request.form("submit") = "aanpassen" then
response.redirect "loginlijstaanpassen.asp"
else
if request.form("submit") = "verwijderen" then
response.redirect "loginlijstverwijderen.asp"
end if
end if
%>
</form>
</center>
</body>
</html>​

Dank bij voorbaat

Ramm

Legacy Member
Om het op een ingewikkelde manier te zeggen: Je hebt per rij 2 dingen nodig:
1) Uw checkbox, met een unieke naam:
chkCheck1
chkCheck2
chkCheck3
...
2) een hidden field, met het unieke id in de tabel
id1
id2
id3

Daarbovenop heb je nog 1 hidden field nodig buiten uw loop:
<input type="hidden" name="total_id" value="<%=total_id%>" />

Hierin komt het totaal aantal ID's (rijen) die hij heeft uitgeschreven.

Op de volgende pagina laat je hem nu gewoon loopen van 1 - total_id en controleer je als uw checkboxen aangevinkt zijn
Code:
for x = 1 to total_id
  if request.form("chkCheck" & x) then
    'code code code
  end if
next

Is nu allemaal wat kort voorgesteld, maar je zal wel begrijpen wat ik bedoel

Menace

Legacy Member
Ok, ik heb dit dus toegevoegd.. maar nu wil ik dat dan die volledig rij in de DB van die bepaalde gebruiker verwijderd word. met onderstaande code lukt dit niet.. iemand idee?
Code:
<%
Dim cnnDB
dim strConnstring
dim rstLogin
dim strSql


strConnstring= "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("shvinkt.mdb")
set  cnnDB = Server.CreateObject("ADODB.Connection")
cnnDB.open strConnstring

Set rstLogin = cnnDB.Execute ("SELECT * FROM tblGebruikers")

strSql = "Delete From tblGebruikers"
for x = 1 to request.form("id_total")
  if request.form("chkCheck" & x) then
	cnnDB.Execute(strSql)
  end if
next
response.redirect("loginlijstedit.asp")
%>

Ramm

Legacy Member
Waar zeg je welke rij je wilt verwijderen? Nu ga je gewoon alles verwijderen vanaf er 1 checkbox geselecteerd is. Je zal uw row moeten ophalen uit de hidden field de je meegegeven hebt (id1, id2, id3, ...)

Lashknife

Legacy Member
als ge <input type="checkbox" name="mijnbox[]" /> als naam geeft
dan is de output van de form submit niet 1 value, maar een array met alle geselecteerde values
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan