delete data of table on image click

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 3 volgende »

- Rob -

- Rob -

28/11/2016 19:29:35
Quote Anchor link
Hallo PHP hulp! Ik heb een vraag: Hoe kan ik ervoor zorgen dat als ik op een plaatje druk dat die de data verwijderd van dat id. Hieronder screens met wat duidelijkere uitleg.

Afbeelding
Dat is hoe de pagina eruit ziet, en als je op dat kruisje drukt, moet de data van die rij worden verwijderd. Maar dat is moeilijker door dit (denk ik):
Afbeelding
Je kan hier geen form doen, zodat die de data kan met method"POST" of method "GET" kan gebruiken. Enige ideeën hoe ik kan zorgen dat als je op dat plaatje drukt dat de data verwijderd wordt met een SQL met het id wat daar links staat bij 'id'.

Mvg,
Rob
Gewijzigd op 28/11/2016 19:33:02 door - Rob -
 
PHP hulp

PHP hulp

26/04/2024 18:23:38
 
- Ariën  -
Beheerder

- Ariën -

28/11/2016 19:32:35
Quote Anchor link
Je wil dus zodra je op het kruisje drukt dat:
- Item verwijderd wordt
- Het item in de HTML ook direct verdwijnt?

In dat geval kan je prima met jQuery en AJAX werken:
http://papermashup.com/jquery-ajax-delete/
 
- Rob -

- Rob -

28/11/2016 19:40:05
Quote Anchor link
Als het item wordt verwijderd, wordt html ook direct verwijderd. Dat heb ik met php gemaakt, hij selecteert alle data en zet ze in een table en dan <th> en dan <td>. En daar kan ik niet zo goed mee werken :C. Maar het met met een SQL worden verwijderd uit de database...
Gewijzigd op 28/11/2016 19:42:27 door - Rob -
 
- Ariën  -
Beheerder

- Ariën -

28/11/2016 19:54:40
Quote Anchor link
Zou je de code hier tussen code-tags kunnen delen, voordat de afbeelding eens verdwijnt?
 
- Rob -

- Rob -

28/11/2016 19:58:02
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
            <div class="box-body">
              <table id="example1" class="table table-bordered table-striped">
                <thead>
                <tr>
                  <th>ID</th>
                  <th>Gebruikersnaam</th>
                  <th>Promotag</th>
                  <th>Gegeven door</th>
                  <th>Gekregen op</th>
                  <th>Verwijder</th>
                </tr>
                </thead>
                <tbody></code>
                  <?php $result = mysqli_query($con,"SELECT * FROM paneel_promotags");
$i = 0;
while($row = $result->fetch_assoc())
{

    if ($i == 0) {
      $i++;
      echo "<tr>";
      foreach ($row as $key => $value) {
        echo "";
      }

      echo "</tr>";
    }

    echo "<tr>";
    $row['verwijder'] = '<img src="http://countrywidesucks.co.uk/images/tick-no.png" draggable="false" style="width: 15px; height: 15px;" border="0" />';
    foreach ($row as $value) {
      echo "<td>" . $value . "</td>";
    }

    echo "</tr>";
}

?>
      
</code>         <tfoot>
                <tr>
                  <th>ID</th>
                  <th>Gebruikersnaam</th>
                  <th>Promotag</th>
                  <th>Gegeven door</th>
                  <th>Gekregen op</th>
                  <th>Verwijder</th>
                </tr>
                </tfoot>
              </table>
            </div>


Toevoeging op 28/11/2016 19:58:29:

O ik zie dat die HTML niet meepakt, welke tags moet ik gebruiken daarvoor?
Gewijzigd op 28/11/2016 20:17:12 door - Rob -
 
- Ariën  -
Beheerder

- Ariën -

28/11/2016 20:12:46
Quote Anchor link
Blokhaken, geen vissenhaken ;)
Zie ook de Veelgestelde Vragen.
Gewijzigd op 28/11/2016 20:13:40 door - Ariën -
 
- Rob -

- Rob -

28/11/2016 20:17:46
Quote Anchor link
Bedankt! Ben benieuwd of het lukt met dat verwijderen als je op dat plaatje drukt :S
Gewijzigd op 28/11/2016 20:18:23 door - Rob -
 
- Ariën  -
Beheerder

- Ariën -

28/11/2016 20:20:08
Quote Anchor link
Maar je kan ook refreshen na een delete-actie. Dan is het element ook weg.

Of nog mooier, refresh-loos met AJAX waar ik al heen linkte.
 
- Rob -

- Rob -

28/11/2016 20:29:42
Quote Anchor link
Ja maar ik weet niet hoe ik het php kan inloaden en ook niet wat ik dan moet doen voor dat als je daarop drukt.. als je op die image drukt, dat het dan wordt verwijderd, dat dan pas de sql wordt uitgevoerd.
 
- Ariën  -
Beheerder

- Ariën -

28/11/2016 20:37:43
Quote Anchor link
Heb je de link al bekeken? Want daarin wordt alles uitgelegd.
 
- Rob -

- Rob -

28/11/2016 20:40:07
Quote Anchor link
Ja, maar dat is met niet met php. Er moet een SQL worden uitgevoerd nadat je op dat plaatje drukt. Ook snap ik er helemaal niks van.. Kan je me helpen met de code te maken ervoor, want ik snap niks van jQuery en Ajax ;C
Gewijzigd op 28/11/2016 20:44:20 door - Rob -
 
- Ariën  -
Beheerder

- Ariën -

28/11/2016 20:47:19
Quote Anchor link
Quote:
The variable ‘id’ is then set with the value of the delete button id which would could be the id of the row in the database that you want to delete. This is then posted to the page delete.php.

Met andere woorden: Er wordt dus delete.php aangeroepen, waarin je dan een DELETE-query uitvoert om je ID te verwijderen.
Gewijzigd op 28/11/2016 20:56:14 door - Ariën -
 
- Rob -

- Rob -

28/11/2016 20:54:46
Quote Anchor link
Okay, ik zal het proberen!
 
- Ariën  -
Beheerder

- Ariën -

28/11/2016 20:55:51
Quote Anchor link
Prima, we horen wel of het wel of niet lukt.
 
Mr Beronne

Mr Beronne

28/11/2016 21:23:51
Quote Anchor link
Ik zal het ongeveer zo doen, heb ik even snel gemaakt
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$row['verwijder'] = '<img class="remove" id="567" src="http://countrywidesucks.co.uk/images/tick-no.png" draggable="false" style="width: 15px; height: 15px;" border="0" />';


De img heeft nu een class die gebruikte wordt voor een click functie met jquery. Daarna heeft deze een id (567) gekregen, is id uit database. Nu kan je het volgende doen in jquery

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$(document).ready(function()){
   $('.remove').on('click', function()){
      // krijg element waarop je klikt met this
      var remove_id = $(this).attr('id');

      // ajax request
      $.ajax({
         url:"hier_script_die_delete_query doet",  
         type : 'POST',
         // Type data dat je terug verwacht van php script, in dit geval json
         dataType : "json",
         // stuur als post request param, die je kan gebruiken in je php script
         data : param : {id : remove_id },
         // callback function data (data is de response die je van php krijgt)
         success:function(data) {
            // hier heb je meerdere opties::
            // pagina refreshen
            // met jquery de row verwijderen
         }
      });
   });
}


Ik heb de code zo even uit me hoofd getypt kunnen foutjes in zitten, hoop dat je hier wat aan hebt.
 
- Rob -

- Rob -

28/11/2016 21:29:30
Quote Anchor link
Nope, werkt niet :C

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
// Script voor het verwijderen van promotag
$sql = "DELETE FROM paneel_promotags WHERE id='$id'";
                if (mysqli_query($con,$sql) === true) {
                header('Location: /paneel/admin/promotag/overzicht');

            }
else {
                
                }

?>



JavaScript
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
                <script type="text/javascript">
$(document).ready(function() {
$('').hide();
});

$(function() {
$(".delete").click(function() {
$('').fadeIn();
var commentContainer = $(this).parent();
var id = $(this).attr("id");
var string = 'id='+ id ;
    
$.ajax({
   type: "POST",
   url: "verwijderen.php",
   data: string,
   cache: false,
   success: function(){
    commentContainer.slideUp('slow', function() {$(this).remove();});
    $('').fadeOut();
  }
  
 });

return false;
    });
});




</script>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
53
54
55
<div class="box-body">
              <table id="example1" class="table table-bordered table-striped">
                <thead>
                <tr>
                  <th>ID</th>
                  <th>Gebruikersnaam</th>
                  <th>Promotag</th>
                  <th>Gegeven door</th>
                  <th>Gekregen op</th>
                  <?php
                    if($PaneelLevel['toegang_admin'] == 1){
                        echo '<th>Verwijder</th>';
                    }

                  ?>

                </tr>
                </thead>
                <tbody>
                  <?php $result = mysqli_query($con,"SELECT * FROM paneel_promotags");
$i = 0;
while($row = $result->fetch_assoc())
{

    if ($i == 0) {
      $i++;
      echo "<tr>";
      foreach ($row as $key => $value) {
        echo "";
      }

      echo "</tr>";
    }

    echo "<tr>";
    if($PaneelLevel['toegang_admin'] == 1){
        $row['verwijder'] = '<a id="'. $row['id'] .'" class="delete" href="#"><img src="http://countrywidesucks.co.uk/images/tick-no.png" draggable="false" style="width: 15px; height: 15px;" border="0" /></a>';
    }

    foreach ($row as $value) {
      echo "<td>" . $value . "</td>";
    }

    echo "</tr>";
}

?>
                <tfoot>
                <tr>
                  <th>ID</th>
                  <th>Gebruikersnaam</th>
                  <th>Promotag</th>
                  <th>Gegeven door</th>
                  <th>Gekregen op</th>
                  <?php
                    if($PaneelLevel['toegang_admin'] == 1){
                        echo '<th>Verwijder</th>';
                    }

                  ?>

                </tr>
                </tfoot>
              </table>
            </div>
          </div>



Toevoeging op 28/11/2016 21:33:50:

Mr Beronne op 28/11/2016 21:23:51:
Ik zal het ongeveer zo doen, heb ik even snel gemaakt
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$row['verwijder'] = '<img class="remove" id="567" src="http://countrywidesucks.co.uk/images/tick-no.png" draggable="false" style="width: 15px; height: 15px;" border="0" />';


De img heeft nu een class die gebruikte wordt voor een click functie met jquery. Daarna heeft deze een id (567) gekregen, is id uit database. Nu kan je het volgende doen in jquery

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$(document).ready(function()){
   $('.remove').on('click', function()){
      // krijg element waarop je klikt met this
      var remove_id = $(this).attr('id');

      // ajax request
      $.ajax({
         url:"hier_script_die_delete_query doet",  
         type : 'POST',
         // Type data dat je terug verwacht van php script, in dit geval json
         dataType : "json",
         // stuur als post request param, die je kan gebruiken in je php script
         data : param : {id : remove_id },
         // callback function data (data is de response die je van php krijgt)
         success:function(data) {
            // hier heb je meerdere opties::
            // pagina refreshen
            // met jquery de row verwijderen
         }
      });
   });
}


Ik heb de code zo even uit me hoofd getypt kunnen foutjes in zitten, hoop dat je hier wat aan hebt.


Als je op het plaatje drukt gebeurt er dus niks... Enig idee waarom?
 
- Ariën  -
Beheerder

- Ariën -

28/11/2016 21:38:13
Quote Anchor link
jQuery library wel ingeladen?
Hoe ziet je HTML in je browser eruit?
Gewijzigd op 28/11/2016 21:44:59 door - Ariën -
 
- Rob -

- Rob -

28/11/2016 21:47:23
Quote Anchor link
HTML ziet er gewoon uit zoals HTML> <quote>jQuery library wel ingeladen?</quote> Ik denk het niet
 
- Ariën  -
Beheerder

- Ariën -

28/11/2016 21:49:58
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
 
- Rob -

- Rob -

28/11/2016 21:51:00
Quote Anchor link
Ik heb voor elkaar gekregen dat hij ze delete, maar hij delete alleen alles en niet dat ene id?

Toevoeging op 28/11/2016 21:51:29:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if($PaneelLevel['toegang_admin'] == 1){
        $row['verwijder'] = '<form action="" method="POST"><button type="submit" name="submit" class="remove" id="'. $row['id'] .'"><img src="http://countrywidesucks.co.uk/images/tick-no.png" draggable="false" style="width: 15px; height: 15px;" border="0"></button></form>';
    }
    foreach ($row as $value) {
      echo "<td>" . $value . "</td>";
    }
    echo "</tr>";
            if(isset($_POST['submit'])){
            $sql = "DELETE FROM paneel_promotags WHERE id='". $row['id'] ."'";
                if (mysqli_query($con,$sql) === true) {
                echo '<meta http-equiv="refresh" content="0">';

            } else {
                
                }
 
- Ariën  -
Beheerder

- Ariën -

28/11/2016 21:53:25
Quote Anchor link
Dat deleten doe je uitsluitend in het scriptje wat je via AJAX inlaadt.
 

Pagina: 1 2 3 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.