[HTML] record uit tabel verwijderen met knop delete

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

  • eatualive
  • Registratie: Juni 2005
  • Laatst online: 22-02 21:31
ik heb al op google en op GOT gezocht maar waarschijnlijk gebruik ik de verkeerde zoekwoorden of niemand heeft ooit dit probleem gehad maar dit lijkt me sterk.

Achter elke regel moet een kolom komen met een knop delete. Als je dus op de knop drukt zal die record moeten worden verwijderd uit de tabel.

Als ik bijv een aanvink vakje heb kun je zeggen value"ID" en dan maak ik een knop die dit record uit de tabel gooit wanneer ik hier op druk.

Maar als ik alleen en knop erachter wil kan ik dit niet als value in vullen omdat daar de tekst staat die op de knop moet komen te staan.

Hoe kan ik ervoor zorgen dat als ik op de knop druk dat hij automatich dat ID meneem zodat ik deze kan laten verwijderen uit de tabel?

  • paragon
  • Registratie: April 2000
  • Laatst online: 22-02 20:18
Dit is wel heel erg standaard, ik zou zeggen zoek nog even verder...

  • Cyphax
  • Registratie: November 2000
  • Nu online

Cyphax

Moderator LNX
Value? Je zet een submitknop neer?
Heb je er allemaal forms omheen staan ofzo? Heb je wel een script waar je die parameters aan mee kan sturen, die dan vervolgens die databasebewerking uitvoert?
In dat geval zou ik denk ik niet gaan stoeien met knoppen maar simpele linkjes neerzetten. In zo'n href kun je makkelijk een ID zetten dan.

Saved by the buoyancy of citrus


  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 11:30

Gonadan

Admin Beeld & Geluid, Harde Waren
eatualive schreef op maandag 24 april 2006 @ 10:03:
ik heb al op google en op GOT gezocht maar waarschijnlijk gebruik ik de verkeerde zoekwoorden of niemand heeft ooit dit probleem gehad maar dit lijkt me sterk.

Achter elke regel moet een kolom komen met een knop delete. Als je dus op de knop drukt zal die record moeten worden verwijderd uit de tabel.

Als ik bijv een aanvink vakje heb kun je zeggen value"ID" en dan maak ik een knop die dit record uit de tabel gooit wanneer ik hier op druk.

Maar als ik alleen en knop erachter wil kan ik dit niet als value in vullen omdat daar de tekst staat die op de knop moet komen te staan.

Hoe kan ik ervoor zorgen dat als ik op de knop druk dat hij automatich dat ID meneem zodat ik deze kan laten verwijderen uit de tabel?
Is dit niet meer een HTML vraag?
Je kan de ID opnemen in de name tag van de knop.
Die kan je met post/get ook gewoon opvragen :)
Dan kan je in value gewoon 'delete' laten staan

[ Voor 4% gewijzigd door Gonadan op 24-04-2006 10:07 ]

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • Calamor
  • Registratie: Oktober 2004
  • Nu online
DIe knop is toch een form? Dan kan je een onzichtbaar item mee sturen.

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 17-02 09:21
:X Niemand die zijn vraag goed leest, of niemand die zijn vraag begrijpt?
Hij wilt 1 knop, een submit knop. Hij kan daarvan de value niet op zijn ID zetten, want als value van zijn submit knop wil hij "Verwijder" oid.

Je kunt het ID opnemen in de naam van de knop, bijvoorbeeld "delete_12" (bij een ID = 12).
In je PHP script kun je dit afvangen met iets als
PHP:
1
2
3
4
5
6
7
8
9
<?php
if($_SERVER['REQUEST_METHOD'] == "POST" && count($_POST) > 0) {
  $postvalue = array_keys($_POST);
  $knopNaam = $postvalue[0];
  if(ereg("^delete_([0-9]+)$", $knopNaam, $regs)) {
    echo "Verwijder het record met ID " . $regs[1] . "<br />";
  }
}
?>

[ Voor 10% gewijzigd door frickY op 24-04-2006 10:14 ]


  • martijnve
  • Registratie: December 2004
  • Laatst online: 22-02 23:51
Ik heb vaak zoiets nodig en dan post ik altijd gewoon naar formhandler.php?action=delete&id=10 o.i.d.
En dan vandaar een redirect naar de volgende pagina.

  • Cyphax
  • Registratie: November 2000
  • Nu online

Cyphax

Moderator LNX
Waarom een submitbutton, die hoort bij een formulier en die heeft ie niet (of hij meldt het er iig niet bij).
http://www.w3schools.com/tags/tag_button.asp
Daarbij staan de caption en het value-attribuut los van elkaar.
ID opnemen in de naam van de knop hoeft toch niet, dat is lichtelijk ranzig. :P

Saved by the buoyancy of citrus


  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 11:30

Gonadan

Admin Beeld & Geluid, Harde Waren
frickY schreef op maandag 24 april 2006 @ 10:14:
:X Niemand die zijn vraag goed leest, of niemand die zijn vraag begrijpt?
Hij wilt 1 knop, een submit knop. Hij kan daarvan de value niet op zijn ID zetten, want als value van zijn submit knop wil hij "Verwijder" oid.

Je kunt het ID opnemen in de naam van de knop, bijvoorbeeld "delete_12" (bij een ID = 12).
In je PHP script kun je dit afvangen met iets als
PHP:
1
2
3
4
5
6
7
8
9
<?php
if($_SERVER['REQUEST_METHOD'] == "POST" && count($_POST) > 0) {
  $postvalue = array_keys($_POST);
  $knopNaam = $postvalue[0];
  if(ereg("^delete_([0-9]+)$", $knopNaam, $regs)) {
    echo "Verwijder het record met ID " . $regs[1] . "<br />";
  }
}
?>
Heb jij dan mijn post niet goed gelezen? :X

Naam is voor mijn gevoel de 'netste' oplossing ;)

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 12:04

crisp

Devver

Pixelated

Cyphax schreef op maandag 24 april 2006 @ 10:06:
Value? Je zet een submitknop neer?
Heb je er allemaal forms omheen staan ofzo? Heb je wel een script waar je die parameters aan mee kan sturen, die dan vervolgens die databasebewerking uitvoert?
In dat geval zou ik denk ik niet gaan stoeien met knoppen maar simpele linkjes neerzetten. In zo'n href kun je makkelijk een ID zetten dan.
data-aanpassingen mag je nooit via een GET request doen; denk bijvoorbeeld aan searchbots en prefetchers en je snapt waarom...
Cyphax schreef op maandag 24 april 2006 @ 10:18:
Waarom een submitbutton, die hoort bij een formulier en die heeft ie niet (of hij meldt het er iig niet bij).
http://www.w3schools.com/tags/tag_button.asp
Daarbij staan de caption en het value-attribuut los van elkaar.
ID opnemen in de naam van de knop hoeft toch niet, dat is lichtelijk ranzig. :P
button is broken in IE

Als alternatief zou je naast je submit button natuurlijk ook een hidden form-field kunnen gebruiken met daarin het ID.

Intentionally left blank


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 22-02 00:22

Janoz

Moderator Devschuur®

!litemod

Mwah, je kunt natuurlijk ook gewoon: het volgende in de cel zetten:

HTML:
1
2
3
4
5
6
<td>
  <form action="delete.php">
    <input type="hidden" name="id" value="2134124"/>
    <input type="submit" name="Verwijder"/>
  </form>
</td>

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


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 22-02 00:22

Janoz

Moderator Devschuur®

!litemod

Dit probleem heeft trouwens helemaal niks met php te maken. Vandaar een kleine titlefix en verplaatsing.

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


  • eatualive
  • Registratie: Juni 2005
  • Laatst online: 22-02 21:31
mischien niet 100% maar dit is mijn script:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
echo "<table border=0 width=700>";
echo "<TD bgcolor=#00CCCC><B><span class=style1 bgcolor=#00CCCC>Omschrijving</B><TD bgcolor=#00CCCC><B><span class=style1>Kabel Nr.</B><TD><B><span class=style1 bgcolor=#00CCCC>EDIT/DELETE<TD><TR>";
echo "<TD><TD><TD><TR>";
echo "<TD><span class=style2>Siemens<TD><TD><TR>";
if(mysql_num_rows($result1) > 0)
 {
 while($data1 = mysql_fetch_assoc($result1))
  {
  echo "<TD width=700><span class=style1>".$data1['omschrijving']."<TD width=110><span class=style1>".$data1['kabel_nr']."<TD width=100><span class=style1 ><input type=checkbox name='remove' value='".$data1['ID']."'><TR>";
  }
 }
else
 {
 echo "<B>Er zijn geen siemens kabels.</B>";
 } 
echo "</table><BR>";


Zoals je ziet wordt mijn tabel gegenereerd door een php scipt en de dat die hij uit de query haalt worden in deze tabel gestopt net zolang todat hij klaar is dus daarom kan ik ook niet met een HTML link werken met een id erin. Het moet iets zijn wat zelf weet achter welke ID record van de tabel staat.

Hier staat dat nog met de checkbox maar doet moet dan de knop worden.

[ Voor 25% gewijzigd door eatualive op 24-04-2006 10:42 ]


  • Cyphax
  • Registratie: November 2000
  • Nu online

Cyphax

Moderator LNX
crisp schreef op maandag 24 april 2006 @ 10:24:
[...]

data-aanpassingen mag je nooit via een GET request doen; denk bijvoorbeeld aan searchbots en prefetchers en je snapt waarom...
Is dat echt zo'n probleem? Searchbots kun je toch een robots.txt voor neerzetten?
Desalniettemin: als het makkelijker kan doe je het makkelijker natuurlijk. :)
button is broken in IE
Da's waar ook, maar is het zo dramatisch gesteld dat ie daarover gaat vallen?
Als alternatief zou je naast je submit button natuurlijk ook een hidden form-field kunnen gebruiken met daarin het ID.
En dan per rij een form?

Saved by the buoyancy of citrus


  • martijnve
  • Registratie: December 2004
  • Laatst online: 22-02 23:51
crisp schreef op maandag 24 april 2006 @ 10:24:
[...]

data-aanpassingen mag je nooit via een GET request doen; denk bijvoorbeeld aan searchbots en prefetchers en je snapt waarom....
Ik neem aan dat het deleten van dingen op een beveiligd gedeelte van de site komt :-)

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Cyphax schreef op maandag 24 april 2006 @ 10:43:
Is dat echt zo'n probleem? Searchbots kun je toch een robots.txt voor neerzetten?
Desalniettemin: als het makkelijker kan doe je het makkelijker natuurlijk. :)
GET, zoals de naam al zegt is om informatie te verkrijgen, aanpassingen hoor je dus in principe niet langs deze weg te doen, maar via POST.
en btw, robots.txt is natuurlijk niet waterdicht ;)
Er zijn ook tooltjes beschikbaar die bijvoorbeeld precachen voor je browser door alvast op de achtergrond verdere pagina's gaan ophalen, :w database :P

  • eatualive
  • Registratie: Juni 2005
  • Laatst online: 22-02 21:31
Dit is voor een intranet dus echt beveiliging kan me niet veel boeien. maar de knop die ik erachter zet meot snappen dat hij het ID moet verwijderen waar hij achter staat.

Dus wie weet de beste oplossing, ik zie nu zoveel mogljikheden dat ik niet meer welke ik het best kan pakken.


Dit is de code die ik heb of in ieder geval de belangrijke stukjes eruit.
Dize werkt allen heb ik hier even met een submit button gewerkt en als value staat daar het ID in. Dit is natuurlijk niet mooit en hier wil ik het ID in hebben staan.

Wie weet wat ik het beste kan doen. om in de submit button gewoonb DELETE te zetten?
PHP:
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
34
35
36
37
include "connection.php";

if(!isset($_POST['submit']))
{

  $query1 = "SELECT * FROM kabels WHERE merk='Siemens' ORDER BY sort ASC";
  $result1 = mysql_query($query1)or die("Fout in query1: $query1".mysql_error());


//siemens kabels

echo "<table border=0 width=700>";
echo "<form id=form name=form2 method=post >";
echo "<TD bgcolor=#00CCCC><B><span class=style1 bgcolor=#00CCCC>Omschrijving</B><TD bgcolor=#00CCCC><B><span class=style1>Kabel Nr.</B><TD><B><span class=style1 bgcolor=#00CCCC>EDIT/DELETE<TD><TR>";
echo "<TD><TD><TD><TR>";
echo "<TD><span class=style2>Siemens<TD><TD><TR>";
if(mysql_num_rows($result1) > 0)
 {
 while($data1 = mysql_fetch_assoc($result1))
  {
  echo "<TD width=700><span class=style1>".$data1['omschrijving']."<TD width=110><span class=style1>".$data1['kabel_nr']."<TD width=100><span class=style1 ><input type=submit name=submit value='".$data1['ID']."' ><TR>";
  }
 }
else
 {
 echo "<B>Er zijn geen siemens kabels.</B>";
 } 
echo "</table><BR>";

 }
 else
  {
  $query = "DELETE FROM kabels WHERE ID='".$_POST['submit']."'";
  $result = mysql_query($query) or die("Fout in query: $query".mysql_error($query));
  echo "<B>Kabels verwijdert</B>";
  echo "<META HTTP-EQUIV=Refresh CONTENT=2; URL=javascript:history.back()>";
  }

[ Voor 93% gewijzigd door eatualive op 24-04-2006 11:05 ]


  • eatualive
  • Registratie: Juni 2005
  • Laatst online: 22-02 21:31
Of weet iemand mischien een manier dat ik een hyperlink knop met DELETE erachter zet en dat die hyperlink het ID van die regel van de tabel verwijderd?

  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 11:30

Gonadan

Admin Beeld & Geluid, Harde Waren
eatualive schreef op maandag 24 april 2006 @ 12:12:
Of weet iemand mischien een manier dat ik een hyperlink knop met DELETE erachter zet en dat die hyperlink het ID van die regel van de tabel verwijderd?
Een gewone hyperlink kan dan alleen met GET, en dat is niet bedoeling.
Wat is er mis met een klein formpje?
Je kan de knop elk uiterlijk geven wat je wilt :)

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • eatualive
  • Registratie: Juni 2005
  • Laatst online: 22-02 21:31
Gonadan schreef op maandag 24 april 2006 @ 12:19:
[...]

Een gewone hyperlink kan dan alleen met GET, en dat is niet bedoeling.
Wat is er mis met een klein formpje?
Je kan de knop elk uiterlijk geven wat je wilt :)
Als je bedoelt met een hidden input erachter dan werkt dit neit omdat hij dan het laatste ID telkens verwijderd inplaats van het id waar ik achter klik.

Het meot toch op een of andere manier mogelijke zijn een een submit button te hbben met de value"$variable" en met de tekst DELETE..? of anders een hyperlink dit dit uitvoerd.

[ Voor 5% gewijzigd door eatualive op 24-04-2006 12:34 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 12:04

crisp

Devver

Pixelated

eatualive schreef op maandag 24 april 2006 @ 12:34:
[...]


Als je bedoelt met een hidden input erachter dan werkt dit neit omdat hij dan het laatste ID telkens verwijderd inplaats van het id waar ik achter klik.
Dan moet je niet 1 formulier gebruiken, maar een formulier per item...

Intentionally left blank


  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
crisp schreef op maandag 24 april 2006 @ 10:24:
[...]

data-aanpassingen mag je nooit via een GET request doen; denk bijvoorbeeld aan searchbots en prefetchers en je snapt waarom...
tenzij de betreffende pagina niet toegankelijk is voor bots e.d. (m.a.w. geen authorisatie) , iets wat best zou kunnen aangezien hij dingen wil deleten uit de database.

Mijn rig


  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 04-01 15:49

JHS

Splitting the thaum.

marko77: Dan heb je nog steeds een probleem met prefetchers, lijkt me :) . Het feit dat bijvoorbeeld de Google Web Accelerator ook urls met een ? overslaat wil niet zeggen dat anderen dat ook doen.

Daarnaast is volgens de specs zo dat een GET request "SHOULD NOT have the significance of taking an action other than retrieval." Oké, geen MUST NOT, maar het is alsnog niet aan te raden, in mijn ogen.

[ Voor 9% gewijzigd door JHS op 24-04-2006 12:46 ]

DM!


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

marko77 schreef op maandag 24 april 2006 @ 12:40:
tenzij de betreffende pagina niet toegankelijk is voor bots e.d. (m.a.w. geen authorisatie) , iets wat best zou kunnen aangezien hij dingen wil deleten uit de database.
Alsof een gebruiker geen extension/tool kan hebben waarmee alle gelinkte pagina's ge-pre-fetched worden ;)

  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
Tsja, een site admin met veel rechten heeft ook verantwoordelijkheden lijkt me, dat is wel de bottom line.

Je kan wel fijn alles in posts gaan doen, maar als de gebruiker er niet naar handelt is het alsnog niet 'failsafe'.

Het hangt er altijd vanaf 'hoe' veilig iets moet zijn en in hoeverre het de moeite waard is om een systeem compleet dicht te timmeren.

Mijn rig


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 22-02 00:22

Janoz

Moderator Devschuur®

!litemod

Los van alle prefetch en spider tools. Als ik op een forum een plaatje plaats met als url iets als "manageuser.php?name=janoz&action=makeModerator" en daar vervolgens iemand met de betreffende rechten heen lok kun je zelf wel bedenken wat er gebeurt.

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


  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
dan zul je iig die url moeten weten, en als die publiek bekend is dan is een GET idd niet de manier.

Mijn rig


  • eatualive
  • Registratie: Juni 2005
  • Laatst online: 22-02 21:31
Dit intranet is voor 10 personen en is niet voor internet beschikbaar.
Het hoeft bijna niet dicht getimmert te worden, alleen kwa gebruiksinterface moet het zo simpel zijn dat elke leek ermee kan werken.

Ik kan neit per item een forum maken omdat ik gewoon alles uit mijn database haal en in een tabel zet. Ik kan dus geen vaste waardes erin zetten maar moet met een dynamische variabele werkendie snapt dat hij in een rij staat met een bepaalde ID. Dit doe ik aan de hand van de volgende code:

PHP:
1
 echo "<TD width=700><span class=style1>".$data1['omschrijving']."<TD width=110><span class=style1>".$data1['kabel_nr']."<TD width=100><span class=style1 ><input type=submit name=submit value='".$data1['ID']."' ><TR>";


Alleen wil ik dat deze submit butten wel weet dat hij deze value heeft maar op de knop zelf DELETE weergeeft.

[ Voor 47% gewijzigd door eatualive op 24-04-2006 13:14 ]


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

eatualive schreef op maandag 24 april 2006 @ 13:11:
Dit intranet is voor 10 personen en is niet voor internet beschikbaar.
Het hoeft bijna niet dicht getimmert te worden, alleen kwa gebruiksinterface moet het zo simpel zijn dat elke leek ermee kan werken.
maar daarom kan het geen kwaad om gewoon goed en netjes te werk te gaan? wie weet, wellicht word je software later wat groter ingezet ;)



Wat is er mis met:
HTML:
1
2
3
4
5
6
7
8
<td width="700"><span class="style1"><?=$data['omschrijving']?></span></td>
<td width="110"><span class="style1"><?=$data['kabel_nr']?></span></td>
<td width="100"><span class="style1">
  <form action="blaat.php" method="post">
    <input type="hidden" name="id" value="<?=$data['ID']?>">
    <input type="submit" name="submit" value="Delete">
  </form>
</span></td>

[ Voor 44% gewijzigd door Erkens op 24-04-2006 13:26 ]


  • eatualive
  • Registratie: Juni 2005
  • Laatst online: 22-02 21:31
Erkens schreef op maandag 24 april 2006 @ 13:26:
[...]

maar daarom kan het geen kwaad om gewoon goed en netjes te werk te gaan? wie weet, wellicht word je software later wat groter ingezet ;)



Wat is er mis met:
HTML:
1
2
3
4
5
6
7
8
<td width="700"><span class="style1"><?=$data['omschrijving']?></span></td>
<td width="110"><span class="style1"><?=$data['kabel_nr']?></span></td>
<td width="100"><span class="style1">
  <form action="blaat.php" method="post">
    <input type="hidden" name="id" value="<?=$data['ID']?>">
    <input type="submit" name="submit" value="Delete">
  </form>
</span></td>
Als het werkte was er niks mee maar het probleem is met dit script wat mijn ook de beste oplossing leek is dat als ik verschillende rijen heb en dan ergens halverwege op een knop delete druk dan verwijderd hij neit de rij waarbij ik het heb aangeklikt maar hij verwijderd altijd de laatste rij.

  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
Als dat zo is dan zou ik eens je source nalopen.

Waarschijnlijk klopt de id dan niet.

Het is wel de mooiste manier imo, omdat je nog meer hidden values mee kan geven terwijl het toch overzichtelijk blijft.

Mijn rig


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 12:04

crisp

Devver

Pixelated

eatualive schreef op maandag 24 april 2006 @ 13:45:
[...]


Als het werkte was er niks mee maar het probleem is met dit script wat mijn ook de beste oplossing leek is dat als ik verschillende rijen heb en dan ergens halverwege op een knop delete druk dan verwijderd hij neit de rij waarbij ik het heb aangeklikt maar hij verwijderd altijd de laatste rij.
Dan klopt waarschijnlijk je HTML gewoon niet ;)

Intentionally left blank


  • eatualive
  • Registratie: Juni 2005
  • Laatst online: 22-02 21:31
hoe kan het dan dat het wel met de submit werkt? dan pakt hij wel het goede id maar niet met de hidden.

Hier mijn complete source mischien zie je iets wat ik fout doe, maar naar mijn weten kan ik niks vinden:

PHP:
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?
//Database connectie
include "connection.php";

if(!isset($_POST['id']))
{

  $query1 = "SELECT * FROM kabels WHERE merk='Siemens' ORDER BY sort ASC";
  $result1 = mysql_query($query1)or die("Fout in query1: $query1".mysql_error());


//siemens kabels

echo "<table border=0 width=700>";
echo "<form id=form name=form method=post >";
echo "<TD bgcolor=#00CCCC><B><span class=style1 bgcolor=#00CCCC>Omschrijving</B><TD bgcolor=#00CCCC><B><span class=style1>Kabel Nr.</B><TD bgcolor=#00CCCC><B><span class=style1 bgcolor=#00CCCC>EDIT/DELETE<TD><TR>";
echo "<TD><TD><TD><TR>";
echo "<TD><span class=style2>Siemens<TD><TD><TR>";
if(mysql_num_rows($result1) > 0)
 {
 while($data1 = mysql_fetch_assoc($result1))
  {
  echo "<TD width=700><span class=style1>".$data1['omschrijving']."<TD width=110><span class=style1>".$data1['kabel_nr']."<TD width=100><span class=style1 ><input type=hidden name=id value='".$data1['ID']."'>"; ?> <input type=submit name=submit value=DELETE style="color:#000000; font-family:verdana; font-weight:none; font-size:8px;"><TR> <?
  }
 }
else
 {
 echo "<B>Er zijn geen siemens kabels.</B>";
 } 
echo "</table><BR>";
  
echo "</form>";

 }
 else
  {
  $query = "DELETE FROM kabels WHERE ID='".$_POST['id']."'";
  $result = mysql_query($query) or die("Fout in query: $query".mysql_error($query));
  echo "<B>Kabels verwijdert</B>";
  echo "<META HTTP-EQUIV=Refresh CONTENT=2; URL=javascript:history.back()>";
  }

?>
<BR><BR>
<table border=0 width=700>
<TD>
<TR>
</table>
     </tr>
   </table>
  </body>
</html>

[ Voor 82% gewijzigd door eatualive op 24-04-2006 14:20 ]


  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 04-01 15:49

JHS

Splitting the thaum.

eatualive schreef op maandag 24 april 2006 @ 13:45:
[...] Als het werkte was er niks mee maar het probleem is met dit script wat mijn ook de beste oplossing leek is dat als ik verschillende rijen heb en dan ergens halverwege op een knop delete druk dan verwijderd hij neit de rij waarbij ik het heb aangeklikt maar hij verwijderd altijd de laatste rij.
Je kan toch voor íéder record een tr maken, met in de laatste td een form :? . Die zal dan ook alleen zijn eigen ID meenemen, en dus alleen dát ID verwijderen. Je loopt over je recordset heen, en bij iedere loop laat je de code die * Erkens hierboven gaf uitvoeren. Ik zie het probleem eerlijkgezegd niet :) .

Waarom denk je dat alleen de laatste rij verwijderd zou worden?

[ Voor 36% gewijzigd door JHS op 24-04-2006 13:53 ]

DM!


  • eatualive
  • Registratie: Juni 2005
  • Laatst online: 22-02 21:31
JHS schreef op maandag 24 april 2006 @ 13:52:
Je kan toch voor íéder record een tr maken, met in de laatste td een form :? . Die zal dan ook alleen zijn eigen ID meenemen, en dus alleen dát ID verwijderen. Je loopt over je recordset heen, en bij iedere loop laat je de code die * Erkens hierboven gaf uitvoeren. Ik zie het probleem eerlijkgezegd niet :) .

Waarom denk je dat alleen de laatste rij verwijderd zou worden?
Omdat ik dit getest heb, zie mijn totale source code 1 post terug mischien zie ik iets over het hoofd.

  • eatualive
  • Registratie: Juni 2005
  • Laatst online: 22-02 21:31
Iemand nog ideeen?

Lag het form er net uit?
Modbreak:Gelieve je topic niet binnen 24 uur te kicken :/

[ Voor 44% gewijzigd door André op 24-04-2006 23:05 ]


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

je hebt je form om je hele tabel staan ipv per rij (of cel) zoals ik deed :)

  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 11:30

Gonadan

Admin Beeld & Geluid, Harde Waren
De server was even traag ja. :)


Volgens mij heeft minstens de helft van de posters in je topic aangegeven dat je het best voor elke record in je tabel een formpje kunt maken, daar hang je dan de ID in aan bijvoorbeeld een hidden tag, en zo heeft elke record zijn eigen submit button.

Waarom probeer je dat niet gewoon even? :?

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • eatualive
  • Registratie: Juni 2005
  • Laatst online: 22-02 21:31
Erkens schreef op maandag 24 april 2006 @ 14:46:
je hebt je form om je hele tabel staan ipv per rij (of cel) zoals ik deed :)
verrekt nu werkt hij wel nu dat ik hem per cel zet, vaag dat hij bij submit wel werkte.
alleen verpest hij wel mijn layout :S maar hoofd probleem opglost

bedankt mensen.

let niet op mijn programmeren, het gaat erom dat ik snap wat ik bedoelt :P

[ Voor 52% gewijzigd door eatualive op 24-04-2006 14:53 ]


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

eatualive schreef op maandag 24 april 2006 @ 14:48:
dit maakt niks uit want een form met submit button doet het wel zo alleen met hidden niet.
Ik zal nog 1x proberen om het per rij te doen. maar ik verwacht niet dat het daardoor gaat werken.
misschien moet je er eerst eens voor zorgen dat je goede HTML maakt, want ik snap niet dat een browser van die brakke zooi van jou iets goeds kan maken :X

  • posttoast
  • Registratie: April 2000
  • Nu online
Interessant verhaal dit, ik werkte ook altijd met $_GET om bijvoorbeeld records te verwijderen, en ik snap nu dat dat niet zo slim is.

Als ik het goed begrijp is het niet slim om als form action: "?action=opslaan" te doen en dan een hidden input met een id. Je kunt dus beter een hidden input maken met de action erin, zodat je je opslaan function aanroept als $_POST['action'] == opslaan.

Ik vraag me nu allleen één ding af: ik heb nu soms een form met een Opslaan en een Verwijderen button. Als de verwijderen-button wordt ingedrukt laat ik hem nu met javascript de action van het form veranderen van ?action=opslaan naar ?action=verwijderen. Echter: dit kan nu niet meer. Moet ik dan een apart form (in een form) maken voor het verwijderen?

Volgen jullie een beetje wat ik bedoel?

omniscale.nl


  • X-Rey
  • Registratie: April 2002
  • Laatst online: 08-01 20:43
waarom nog een aparte knop? Maak gewoon een vinkje die je aanvinkt als het record moet worden verwijderd en gebruik gewoon de knop opslaan, dan kijk je daarna of het vinkje aan was, zo ja => delete, zo nee => doe dat andere

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 12:04

crisp

Devver

Pixelated

Of als alternatief:
HTML:
1
2
<input type="submit" name="opslaan" value="Opslaan">
<input type="submit" name="verwijderen" value="Verwijderen">

PHP:
1
2
3
4
5
6
7
8
if (isset($_POST['verwijderen']))
{
  // verwijderen
}
else
{
  // opslaan
}

1 note though: een submit via de enter-toets of dmv javascript stuurt niet de name/value van de primaire submitbutton mee - hence test ik ook niet expliciet of $_POST['opslaan'] geset is. Ik ga ervan uit dat als $_POST['verwijderen'] niet geset is - vanuit de kennis dat dat niet de primaire submitbutton is - de primaire aktie (opslaan) uitgevoerd moet worden.

Intentionally left blank


  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 12-12-2025
Mijn god wat is die broncode een zooi zeg!

Overigens kun je voorkomen dat je form je pagina uit elkaar drukt door dit stukje style toe te voegen:
HTML:
1
<form ... style="margin:0; padding:0; display: inline;">

[ Voor 7% gewijzigd door Alex) op 27-04-2006 22:47 ]

We are shaping the future


  • posttoast
  • Registratie: April 2000
  • Nu online
X-Rey schreef op donderdag 27 april 2006 @ 22:26:
waarom nog een aparte knop? Maak gewoon een vinkje die je aanvinkt als het record moet worden verwijderd en gebruik gewoon de knop opslaan, dan kijk je daarna of het vinkje aan was, zo ja => delete, zo nee => doe dat andere
Dat is qua programmeren natuurlijk een heel chique oplossing, maar ik vind het wat usability betreft niet zo netjes. Opslaan en Verwijderen zijn wat mij betreft twee tegengestelde handelingen, dus dan vind het nogal onlogisch om eerst verwijderen aan te vinken en dan op opslaan te klikken. Maar wel bedankt voor de suggestie :)
crisp schreef op donderdag 27 april 2006 @ 22:38:
Of als alternatief:
HTML:
1
2
<input type="submit" name="opslaan" value="Opslaan">
<input type="submit" name="verwijderen" value="Verwijderen">

PHP:
1
2
3
4
5
6
7
8
if (isset($_POST['verwijderen']))
{
  // verwijderen
}
else
{
  // opslaan
}

1 note though: een submit via de enter-toets of dmv javascript stuurt niet de name/value van de primaire submitbutton mee - hence test ik ook niet expliciet of $_POST['opslaan'] geset is. Ik ga ervan uit dat als $_POST['verwijderen'] niet geset is - vanuit de kennis dat dat niet de primaire submitbutton is - de primaire aktie (opslaan) uitgevoerd moet worden.
Dit klinkt goed, ik had er helemaal niet bij nagedacht dat je ook de waarde van de button zelf kunt gebruiken.

Ik denk dat we een winnaar hebben ;) Bedankt!

omniscale.nl


  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
Dat is qua programmeren natuurlijk een heel chique oplossing, maar ik vind het wat usability betreft niet zo netjes. Opslaan en Verwijderen zijn wat mij betreft twee tegengestelde handelingen, dus dan vind het nogal onlogisch om eerst verwijderen aan te vinken en dan op opslaan te klikken. Maar wel bedankt voor de suggestie
Dan zet je toch twee knoppen, "opslaan" en "verwijderen" ?

March of the Eagles


  • posttoast
  • Registratie: April 2000
  • Nu online
Hacku schreef op vrijdag 28 april 2006 @ 12:16:
[...]


Dan zet je toch twee knoppen, "opslaan" en "verwijderen" ?
Ja, dat is ook ongeveer wat ik zeg :)

edit:
of wacht, je bedoelt dat er én een vinkje gezet moet worden én op verwijderen geklikt moet worden? Dat vind ik niet zo handig eigenlijk.

[ Voor 30% gewijzigd door posttoast op 28-04-2006 13:09 ]

omniscale.nl


  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
Ja. Vind ik eigenlijk wel handig. Als ik 20 records wil verwijderen hoef ik ze maar aan te vinken en 1 maal op verwijderen te klikken. Nuja, dat is meer een persoonlijke smaak. Je kan het ook zo maken dat het record direct verwijderd wordt wanneer je de checkbox aanvinkt. Mogelijkheden genoeg.

March of the Eagles


  • posttoast
  • Registratie: April 2000
  • Nu online
Hacku schreef op vrijdag 28 april 2006 @ 13:38:
Ja. Vind ik eigenlijk wel handig. Als ik 20 records wil verwijderen hoef ik ze maar aan te vinken en 1 maal op verwijderen te klikken. Nuja, dat is meer een persoonlijke smaak. Je kan het ook zo maken dat het record direct verwijderd wordt wanneer je de checkbox aanvinkt. Mogelijkheden genoeg.
OK, op die fiets. Ik heb het namelijk niet over een overzicht, maar over een "bewerk" scherm (met dus een opslaan en verwijder button). Er wordt dan maar één record getoond. In het scenario dat jij beschrijft is het inderdaad wel handig.

omniscale.nl

Pagina: 1