# MySQL einträge editieren / löschen



## Alph4 (17. Januar 2005)

hi erstmal...ich hoffe mir kann wer helfen.

Also ich glaube diese frage ist schon mehrmals gefragt worden nur ich finde nicht das passte für mich das ich weiter komme also hier meine frage:

Ich schaff es jetzt das ich in meiner tb per formula werte eintragen kann nur ich bekomm es nicht hin das ich per formular die werte editieren bzw. löschen kann kann mir da wer helfen das wäre nett

schonmal danke an die die mir helfen

bye dft-killing


----------



## hpvw (17. Januar 2005)

Dazu gibt es in MySQL DELETE und UPDATE.
Je nach dem, welcher Eintrag gelöscht bzw. geändert werden soll, musst Du dem Skript den Primärschlüssel des Datensatzes übergeben und diesen in die WHERE-Klausel aufnehmen.

Gruß hpvw


----------



## Alph4 (17. Januar 2005)

könntest du mir ein beispiel geben wie das ausehen könnte wie das formular aussehen könnte? wäre cool danke


----------



## max (17. Januar 2005)

```
DELETE FROM `tabelle` WHERE `id`='1'
```
  Löscht aus der Datenbank den Datensatz in der Tabelle "tabelle" bei dem "id = 1" ist.


```
UPDATE `tabelle` SET `spalte`='Neuer Wert' WHERE `id`='1'
```
  Aktualisiert den Datensatz der Tabelle "tabelle" bei dem "id = 1" und trägt den neuen wert in die jeweilige Spalte ein.

http://at2.php.net/manual/de/ref.mysql.php


----------



## Alph4 (17. Januar 2005)

hm...so hab ich des eiegndlich net gemeint das ich dann dauernt die datei bearbeiten muss neu hochladen muss und ausführen muss...ich hab so gemeint das ich es dann per einem formular ändern kann


----------



## metty (17. Januar 2005)

Kurzer Denkanstoss. Du lässt dir alle Einträge auflisten, neben jeden eintrag machst du einen editieren Link, der die ID mit übergibt. Dann machst du ein Formular und die Valuewerte sind die der Spalte die du bearbeiten willst. Beim abschicken des Formulares machst du dann einfach das Updatequery.

So könnte der Link zum editieren aussehen:


```
<a href="?action=edit&id=<?php echo $id; ?>">
```

Dann suchst du dir diesen einen Datenbankeintrag zu der ID und füllst das Formular:


```
$query = "SELECT * FROM `tabelle` WHERE `id` = $_GET['id'];"
```


```
<input type="text" name="spalte1" value="<?php echo $Wertvonspalte1; ?>">
```

usw....


----------



## Alph4 (17. Januar 2005)

jo cool danke ich versuchs mal...=)
mal sehn obs hin haut...
also danke nochmal


----------



## Alph4 (17. Januar 2005)

also irgendwie bekomm ichs net gebacken ich poste es mal hier rein den code:

action.php

```
<?php
 
$host = "localhost";
 
$user = "user";
 
$password = "****";
 
$dbname = "db";
 
$tabelle ="tabelle";
 
$dbverbindung = mysql_connect ($host, $user, $password);
 
$dbanfrage = "SELECT * FROM `$tabelle` ( $nick=['Nickname'], $pass=['Kennwort'], $nname=['Nachname'], $vname=['Vorname'], $email=['email'], $alter=['jahre'], $liga=['liga'], $icq=['icq']) WHERE `id` = $_GET['id'];" 
 
if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {
 
print ("Datenbankeintrag erfolgreich editiert.");
 
} else {
 
print ("Es traten Probleme beim editieren auf.");
 
}
 
mysql_close ($dbverbindung);
 
?>
```
 
hier das formular:


```
<html>
 
<head>
 
<title>Dateneingabe</title>
 
</head>
 
<body text="#000000" bgcolor="#617C24">
 
<form action="action.php" method=post>
 
<p>Username:&nbsp;&nbsp;&nbsp; <input type="text" name="$nick" value="<?php echo $nick ?>" size="20"><br>
 
Passwort:&nbsp;&nbsp;&nbsp;&nbsp;
 
<input type="text" name="$pass" value="<?php echo $pass ?>" size="20"><br>
 
Nachname:&nbsp;&nbsp; <input type="text" name="$nname" value="<?php echo $nname ?>" size="20"><br>
 
Vorname:&nbsp;&nbsp;&nbsp;&nbsp;
 
<input type="text" name="$vname" value="<?php echo $vname ?>" size="20"><br>
 
E-Mail:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 
<input type="text" name="$email" value="<?php echo $email ?>" size="20"><br>
 
Alter:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 
<input type="text" name="$alter" value="<?php echo $alter ?>" size="20"><br>
 
Mannschaft: <input type="text" name="$liga" value="<?php echo $liga ?>" size="20"><br>
 
ICQ - Numer: <input type="text" name="$icq" value="<?php echo $icq ?>" size="20"><br>
 
<br>
 
<input type=submit name="SUBMIT" value="edit">
 
</p>
 
</form>
 
</body>
 
</html>
```
 
Also ich möchte als Administrator von jeden user die daten einsehen können dann editieren bzw löschen können


----------



## metty (17. Januar 2005)

alfo für das Formular solltest du die Felder so machen:


```
<p>Username:&nbsp;&nbsp;&nbsp; <input type="text" name="nick" value="<?php echo $nick ?>" size="20"><br>
```

und bei der action.php wäre dann der Nick $_POST['nick']
also:

```
$dbanfrage = "UPDATE `".$tabelle."` SET `nickname` = '".$_POST['nick']."' WHERE `id` = '".$_GET['id']."';"
```

Du willst ja updaten und nicht selektieren


----------



## Alph4 (17. Januar 2005)

ok ich habs jetzt so gemacht aba wenn ich jetzt aufrufe da kommt nix also hm...wenn ich auch nen link setzt zb: ?id=2

dann zeigt er mir auch nix an...=(

also ich habs geschaft das ich daten in die datenbank schreiben kann also sprich mit einem formular aba das erzeugt ja imma neue ids und neue tabellen in der db...aba das mit dem editieren bzw. löschen bekomm ich net hin...=(


----------



## Sicaine (17. Januar 2005)

Maaaa lies doch Tutorials. Es gibt wohl mehr als nur ein MysqlTutorial unteranderem auch tut.php-q.net

Ausserdem wärs ned schlecht wenn du dir mit mysql_error() Fehlermeldungen ausgibts. Alternativ gibs sogar Videotutorials von mir hier auf der Page.


----------



## Alph4 (17. Januar 2005)

ich hab schon viele tutorials gelesen nur ich werde aus den dingern net schlau weil mitten im satz haufen links sind dann muss man da drauf klicken das man das versteht dann hat man das davor wieder vergessen...es gibt gute tutorials nur die hab ich für mein prob noch net gefunden sorry das ich nerv...aba ich dachte das hier wäre ein forum wo jemanden wie mir geholfen wird...=(

und es wäre doch des selbe wenn kniedel zu mir sagen würde nach seinem ersten post ey les dies und dies...also verstehn könnte ichs aba ich finde es sehr nett das er es macht


----------



## Dennis Wronka (17. Januar 2005)

Das hat bei mir immer geklappt:
Ist aus 'ner Video-DB, muss also noch angepasst werden.


```
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.text {  font-family: Arial, Helvetica, sans-serif; font-size: x-small; font-style: normal; font-weight: normal; color: #000000}
.list {  font-family: Arial, Helvetica, sans-serif; font-size: small; font-style: normal; font-weight: bold; color: #0000FF}
.list a:link {  font-family: Arial, Helvetica, sans-serif; text-decoration: none; color: #0000FF}
.list a:visited {  font-family: Arial, Helvetica, sans-serif; text-decoration: none; color: #0000FF}
.list a:hover {  font-family: Arial, Helvetica, sans-serif; text-decoration: underline; color: #0000FF}
.text a:link {  font-family: Arial, Helvetica, sans-serif; text-decoration: none; color: #000000}
.text a:visited {  font-family: Arial, Helvetica, sans-serif; text-decoration: none; color: #000000}
.text a:hover {  font-family: Arial, Helvetica, sans-serif; text-decoration: underline; color: #000000}
table {  background-color: #CCCCCC; border: 1px #000000 solid}
td {  background-color: #FFFFFF; border: #000000; border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px}
-->
</style>
</head>
<body>
<?
$db=mysql_connect("deinhost","deinuser","deinpasswort");
mysql_select_db("video",$db);
if (($uid)&&($pwd))
 {
  $users=mysql_query("select * from users where id='$uid'",$db);
  $user=mysql_fetch_array($users);
  if ($user[2]==$pwd)
   {
    if ($edit)
     {
      $filme=mysql_query("select * from filme where id='$edit'",$db);
      $film=mysql_fetch_array($filme);
      printf("<form method='post' action='$PHP_SELF'>");
      printf("<input type='hidden' name='uid' value='%s'>",$uid);
      printf("<input type='hidden' name='pwd' value='%s'>",$pwd);
      printf("<input type='hidden' name='id' value='%s'>",$edit);
      printf("Titel:&nbsp;<input type='text' name='titel' value='%s'><br>",$film[1]);
      printf("Kategorie:&nbsp;");
      printf("<select name='kategorie'>");
      $kategorien=mysql_query("select * from kategorien order by kategorie",$db);
      while ($kategorie=mysql_fetch_row($kategorien))
       {
        printf("<option value='%s' ",$kategorie[0]);
        if ($kategorie[0]==$film[2])
         {
          printf("selected ");
         }
        printf(">%s",$kategorie[1]);
       }
      printf("</select><br>");
      printf("Sprache:&nbsp;");
      printf("<select name='sprache'>");
      $sprachen=mysql_query("select * from sprachen order by sprache",$db);
      while ($sprache=mysql_fetch_row($sprachen))
       {
        printf("<option value='%s' ",$sprache[0]);
        if ($sprache[0]==$film[4])
         {
          printf("selected ");
         }
        printf(">%s",$sprache[1]);
       }
      printf("</select><br>");
      printf("Format:&nbsp;");
      printf("<select name='format'>");
      $formate=mysql_query("select * from formate order by format",$db);
      while ($format=mysql_fetch_row($formate))
       {
        printf("<option value='%s' ",$format[0]);
        if ($format[0]==$film[3])
         {
          printf("selected ");
         }
        printf(">%s",$format[1]);
       }
      printf("</select><br>");
      printf("Anzahl CDs:&nbsp;<input type='text' name='cds' value='%s'><br>",$film[5]);
      printf("<input type='submit' name='update' value='Ändern'>");
      printf("</form>");
     }
    else
     {
      if ($insert)
       {
        mysql_query("insert into filme (titel,kategorieid,formatid,sprachid,cds,userid) values ('$titel','$kategorie','$format','$sprache','$cds','$uid')",$db);
       }
      if ($delete)
       {
        mysql_query("delete from filme where id='$delete'",$db);
       }
      if ($update)
       {
        mysql_query("update filme set titel='$titel',kategorieid='$kategorie',formatid='$format',sprachid='$sprache',cds='$cds' where id='$id'",$db);
       }
      printf("<table border='1' align='center'>");
      printf("<tr><td align='center' class='list'>Titel</td><td align='center' class='list'>Kategorie</td><td align='center' class='list'>Sprache</td><td align='center' class='list'>Format</td><td align='center' class='list'>CDs</td><td align='center' colspan='2' class='list'>Aktion</td></tr>");
      $filme=mysql_query("select * from filme where userid='$uid' order by titel",$db);
      while ($film=mysql_fetch_row($filme))
       {
        $kategorien=mysql_query("select * from kategorien where id='$film[2]'",$db);
        $kategorie=mysql_fetch_array($kategorien);
        $formate=mysql_query("select * from formate where id='$film[3]'",$db);
        $format=mysql_fetch_array($formate);
        $sprachen=mysql_query("select * from sprachen where id='$film[4]'",$db);
        $sprache=mysql_fetch_array($sprachen);
        $users=mysql_query("select * from users where id='$film[6]'",$db);
        $user=mysql_fetch_array($users);
        printf("<tr><td class='text'>%s</td><td align='center' class='text'>%s</td><td align='center' class='text'>%s</td><td align='center' class='text'>%s</td><td align='center' class='text'>%s</td><td class='text'><a href='$PHP_SELF?uid=%s&pwd=%s&delete=%s'>Löschen</a></td><td class='text'><a href='$PHP_SELF?uid=%s&pwd=%s&edit=%s'>Bearbeiten</a></td></tr>",$film[1],$kategorie[1],$sprache[1],$format[1],$film[5],$uid,$pwd,$film[0],$uid,$pwd,$film[0]);
       }
      printf("</table>");
      printf("<form method='post' action='$PHP_SELF'>");
      printf("<input type='hidden' name='uid' value='%s'>",$uid);
      printf("<input type='hidden' name='pwd' value='%s'>",$pwd);
      printf("Titel:&nbsp;<input type='text' name='titel'><br>");
      printf("Kategorie:&nbsp;");
      printf("<select name='kategorie'>");
      $kategorien=mysql_query("select * from kategorien order by kategorie",$db);
      while ($kategorie=mysql_fetch_row($kategorien))
       {
        printf("<option value='%s'>%s",$kategorie[0],$kategorie[1]);
       }
      printf("</select><br>");
      printf("Sprache:&nbsp;");
      printf("<select name='sprache'>");
      $sprachen=mysql_query("select * from sprachen order by sprache",$db);
      while ($sprache=mysql_fetch_row($sprachen))
       {
        printf("<option value='%s'>%s",$sprache[0],$sprache[1]);
       }
      printf("</select><br>");
      printf("Format:&nbsp;");
      printf("<select name='format'>");
      $formate=mysql_query("select * from formate order by format",$db);
      while ($format=mysql_fetch_row($formate))
       {
        printf("<option value='%s'>%s",$format[0],$format[1]);
       }
      printf("</select><br>");
      printf("Anzahl CDs:&nbsp;<input type='text' name='cds'><br>");
      printf("<input type='submit' name='insert' value='Einfügen'>");
      printf("</form>");
     }
   }
  else
   {
    printf("Es ist ein Fehler aufgetreten.");
   }
 }
else
 {
  printf("<table align='center'>");
  printf("<tr><td class='list' align='center'><a href='$PHP_SELF?sort=titel'>Titel</a></td><td class='list' align='center'><a href='$PHP_SELF?sort=kategorieid'>Kategorie</a></td></td><td class='list' align='center'>&nbsp;</td></tr>");
  $filme=mysql_query("select * from filme order by '$sort',titel",$db);
  while ($film=mysql_fetch_row($filme))
   {
    $kategorien=mysql_query("select * from kategorien where id='$film[2]'",$db);
    $kategorie=mysql_fetch_array($kategorien);
    $formate=mysql_query("select * from formate where id='$film[3]'",$db);
    $format=mysql_fetch_array($formate);
    $sprachen=mysql_query("select * from sprachen where id='$film[4]'",$db);
    $sprache=mysql_fetch_array($sprachen);
    $users=mysql_query("select * from users where id='$film[6]'",$db);
    $user=mysql_fetch_array($users);
    if ($film[1]!=$vorigerfilm)
     {
      printf("<tr><td class='text'>%s</td><td align='center' class='text'>%s</td><td class='text'><a href='order.php?filmid=%s'>Order</a></td></tr>",$film[1],$kategorie[1],$film[0]);
      $vorigerfilm=$film[1];
     }
   }
  printf("</table>");
 }
$db=mysql_close($db);
?>
</body>
</html>
```

Viel Spass.

Nachtrag: Wie wahrscheinlich zu erkennen ist, ist noch der ganze Kram von wegen Userabfrage drin, weil man muss sich einloggen um da was dran machen zu koennen. Keine Ahnung ob Du das brauchst. Aber ansonsten ist halt alles drin, also einfuegen, loeschen und editieren.


----------



## Sicaine (17. Januar 2005)

dft-killing hat gesagt.:
			
		

> ich hab schon viele tutorials gelesen nur ich werde aus den dingern net schlau weil mitten im satz haufen links sind dann muss man da drauf klicken das man das versteht dann hat man das davor wieder vergessen...es gibt gute tutorials nur die hab ich für mein prob noch net gefunden sorry das ich nerv...aba ich dachte das hier wäre ein forum wo jemanden wie mir geholfen wird...=(
> 
> und es wäre doch des selbe wenn kniedel zu mir sagen würde nach seinem ersten post ey les dies und dies...also verstehn könnte ichs aba ich finde es sehr nett das er es macht



Nur wenn du so weitermachst und dir erst alles klein vorkauen lassen musst, wirste es nie lernen. Kauf dir doch ein gutes Buch für nen Anfänger da steht das Zeug alles in der gleichen Schreibweise drinnen und gut geglidert etc. Und Videotuts gibts auch.


----------



## Alph4 (17. Januar 2005)

also des video da oben da kommt erst das ich meine sql daten eintragen soll ok hab ich gemacht dannach sagt er mir ne fehlermeldung on line 155


----------



## Dennis Wronka (17. Januar 2005)

Haste auch alles an Deine Beduerfnisse angepasst.
Ist halt 'n grosses Script, da uebersieht man auch mal was.

Wie gesagt, so wie ich's gepostet hab lief es bei mir ohne Fehler.
Ist aber auch schon 'n Weilchen her, dass es zum letzten Mal im Einsatz war.


----------



## Alph4 (17. Januar 2005)

so hab jetzt endlich was gefunden was mir weiter geholfen hat vielen dank für eure hilfe an der stelle nochmal also einiges hat mir geholfen nur des eine script da...=)...hab ich net zum laufen gebracht...hehe

also bye dft-killing


----------



## CreativPur (25. November 2013)

Hallo.. Ich benötige dringend eure Hilfe..

Ich habe folgendes Problem..
Ich möchte Gutscheine ausgeben und habe eine sql-Datenbank mit mehreren Spalten.
Für mich sind aber nur 3 relevant. 
code_id   (id)
code_nr  (12-stelliger Code)
times_used ( entnommen oder noch verfügbar)

times_used steht auf 0 wenn er noch verfügbar ist !
Ich gebe nur den ersten Gutscheincode aus,was auch funktioniert.

<?php
$sql = "SELECT * FROM salesrule_coupon WHERE times_used=0 and rule_id=6  LIMIT 1";

$db_erga = mysqli_query( $db_link, $sql );
if ( ! $db_erga )
{
  die('Ung&uuml;ltige Abfrage: ' . mysqli_error());
}
?>

<?php
echo '<table border="0" align="center" width="550" class="tb">';
echo '<tr> <td>Code_ID</td> <td>Code</td> <td class="frei" >Frei</td>' ;


while ($zeile = mysqli_fetch_array( $db_erg))
{
  echo "<tr>";

  echo "<td>". $zeile['coupon_id'] . "</td>";
  echo "<td><class=code_text>". $zeile['code'] . "</td>";
  echo "<td><class=code_text>". $zeile['times_used'] . "</td>";


  echo "</tr>";
}
echo "</table>";

mysqli_free_result( $db_erg );
?>

Auch habe ich es geschafft, den Gutscheincode in ein Input-Feld einzubinden..

<form action="" method="GET" >

<p>
<input name="G-Code" type="text" value="

<?php 
while ($zeile = mysqli_fetch_array( $db_erga))
{
 echo  $zeile['code'] ;
}
 ?>" size="40" />
</p>
<p>
<input type="submit" name="gc" value="Gutschein-Code annehmen" />
</p>
</form>

Mein Wunsch zu Weihnachten wäre..
Wenn mann den Gutscheincode per Button annimmt, soll der Wert im "times_used" von 0 auf 1 gesetzt werden, damit der Gutscheincode von der Bildfläche verschwindet und der nächste  noch verfügbare Datensatz per echo wieder angezeigt wird. Außerdem wäre es super, wenn nach dem Betätigen des Buttons noch eine Seite zum Ausdrucken mit dem Code hervor gehen würde.
Meine Kenntnisse sind in PHP misserable, aber dafür bin ich halt ein kreativer Mensch.

Ich hoffe, Ihr habt meinen Weihnachtswunsch verstanden und könnt mir helfen..

Besten Dank im Vorraus..
HaJo Silber


----------



## sheel (25. November 2013)

a) Bitte keine Uralt-Threads für nicht-themenbezogene Posts missbrauchen,
b) Codetags verwenden,
c) Es ist November,
d) Willst du das von jemandem fertig gemacht bekommen oder nur Hilfe dabei?


----------



## CreativPur (25. November 2013)

Sorry...
Ich wusste keinen Rat mehr.. Daher habe ich mich hier her gewand..

Ich benötige im oben aufgeführten script einfach nur Hilfe..


----------



## alxy (25. November 2013)

Krass, dass dieser Thread 18K Hits hat ...


----------

