verwijder geselecteerde uit database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Michaelk

michaelk

02/07/2006 16:49:00
Quote Anchor link
Ik heb een probleempje ik ben al dagen bezig geweest om te zoeken naar verschillende scripts
om het volgende te kunnen:
een geselecteerde naam verwijderen uit database

hier een screenshot wat ik bedoel:
http://www.michaelk.speedxs.nl/help/1.JPG

Ik heb het wel voor mekaar gekregen door op de delete knop te duwen dat die wat verwijderd maar hij verwijderd de laatste letter van het alfabet


ik kan selecteren maar hij verwijderd niks als ik op delete duuw

alvast bedankt wie mij een beetje kan bij sturen

grtz

Dit is mijn 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
<?php
# Programma: kachelmerkverwijder.php
# verwijderd van database

?>

<html>
<title>Verwijder kachel merk van lijst</title></head>
<body>
<?php
// verbinding maken
  include("logmisc.inc");
  $connection = mysql_connect($host,$user,$password)
       or die ("kan geen verbinding maken met server");
  $db = mysql_select_db($database,$connection)
       or die ("kan geen database selecteren");

    
  /* laat merken zien in alfabetishe volgorde*/
  $query="SELECT kachelmerkid FROM kachelmerk ORDER BY kachelmerkid";
  $result = mysql_query($query)
     or die ("kan geen query verkrijgen");

  # Uitleg wat het doet
  echo "Kachel merken die al in database bestand staan:";
#################################################

  $id = $kachelmerkid;
  echo "<form action='kachelmerkverwijder.php' method='DELETE'>
    <select name='$kachelmerkid'>"
;

  while ($row = mysql_fetch_array($result))
  {

     extract($row);
     echo "<option value='kachelmerkid'>$kachelmerkid";
  }
    
  
   {

      $this->id = $kachelmerkid;
      $verwijderQuery = "DELETE FROM kachelmerkid WHERE kachelmerk='".$this->id."'";
      mysql_query($verwijderQuery);

  echo "<input type='submit' value='Verwijder Kachel merk'>
    </form>\n"
;
      return true;
   }
      


?>



</body>
</html>


Edit:
Code tags toegevoegd
Gewijzigd op 01/01/1970 01:00:00 door Michaelk
 
PHP hulp

PHP hulp

17/11/2024 08:35:28
 
Bo az

Bo az

02/07/2006 17:11:00
Quote Anchor link
Je doet niks aan fout afhandeling, dit is zeker tijdens het ontwikkelen belangrijk, dan kan je zie wat er waar fout gaat.

Om te beginnen moet je error_reporting(E_ALL); boven je script zetten en neem deze tutorial eens door:
http://www.phphulp.nl/php/tutorials/3/306/
Jy krijgt momenteel namelijk geen enkele MySQL foutmelding te zien.
Gewijzigd op 01/01/1970 01:00:00 door Bo az
 
Michaelk

michaelk

02/07/2006 17:52:00
Quote Anchor link
Bedankt ik heb het toegevoegt en de fouter en uit gehaald hij doet het al verder hij verwijderd nu
weer de laatste in de alfabet


maar op dit stukje doet di ehet niet goed

$verwijderQuery = "DELETE FROM kachelmerk WHERE kachelmerkid='".$this->id."'";


als ik $this->id."'"; ' verander in $this->id."A";

dan krijg ik in de error te zien

have an error in SQL syntax ..... near "(laatstewoord in aflabed)A' at line 1

dus als de laatste letter bv Q is geeft die deze melding

...... "QA" at line 1
Gewijzigd op 01/01/1970 01:00:00 door michaelk
 
Bo az

Bo az

02/07/2006 18:01:00
Quote Anchor link
Letters moetten wel tussen quotes.
 
Michaelk

michaelk

02/07/2006 21:10:00
Quote Anchor link
dat heb ik toch ..?

WHERE kachelmerk='".$this->id."'";

grtz
 
Andries Louw Wolthuizen

Andries Louw Wolthuizen

02/07/2006 22:53:00
Quote Anchor link
Zo misschien?
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
<html>
<title>Verwijder kachel merk van lijst</title></head>
<body>
<?php
  include("logmisc.inc");
  $connection = mysql_connect($host,$user,$password)
       or die ("kan geen verbinding maken met server");
  $db = mysql_select_db($database,$connection)
       or die ("kan geen database selecteren");

if(!empty($_POST['deleteid'])){
      $verwijderQuery = "DELETE FROM kachelmerkid WHERE kachelmerk='".$_POST['deleteid']."'";
      mysql_query($verwijderQuery);
}


  $query="SELECT kachelmerkid FROM kachelmerk ORDER BY kachelmerkid";
  $result = mysql_query($query)
     or die ("kan geen query verkrijgen");
  
echo "Kachel merken die al in database bestand staan:";

echo "<form action='kachelmerkverwijder.php' method='POST'><select name='deleteid'>";
 while ($row = mysql_fetch_array($result))
  {

     echo "<option value='".$row['kachelmerkid']."'>".$row['kachelmerkid']."</option>";
  }


  echo "</select><input type='submit' value='Verwijder Kachel merk'>
    </form>\n"
;  


?>



</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Andries Louw Wolthuizen
 
Hipska BE

Hipska BE

02/07/2006 23:02:00
Quote Anchor link
ja lol,

dit is heel logisch in je while lus zit er telkens een nieuwe $kachelmerkid en is die op het einde altijd de laatste in je alfabet

dus moet je $this->id niet setten met $kachelmerkid maar zou het handig zijn moest je kijken welke id je gekozen hebt in je form!!

dus: $this->id = $_POST['kachelmerkid'];
 
Hipska BE

Hipska BE

03/07/2006 11:42:00
Quote Anchor link
werkt het nu?
 
Arjan Kapteijn

Arjan Kapteijn

03/07/2006 11:50:00
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
{

    if(!empty($_POST['delete']))
    {

        $i = 0;
        $ii = 0;
        
        foreach($_POST['delete'] as $id)
        {

            $query = "DELETE FROM kachelmerkid WHERE kachelmerk =".mysql_real_escape_string($id)."";
            $resultaat = mysql_query($query);
                        
            if($resultaat && (mysql_affected_rows() == 1))
            {

                $i++;
            }
else{
                $ii++;
            }
        }

        
        echo '<p id="error">De database is geupdate, er zijn '.$i.' records goed verwijderd en '.$ii.' mislukt!</p>';
    }
}


$query         = "SELECT kachelmerkid FROM kachelmerk ORDER BY kachelmerkid";
$resultaat     = mysql_query($query);
                
if ($resultaat && (mysql_num_rows($resultaat) >= 1))
{

?>


<form method="post" name="formulier" action="">

<table>
<tr>    
<td width="10"></td>
<td><b>Klachelmerkid:</b></td>
</tr>

<?php
while($rij = mysql_fetch_array($resultaat))
{

    echo '<tr>';
    echo '<td><input type="checkbox" name="delete[]" value="'.$rij['kachelmerkid'].'"></td>';
    echo '<td>'.$rij['kachelmerkid'].'</td>';
    echo '</tr>';
}

?>


<tr>
<td>&nbsp;</td>
<td colspan="4"><input type="submit" value="Verwijderen" name="verstuur"> <input type="reset" value="Wis Formulier"></td>
</tr>
</table>
</form>

<?php
    
}else{
    echo '<p>Sorry, er staan nog geen kachels in de database!</p>';
}

?>
 
Michaelk

michaelk

03/07/2006 17:31:00
Quote Anchor link
Bedankt u allen het is gelukt met de script van arjan er zaten alleen 2 dingen in die ik moest veranderen
maar nu doet die het

$query = "DELETE FROM kachelmerk WHERE kachelmerkid ='$id'";

zo moest die regel zijn voor mij

thnx
 
Arjan Kapteijn

Arjan Kapteijn

03/07/2006 17:41:00
Quote Anchor link
Eehm.. het lijkt mij onverstandig om die mysql_real_escape_string() weg te halen... Gebruik dan op ze minst een if_numeric() ofzo...
 



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.