Simpele Delete methode

Door Eris -, 20 jaar geleden, 3.939x bekeken

Door alle te verwijderen rijen in een 1 array samen te proppen kun je makkelijk controleren welke je moet verwijderen.
Omdat je niet weet of er een tussen ruimte tussen zit implode je de array eerst waarna je hem meteen explode. Dit zal een array weer geven met alleen "volle" velden na elkaar. Hier laat je een for loop met een !empty controle op los.

De sql codes moeten worden aangepast.

Idee is komt inderdaad uit phpmyadmin maar heb alles zelf geschreven :)

De voorbeeld is een niet werkende voorbeeld!!! Maar geeft wel een idee

Zat een klein foutje in (aangespast)

Gesponsorde koppelingen

PHP script bestanden

  1. simpele-delete-methode

 

Er zijn 12 reacties op 'Simpele delete methode'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Bas Kreleger
Bas Kreleger
20 jaar geleden
 
0 +1 -0 -1
Ziet er goed uit!! Ik ga het zo ff proberen.. Handig om de users die hun account niet hebben geactiveerd te verwijderen.. in mijn geval moet ik dan dus kijken of een veld 'wel' vol is.. maar mooi script :)
Eris -
Eris -
20 jaar geleden
 
0 +1 -0 -1
Ik zal zo even een demo online gooien (alleen kan je dan niet wissen :))
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
Goed voor een pm systeeem als je meerdere berichten wilt verwijderen !!
Eris -
Eris -
20 jaar geleden
 
0 +1 -0 -1
Klopt ;)
Steff   an
Steff an
20 jaar geleden
 
0 +1 -0 -1
hoe kan ik dan zoiets als alles selecteren doen
Eris -
Eris -
20 jaar geleden
 
0 +1 -0 -1
Javascript ;)
Olaf Lederer
Olaf Lederer
20 jaar geleden
 
0 +1 -0 -1
hier heb je een van de scripts die op internet te vinden zijn:
http://js-x.com/javascript/?view=464
Vincent elschot
vincent elschot
20 jaar geleden
 
0 +1 -0 -1
paar foutjes:

- empty() mag je hier niet voor gebruiken, want empty() is ook waar als het id gelijk is aan 0, dus je kunt geen records weghalen als het id gelijk is aan nul.

- je geeft een key mee aan de de array in html. Waarom? Het enige wat je wil weten is de waarde die is aangevinkt. Waar die stond is niet van belang want dat gebruik je nergens.

- Je gebruikt implde en explode om te zorgen dat er alleen getallen in komen, maar dit haalt niets uit want een array mag ook strings bevatten dus eventuele spaties blijven gewoon bestaan.

- je controlert niet of er echt alleen getallen in de waardes staan. Hiermee wordt je script gevoelig voor SQL-injectie

- Je controleert niet of de query wel is uitgevoerd (terwijl je wel $out opvangt?)

Verder kun je in SQL ook het IN statement gebruiken om een serie getallen met komma's er tussen te gebruiken om te bepalen welke id's moeten worden gewist:

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
<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
{

  // Bestaat het id veld in de POST data?
  if (isset($_POST['id']))
  {

    foreach($_POST['id'] as $iID)
    {

      $sQuery = "DELETE FROM tabel WHERE kolom = IN (".implode(',', $_POST['id'].")";
      if (!mysql_query($sQuery))
      {

        echo 'Query mislukt:'.$sQuery.'<BR>'.mysql_error();
      }
    }
  }

  else
  {
    echo "Geen ID's meegegeven";
  }
}

else
{
  $sql = "SELECT id FROM tabel ORDER BY kolom";
  //sql code om de gegevens op te halen
  $query = mysql_query($sql);
  //sql code uitvoeren
  echo "<form action='scriptnaam.php' method='post'>";

  while($aRow = mysql_fetch_assoc($query))
  {

    echo "<input type='checkbox' name='id[]' value='".$aRow['id']."'/>".$aRow['id']."<br>";
  }

  echo "<input type='submit' value='verzenden'></form>";
}

?>


19 jaar geleden
 
0 +1 -0 -1
Heb een andere Simpele Delete Methode
om Berichten voor bijv. een Forum te Verwijderen..

Weet niet zeker of er nog foutjes in zitten maar ik dacht het nie!

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
<?php
// Berichten verwijderen via Checkbox (Simpel Script)
// (c) 2002 - 2005 Downloads4life.tk
// Designed by: Smokeymcpot


include ("connect.php");
if ($actie){
foreach($_POST['delete'] as $val){
$query = "DELETE FROM 'table' WHERE ID='".$val."'";
mysql_query($query) or die(mysql_error());
}

echo "Bericht(en) zijn Verwijderd..<br>Klik <a href=\"checkbox.php\">Hier!</a> om terug te gaan..";
}
else{
$query = "SELECT * FROM 'table' ORDER BY ID ASC";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_assoc($result);
if ($row['kolomnaam'] == ""){
echo "Geen Berichten in de Inbox";
}
else{
$query = "SELECT * FROM 'table' ORDER BY ID ASC";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_assoc($result);
?>

<form method="post" action="checkbox.php">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php do{ ?>

<input type="checkbox" name="delete[]" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $row['ID']; ?>
">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $row['kolomnaam']; ?>
<br>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php } while ($row = mysql_fetch_assoc($result)); ?>

<input type="submit" name="actie" value="verwijderen">
</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
}
}

?>
Dhr. Zwartjes
Dhr. Zwartjes
18 jaar geleden
 
0 +1 -0 -1
ik ben niet zo goed in dit alles... :(

Wie kan dit script zodanig aanpassen, dat hij werkt met deze database?:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$dbh
=mysql_connect("localhost","video","****");
$db="videolink";
if ($_GET[in] ==! ""){
$res=mysql_db_query("$db","select linkin from links WHERE linkscode ='$_GET[in]';",$dbh);
    $row=mysql_fetch_row($res);
$in ="$row[0]";
$in++;
mysql_db_query("$db","update links set linkin='$in' where linkscode ='$_GET[in]';",$dbh);
}

?>


Groetjes,
Tommy.
Sam
sam
17 jaar geleden
 
0 +1 -0 -1
hoi,

ik heb gezien in de bovenstaande scriptjes dat je values uit een table van een database kunt verwijderen.

is het mogelijk om een hele tabel uit een database te verwijderen doormiddel van php?
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Niek Kasius
Niek Kasius
16 jaar geleden
 
0 +1 -0 -1
kan dat ook zonder mysql! ik zit mameleijk aan mijn limiet met mysql

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. simpele-delete-methode

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

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.