rij verwijderen uit de database vanuit de website

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Krist Ensing

Krist Ensing

29/03/2013 09:54:34
Quote Anchor link
Het lukt me niet om met een druk op de knop een SQL opdracht te activeren met als doel een rij gegevens te verwijderen uit een sql tabel. Ik heb het al geprobeerd mbv een formulier waar ik als action de sql code heb toegevoegd (tssen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php en ?>


Nu heb ik het met een link geprobeerd (onderaan het volgende 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
<?php
    
    // Leg verbinding met de database server, niet de database
    $db = mysql_connect("localhost", "root");
    // Kies de juiste database
    mysql_selectdb("gastdocent", $db);
    
    // Vuur de vraag af op de database (SQL opdracht of Query)
    $strSQL = "select Datum, Status, Eventnr, Omschrijving " .
              "from tblOmschrijving as o " .
              "inner join tblAgenda as a " .
              "on o.Omschrijvingnr = a.Omschrijvingnr " .
              "order by Datum";

    $rs = mysql_query($strSQL, $db);
    if (!$rs)    
        die("agenda.php: de SQL opdracht is fout<br>" . $strSQL);
    
    // Haal alle records 1 voor 1 op zolang er records zijn
    while ($r = mysql_fetch_array($rs))
    {

        // Hierna bevat de array $r alle individuele
        // velden/kolommen van 1 record

        
    ?>

<tr>
<td width="14" height="1" >
<a href="agenda.php" onclick= "
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php "DELETE FROM `tblagenda` WHERE `Eventnr` = ($r["Eventnr"])"; ?>
"><img border="0" src="images/x.gif" border="0" bgcolor="#FFCC66" width="13" height="13" >
</a>

Wie kan me helpen?
Gewijzigd op 29/03/2013 10:04:50 door Krist Ensing
 
PHP hulp

PHP hulp

15/05/2024 19:49:21
 
- Ariën  -
Beheerder

- Ariën -

29/03/2013 10:11:34
Quote Anchor link
Je weet dat HTML en PHP los van elkaar staan? Het wordt direct uitgevoerd bij het laden van de pagina, en niet dynamisch na een HTML-event zoals onClick.

Je zult een $_GET actie moeten opvragen, als men op de verwijder-link klikt.
Deze linkt dan naar:
"agenda.php?actie=verwijder&id=".$r["Eventnr"]."

Een opzetje van de pagina:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if(isset($_GET['actie'])) {
  if($_GET['actie'] == "bewerk") {
   // toon hier de gegevens van je evenement om te bewerken
  } elseif($_GET['actie'] == "verwijder") {
   // plaats hier de verwijder-query, en voer deze uit met mysqli_query(), en zorg voor foutafhandeling. Ook een controle met isset en mysqli_num_rows of het ID ingevuld is en bestaat is wel zeer handig.
  } else {
   // ongeldige actie...
  }
}
else {
  // Toon hier je overzicht van alle evenementen
}
?>


Verder gebruik ik de functies uit mysqli omdat mysql over een paar jaar ter ziele is. Dan is mysqli een goede vervanger hiervoor.
Gewijzigd op 29/03/2013 10:13:43 door - Ariën -
 
Krist Ensing

Krist Ensing

29/03/2013 12:41:52
Quote Anchor link
Ik begrijp niet helemaal wat er op de plekken van 'actie' en "bewerk" moet komen. Op de plek van verijder komt dan neem ik aan de code "agenda.php?actie=verwijder&id=".$r["Eventnr"].".

En hoe vang ik die $_GET actie dan op?

Het spijt me, ik ben een echte beginneling, maar je zou me heel erg helpen met een antwoord.
 
- Ariën  -
Beheerder

- Ariën -

29/03/2013 12:47:35
Quote Anchor link
Op de plekken van de gele commentaar-lijnen moet je dan de queries uitvoeren.

Maar ik weet zeker dat wat je nu wilt veels te hoog gegrepen is voor je.
Begin liever bij het begin van PHP, en laat het hele SQL gedeelte even met rust, totdat je de basis onder de knie hebt.

Dus begin eerst hier: http://www.phptuts.nl/view/39/, speel en oefen ermee, en probeer wat uit. En zodra je dit onder de knie hebt (een weekje/paar weken flink oefenen en proberen) dan kan je wel aan mysql beginnen.
Gewijzigd op 29/03/2013 12:50:21 door - Ariën -
 
Krist Ensing

Krist Ensing

29/03/2013 14:23:54
Quote Anchor link
Bedankt voor je advies. Ik zou het echter echt waarderen als je me een antwoord zou kunnen geven, aangezien ik dit nu echt nodig heb, dus het zou echt geweldig zijn als je mijn onderstaande vragen beantwoord:


Dus welk soort query's moeten er waar komen en hoe vang ik die $_GET actie dan op in een link?

Het is huiswerk voor een praktijkcursus php waar ik niet uitkom.
 
- Ariën  -
Beheerder

- Ariën -

29/03/2013 15:44:55
Quote Anchor link
Hoe je die $_GET opvangt heb ik al uitgelegd, zie daarvoor het stukje script die ik gaf. De gele commentaarblokken dien je aan te passen.

En hoe de query's eruit zien (uitvoeren met mysqli_query():
Invoegen: INSERT INTO tabelnaam (dit,dat,zus,zo) VALUES('ik ben dit','ik ben dat','ik ben zus','ik ben zo')
Aanpassen: UPDATE tabelnaam SET dit = 'iets' WHERE id = '42'
Verwijderen: DELETE FROM tabelnaam WHERE id= '42'
Ophalen: SELECT dit, dat, zus,zo FROM tabelnaam WHERE dit='iets' (vergeet niet te fetchen in je mysqli_fetch_assoc)

Ik kan natuurlijk ook dingen volledig voorkauwen, maar dan wil ik wel even het telefoonnummer hebben van je leraar ;-)
Gewijzigd op 29/03/2013 15:55:03 door - Ariën -
 
Krist Ensing

Krist Ensing

29/03/2013 15:53:44
Quote Anchor link
Je bent geweldig. Nu nog hopen dat je er ook nog eens zo uitziet als op je avatar :)
 
- Ariën  -
Beheerder

- Ariën -

29/03/2013 15:56:31
Quote Anchor link
Dat niet, maar ik kan je wel aanraden om naar de serie '24' te kijken, als je Elisha Cuthbert werkelijk leuk vindt. ;-)
 
Krist Ensing

Krist Ensing

29/03/2013 15:58:21
Quote Anchor link
Nu even niet, want dan hou ik geen tijd over om php echt goed te leren.. , maar ik zal het onthouden.
 
Erwin H

Erwin H

29/03/2013 16:14:52
Quote Anchor link
- Aar - op 29/03/2013 15:56:31:
Dat niet, maar ik kan je wel aanraden om naar de serie '24' te kijken, als je Elisha Cuthbert werkelijk leuk vindt. ;-)

Ahhhhh, het is Kim B. Weer een nog openstaande vraag beantwoord :-)
 



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.