# Mysql daten in formular laden editieren und wieder in mysql abspeichern



## ryserstephan (3. September 2007)

Hallo zusammen ich habe ein kleinens problem, ich habe ein formular das daten aus der Mysql ausliesst in eine TextArea ich will das mann die bearbeiten erweitern kann.
Und der vorhandene eintrag ersetzt!
Habs fast gepackt leider wenn ich die daten geändert habe und wieder hochladen will, wird einfach nur ein ein neuer eintrag gemacht der lehr ist.
Solle aber eben ersetzt werden.
*PHP BUTTON GEHT NICHT*<form action="feedback.php" method="post">
<textarea>
<?php
$db_dbname = 'zielvereinbarung'; 
$db_user = 'root'; 
$db_pw = ''; 
$db_host = 'localhost'; 

$tabellenname = 'daten'; 
$id = $row['id'];
$name = $row['name'];
$C1 = $row['C1'];
$C2 = $row['C2'];
$C3 = $row['C3'];
$C4 = $row['C4'];
$C5 = $row['C5'];
$C6 = $row['C6'];
$C7 = $row['C7'];
$C8 = $row['C8'];
$C9 = $row['C9'];
$C10 = $row['C10'];
$C11 = $row['C11'];
$datum = $row['datum'];

mysql_connect($db_host, $db_user, $db_pw); 
mysql_select_db($db_dbname);

$sql = "Select * FROM daten";
$q = mysql_query($sql);
$data = mysql_fetch_array($q);

echo $data['name'];

$sql = "Update daten SET C1= '".$C1."', 
                         C2= '".$C2."',  
                         C3= '".$C3."',
                         C4= '".$C4."',
                         C5= '".$C5."',
                         C6= '".$C6."',
                         C7= '".$C7."',
                         C8= '".$C8."',
                         C9= '".$C9."',
                         C10= '".$C10."',
                         C11= '".$C11."',
                         name= '".$name."',
                         datum= '".$datum."'";

?>

</textarea >
<br>
<textarea cols="105">
<?php 
echo $data['C1'];
?>
</textarea>
<br>
<textarea cols="105">
<?php 
echo $data['C2'];
?>
</textarea>
<br>
<textarea cols="105">
<?php 
echo $data['C3'];
?>
</textarea>
<br>
<textarea cols="105">
<?php 
echo $data['C4'];
?>
</textarea>
<br>
<textarea cols="105">
<?php 
echo $data['C5'];
?>
</textarea>
<br>
<textarea cols="105">
<?php 
echo $data['C6'];
?>
</textarea>
<br>
<textarea cols="105">
<?php 
echo $data['C7'];
?>
</textarea>
<br>
<textarea cols="105">
<?php 
echo $data['C8'];
?>
</textarea>
<br>
<textarea cols="105">
<?php 
echo $data['C9'];
?>
</textarea>
<br>
<textarea cols="105">
<?php 
echo $data['C10'];
?>
</textarea>
<br>
<textarea cols="105">
<?php 
echo $data['C11'];
?>
</textarea>
<br>
<textarea cols="105">
<?php 
echo $data['datum'];
?>
</textarea>
<br>
<input type="submit">
</form>

Hoffentlich siet jemand mein fehler.
Danke im foraus und ich bin dankbar für jeden TIP


----------



## Michael Engel (3. September 2007)

Alle Textareas haben keinen Name, es fehlt ein Form start-tag, in dem du method=post am besten einstellst. Dann alle Variablen wieder mit $_POST['feld_name'] entgegennimmt.


----------



## ryserstephan (3. September 2007)

Super es geht nur noch eine kleinekeit, und zwar erstellt er einfach einen neuen einrag mit den genäderten daten.Ich möchte aber das er den eintrag einfach ersetzt. Siest du da eine möglichkeit =

Es sollte einfach den eintrag ersetzen leider erstellt es einen neuen.
der code ist der gleiche einfach das die textArea alle einen namen haben.


----------



## Michael Engel (3. September 2007)

Solang da update steht wollte er keinen neuen erstellen, was dir aber unbedingt noch fehlt ist eine WHERE bedinung sonst änderst du immer alle Datensätze. Also eine ID mit in dein Formular übergeben anhand der du die einträge eindeutig identifizieren kannst. In der Query wird dann einfach *WHERE `id` = $id* angehangen.

Vielleicht postest du nochmal den code der einfügt statt zu ändern. Und diesmal bitte in [ PHP ] BB Code das es leichter lesbar wird.


----------



## ryserstephan (3. September 2007)

sodela wie gesagt das bestehende problem ist immer noch, es wird ständig ein neuer eintrag erstellt,und nicht wie ich wollte einfach der andere über schrieben.
Hier der code :

```
<form action="feedback.php" method="post">
<textarea name="name" rows="1" cols="105">
<?php

$db_dbname = 'zielvereinbarung'; 
$db_user = 'root'; 
$db_pw = ''; 
$db_host = 'localhost'; 

$tabellenname = 'daten'; 
$id = $_POST['id'];
$name = $_POST['name'];
$C1 = $_POST['C1'];
$C2 = $_POST['C2'];
$C3 = $_POST['C3'];
$C4 = $_POST['C4'];
$C5 = $_POST['C5'];
$C6 = $_POST['C6'];
$C7 = $_POST['C7'];
$C8 = $_POST['C8'];
$C9 = $_POST['C9'];
$C10 = $_POST['C10'];
$C11 = $_POST['C11'];
$datum = $_POST['datum'];

mysql_connect($db_host, $db_user, $db_pw); 
mysql_select_db($db_dbname);

$sql = ("Select * FROM daten WHERE id ='" . $_GET['id'] . "';");
$q = mysql_query($sql);
$data = mysql_fetch_array($q);

echo $data['name'];

$sql = "Update daten SET C1= '".$C1."', 
                         C2= '".$C2."',  
                         C3= '".$C3."',
                         C4= '".$C4."',
                         C5= '".$C5."',
                         C6= '".$C6."',
                         C7= '".$C7."',
                         C8= '".$C8."',
                         C9= '".$C9."',
                         C10= '".$C10."',
                         C11= '".$C11."',
                         name= '".$name."',
                         datum= '".$datum."'";
                        
                         
?>

</textarea >
<br>
<textarea name="C1" rows="1" cols="105">
<?php 
echo $data['C1'];
?>
</textarea>
<br>
<textarea name="C2" rows="1" cols="105">
<?php 
echo $data['C2'];
?>
</textarea>
<br>
<textarea name="C3" rows="1" cols="105">
<?php 
echo $data['C3'];
?>
</textarea>
<br>
<textarea name="C4" rows="1" cols="105">
<?php 
echo $data['C4'];
?>
</textarea>
<br>
<textarea name="C5" rows="1" cols="105">
<?php 
echo $data['C5'];
?>
</textarea>
<br>
<textarea name="C6" rows="1" cols="105">
<?php 
echo $data['C6'];
?>
</textarea>
<br>
<textarea name="C7" rows="1" cols="105">
<?php 
echo $data['C7'];
?>
</textarea>
<br>
<textarea name="C8" rows="1" cols="105">
<?php 
echo $data['C8'];
?>
</textarea>
<br>
<textarea name="C9" rows="1" cols="105">
<?php 
echo $data['C9'];
?>
</textarea>
<br>
<textarea name="C10" rows="1" cols="105">
<?php 
echo $data['C10'];
?>
</textarea>
<br>
<textarea name="C11" rows="1" cols="105">
<?php 
echo $data['C11'];
?>
</textarea>
<br>
<textarea name="datum" rows="1" cols="105">
<?php 
echo $data['datum'];
?>
</textarea>
<br>
<input type="submit">
</form>
```


----------



## Michael Engel (3. September 2007)

Minimale änderungen, in erster Linie die ID nochmal mitübergeben und als where benutzen:


```
<?php

$db_dbname = 'zielvereinbarung'; 
$db_user = 'root'; 
$db_pw = ''; 
$db_host = 'localhost'; 

mysql_connect($db_host, $db_user, $db_pw); 
mysql_select_db($db_dbname);

$tabellenname = 'daten'; 
$id     = $_POST['id'];
$name   = $_POST['name'];
$C1     = $_POST['C1'];
$C2     = $_POST['C2'];
$C3     = $_POST['C3'];
$C4     = $_POST['C4'];
$C5     = $_POST['C5'];
$C6     = $_POST['C6'];
$C7     = $_POST['C7'];
$C8     = $_POST['C8'];
$C9     = $_POST['C9'];
$C10    = $_POST['C10'];
$C11    = $_POST['C11'];
$datum  = $_POST['datum'];

$sql = "Update daten SET C1= '".$C1."', 
                         C2= '".$C2."',  
                         C3= '".$C3."',
                         C4= '".$C4."',
                         C5= '".$C5."',
                         C6= '".$C6."',
                         C7= '".$C7."',
                         C8= '".$C8."',
                         C9= '".$C9."',
                         C10= '".$C10."',
                         C11= '".$C11."',
                         name= '".$name."',
                         datum= '".$datum."'
         WHERE `id` = '$id' LIMIT 1";


$sql = ("Select * FROM daten WHERE id ='" . $_GET['id'] . "';");
$q = mysql_query($sql);
$data = mysql_fetch_array($q);




                        
                         
?>
<form action="feedback.php" method="post">
<input type="hidden" name="id" value="<?php echo $data['id']; ?>">
<textarea name="name" rows="1" cols="105">
<?php echo $data['name']; ?>
</textarea >
<br>
<textarea name="C1" rows="1" cols="105">
<?php echo $data['C1']; ?>
</textarea>
<br>
<textarea name="C2" rows="1" cols="105">
<?php  echo $data['C2']; ?>
</textarea>
<br>
<textarea name="C3" rows="1" cols="105">
<?php echo $data['C3']; ?>
</textarea>
<br>
<textarea name="C4" rows="1" cols="105">
<?php echo $data['C4']; ?>
</textarea>
<br>
<textarea name="C5" rows="1" cols="105">
<?php echo $data['C5']; ?>
</textarea>
<br>
<textarea name="C6" rows="1" cols="105">
<?php echo $data['C6']; ?>
</textarea>
<br>
<textarea name="C7" rows="1" cols="105">
<?php echo $data['C7']; ?>
</textarea>
<br>
<textarea name="C8" rows="1" cols="105">
<?php echo $data['C8']; ?>
</textarea>
<br>
<textarea name="C9" rows="1" cols="105">
<?php echo $data['C9']; ?>
</textarea>
<br>
<textarea name="C10" rows="1" cols="105">
<?php echo $data['C10']; ?>
</textarea>
<br>
<textarea name="C11" rows="1" cols="105">
<?php echo $data['C11']; ?>
</textarea>
<br>
<textarea name="datum" rows="1" cols="105">
<?php echo $data['datum']; ?>
</textarea>
<br>
<input type="submit">
</form>
```


----------



## ryserstephan (3. September 2007)

Leider speichert er jetzt gar nichts mehr, ist extrem schreg er macht einfach wieder nur lehre einträge.Gr33z


----------



## splasch (3. September 2007)

Hast du überhaupt in der Tabelle eine Spalte id?
Las dir die Sql befehle mit echo ausgeben dann siehste was er macht.

Und Zeig mal her wie Deine Tabellen aufbau ist.

Mfg Splasch


----------



## ryserstephan (3. September 2007)

Sicher habe ich eine spalte mit id, aber irgend was mit id muss es ja schon zu tun haben da ich ja alles abgespeichert bekomme und,einfach ein neuer eintrag mit neuer id!


```
C1= '".$C1."', 
                         C2= '".$C2."',  
                         C3= '".$C3."',
                         C4= '".$C4."',
                         C5= '".$C5."',
                         C6= '".$C6."',
                         C7= '".$C7."',
                         C8= '".$C8."',
                         C9= '".$C9."',
                         C10= '".$C10."',
                         C11= '".$C11."',
                         name= '".$name."',
                         datum= '".$datum."',
```
So wie hier sind auch meine Tabellen .


----------



## splasch (3. September 2007)

ich würd sagen es liegt an deinem Select
(Select * FROM daten WHERE id ='" . $_GET['id'] . "';"); )

Von wo holt er sich die Get id wenn die Abfrage dann keine Datensatz findet ist dann auch in deinem Formular die Id="" (leer) damit würde er wieder ein update machen wobei er alles ändert wo id="" ist also eben dann keine Änderung.

Bau besser noch eine Prüfroutine ein die Get id prüfft ob zahlen werte enthalten sind bwz ob überhaupt was drin steht.

Mfg Splasch


----------



## ryserstephan (3. September 2007)

Die Daten hollt er sich ja aus der Mysql und ladet sie auch korrekt in das formular rein.dann kann ich sie um schriben und wieder abschicken.Werden dann aber einfach mit neuer id abgespeichert. der namen die einträge alles passt und ist am richtigne ort ausser die id !


----------



## splasch (3. September 2007)

Versuch mal das


```
$id     =Trim($_POST['id']);
```

Oft werden bei Post noch Leerzeichen angehängt was die WHERE Klausel dann nix finden läst wenn dann WHERE id='1 ' steht.

Wenn das nicht geht dann gib den update befehl per echo aus und kopier den befehl.Dann probierste das dierekt im phpmyadmin einzugeben dann siehste worans liegt.

Mfg Splasch


----------



## ryserstephan (3. September 2007)

ne das hat auch nichts gebracht !:suspekt:


----------



## splasch (3. September 2007)

Was kommt raus wenn du die echo ausgabe im Phpmyadmin eingibt?

Mfg Splasch


----------



## ryserstephan (3. September 2007)

äm sorry ich bin neu und habe auch kein phpadmin zugang ich verwalte alles mit Heidisql. was muss ich genau mauchen um solch eine ausgabe zu erhalten !
Gr33z und echt leute Sorry das ich euch so in anspruch nehme aber es muss doch göglich sein.
Nochmals mein php Code :

```
<form action="feedback.php" method="post">
<textarea name="name" rows="1" cols="105">
<?php

$db_dbname = 'zielvereinbarung'; 
$db_user = 'root'; 
$db_pw = ''; 
$db_host = 'localhost'; 

$tabellenname = 'daten'; 
$id =Trim($_POST['id']);  
$name = $_POST['name'];
$C1 = $_POST['C1'];
$C2 = $_POST['C2'];
$C3 = $_POST['C3'];
$C4 = $_POST['C4'];
$C5 = $_POST['C5'];
$C6 = $_POST['C6'];
$C7 = $_POST['C7'];
$C8 = $_POST['C8'];
$C9 = $_POST['C9'];
$C10 = $_POST['C10'];
$C11 = $_POST['C11'];
$datum = $_POST['datum'];

mysql_connect($db_host, $db_user, $db_pw); 
mysql_select_db($db_dbname);

$sql = ("select * FROM daten WHERE id ='" . $_GET['id'] . "';");
$q = mysql_query($sql);
$data = mysql_fetch_array($q);

echo $data['name'];

$sql = "update daten SET id= '".$id."',
                         C1= '".$C1."', 
                         C2= '".$C2."',  
                         C3= '".$C3."',
                         C4= '".$C4."',
                         C5= '".$C5."',
                         C6= '".$C6."',
                         C7= '".$C7."',
                         C8= '".$C8."',
                         C9= '".$C9."',
                         C10= '".$C10."',
                         C11= '".$C11."',
                         name= '".$name."',
                         datum= '".$datum."',
                         WHERE `id` = '$id' LIMIT 1"; 



                        
                         
?>

</textarea >
<br>
<textarea name="C1" rows="1" cols="105">
<?php 
echo $data['C1'];
?>
</textarea>
<br>
<textarea name="C2" rows="1" cols="105">
<?php 
echo $data['C2'];
?>
</textarea>
<br>
<textarea name="C3" rows="1" cols="105">
<?php 
echo $data['C3'];
?>
</textarea>
<br>
<textarea name="C4" rows="1" cols="105">
<?php 
echo $data['C4'];
?>
</textarea>
<br>
<textarea name="C5" rows="1" cols="105">
<?php 
echo $data['C5'];
?>
</textarea>
<br>
<textarea name="C6" rows="1" cols="105">
<?php 
echo $data['C6'];
?>
</textarea>
<br>
<textarea name="C7" rows="1" cols="105">
<?php 
echo $data['C7'];
?>
</textarea>
<br>
<textarea name="C8" rows="1" cols="105">
<?php 
echo $data['C8'];
?>
</textarea>
<br>
<textarea name="C9" rows="1" cols="105">
<?php 
echo $data['C9'];
?>
</textarea>
<br>
<textarea name="C10" rows="1" cols="105">
<?php 
echo $data['C10'];
?>
</textarea>
<br>
<textarea name="C11" rows="1" cols="105">
<?php 
echo $data['C11'];
?>
</textarea>
<br>
<textarea name="datum" rows="1" cols="105">
<?php 
echo $data['datum'];
?>
</textarea>
<br>
<input type="submit">
</form>
```


----------



## splasch (3. September 2007)

> äm sorry ich bin neu und habe auch kein phpadmin zugang ich verwalte alles mit Heidisql. was muss ich genau mauchen um solch eine ausgabe zu erhalten !



Heidisql kenn ich nicht ist das ein eigenes Programm?

So da du anscheinend überhaupt noch keine Ahnung von Php server bwz Apache hast.Will ich dir dazu mal weiter helfen.

1.Du kanst alles lokal auf deinen Pc Testen dazu brauchst du einen Php Server(Apache) und wenn du mit Datenbank arbeitest Mysql Server.

2. Wo kann man sich die Free Software Apache und Mysql Downloaden.Am einfachsten verwendest du dafür das Xampp Packtet dort sind diese 2 Server gleich mit drin.

Download unter http://www.apachefriends.org/de/xampp.html

3. Nach der installtion findest du ein Orangenes Symbol am Desktop mit dem du beide server starten kannst (Apache und mysql) die anderen in der Liste brauchst du noch nicht.

4. Die Mysql datenbank kanst du auch direkt über das vorgefertige script phpmyadmin erreichen.Einfach im Browser folgendes eingeben 127.0.0.1/phpmyadmin 

wenn du mal so weit bist dann sag bescheid ich muß jetzt weg ich schau später dann wieder rein.

Mfg Splasch


----------



## ryserstephan (3. September 2007)

ja das habe ich alles und ins phpadmin komme ich auch!


----------



## splasch (3. September 2007)

Gut nun kanste da ja mal den Sql befehl dort testen und schaun was rauskommt.

Mfg Splasch


----------



## ryserstephan (4. September 2007)

welchen befehl ? Ich bin ja gestern schon nicht ganz durch gestiegen!


----------



## Kahmoon (4. September 2007)

Den SQL Befehl/Query kannst Du dort eingeben und kriegst direkt eine Fehlerausgabe.


----------



## ryserstephan (4. September 2007)

Bei mir steht da schon "Select * from 'daten' Where 1" drin was ich ja brauche zum einlesen der daten ins formular.

Ich habe den befehl genau so eingegeben 
	
	
	



```
update daten SET id= 'id',
                         C1= 'C1', 
                         C2= 'C2',  
                         C3= 'C3',
                         C4= 'C4',
                         C5= 'C5',
                         C6= 'C6',
                         C7= 'C7',
                         C8= 'C8',
                         C9= 'C9',
                         C10= 'C10',
                         C11= 'C11',
                         name= 'name',
                         datum= 'datum',
                         WHERE `id` = '$id' LIMIT 1
```
und er sagt mir (kurzgefast) :
#1064 Sql syntax fehler und am schluss die angabe ' WHERE `id` = '$id' LIMIT 1'  at line 15
Die problematik ist ja nur das er einen neune eintrag macht anstelle die Id zu verwenden und die daten zu überschreiben.


----------



## Kahmoon (4. September 2007)

4 Sachen die mir auffallen:

Du gibst ihm ja einen String $id mit. Wenn Du das 1 zu 1 in PHPMyAdmin kopierst, weiß er ja nicht was $id ist. Außerdem ist ID doch ein Integerfeld oder? Wozu dann die Hochkommas?

Du brauchst das ID Feld nicht extra updaten. Er aktualisiert ja den Datensatz den Du in der WHERE Klausel per ID definierst. Die ID bleibt gleich.

Vor WHERE darf außerdem kein Komma stehen.

Bei Update gibts kein LIMIT. Zumindest nicht wenn die ID eindeutig ist...was sie sein sollte 


```
$sql = "update daten SET  
                         C1= '".$C1."',  
                         C2= '".$C2."',   
                         C3= '".$C3."', 
                         C4= '".$C4."', 
                         C5= '".$C5."', 
                         C6= '".$C6."', 
                         C7= '".$C7."', 
                         C8= '".$C8."', 
                         C9= '".$C9."', 
                         C10= '".$C10."', 
                         C11= '".$C11."', 
                         name= '".$name."', 
                         datum= '".$datum."'  
                         WHERE id = ".$id.";";
```


----------



## ryserstephan (4. September 2007)

ich habe mir das jetzt 1:1 kopiert von dir und habe es im phpmyadmin eingegeben und es kommt jetzt kein fehler mehr.allso ist das schon mal geschaft.
Leider überschrieb er immer noch nicht die Id erstellt immer noch eine neue.:-(


----------



## Kahmoon (4. September 2007)

mach doch mal 
	
	
	



```
print $sql;
```
 darunter und paste hier mal die Ausgabe davon. Ein Updatebefehl erzeugt normal keinen neuen Datensatz.


----------



## ryserstephan (4. September 2007)

das it dem print geht nicht egal wie ich das schriebe es kommt immer ein syntax fehler.
Ausserdem wenn ich im PhPmyadmin eben auf den sql befehl gehe,steht da nur,
der Select befehl,und bei einem anderen formular speichere ich genau so die neuen einträge. was schon mal erklährt warum er immer einen neuen eintrag macht.


----------



## Kahmoon (4. September 2007)

```
$sql = "update daten SET  
                         C1= '".$C1."',  
                         C2= '".$C2."',   
                         C3= '".$C3."', 
                         C4= '".$C4."', 
                         C5= '".$C5."', 
                         C6= '".$C6."', 
                         C7= '".$C7."', 
                         C8= '".$C8."', 
                         C9= '".$C9."', 
                         C10= '".$C10."', 
                         C11= '".$C11."', 
                         name= '".$name."', 
                         datum= '".$datum."'  
                         WHERE id = ".$id.";";
print $sql;
```

Der Printbefehl muss in das PHP Script. Schon klar oder? Und zwar direkt darunter wo Du die Query initilisierst.

Zu dem neuen Eintrag. Weder ein SELECT noch ein UPDATE erzeugt einen neuen Datensatz. Nur ein INSERT macht das.


----------



## ryserstephan (4. September 2007)

Er spuckt das au:

```
select * FROM daten WHERE id = '51';Beck, Anita
```

Wie ich schon gedancht habe das er das Select frist und mit dem speichere ich ja die daten normaler weise in die datenbank und erstelle auch gleich ne neue id.wenn ich den aber nicht drin habe ladet er mihr ja die daten nicht ins formular und ich kann sie gar nicht sehen von wegen ändern.Ich poste dir jetzt einfach mal mein ganzen code ohne das print :

```
<form action="feedback.php" method="post">
<textarea name="name" rows="1" cols="105">
<?php

$db_dbname = 'zielvereinbarung'; 
$db_user = 'root'; 
$db_pw = ''; 
$db_host = 'localhost'; 

$tabellenname = 'daten'; 
$id =Trim($_POST['id']);  
$name = $_POST['name'];
$C1 = $_POST['C1'];
$C2 = $_POST['C2'];
$C3 = $_POST['C3'];
$C4 = $_POST['C4'];
$C5 = $_POST['C5'];
$C6 = $_POST['C6'];
$C7 = $_POST['C7'];
$C8 = $_POST['C8'];
$C9 = $_POST['C9'];
$C10 = $_POST['C10'];
$C11 = $_POST['C11'];
$datum = $_POST ['datum'];

mysql_connect($db_host, $db_user, $db_pw); 
mysql_select_db($db_dbname);

$sql = ("select * FROM daten WHERE id = '".$_GET['id']."';");
$q = mysql_query($sql);
$data = mysql_fetch_array($q);

echo $data['name'];        
$sql = ("update daten SET C1= '".$C1."',  
                          C2= '".$C2."',   
                          C3= '".$C3."', 
                          C4= '".$C4."', 
                          C5= '".$C5."', 
                          C6= '".$C6."', 
                          C7= '".$C7."', 
                          C8= '".$C8."', 
                          C9= '".$C9."', 
                          C10= '".$C10."', 
                          C11= '".$C11."', 
                          name= '".$name."', 
                          datum= '".$datum."'  
                          WHERE id = '".$id."' LIMIT 1");  

                   
?>

</textarea >
<br>
<textarea name="C1" rows="1" cols="105">
<?php 
echo $data['C1'];
?>
</textarea>
<br>
<textarea name="C2" rows="1" cols="105">
<?php 
echo $data['C2'];
?>
</textarea>
<br>
<textarea name="C3" rows="1" cols="105">
<?php 
echo $data['C3'];
?>
</textarea>
<br>
<textarea name="C4" rows="1" cols="105">
<?php 
echo $data['C4'];
?>
</textarea>
<br>
<textarea name="C5" rows="1" cols="105">
<?php 
echo $data['C5'];
?>
</textarea>
<br>
<textarea name="C6" rows="1" cols="105">
<?php 
echo $data['C6'];
?>
</textarea>
<br>
<textarea name="C7" rows="1" cols="105">
<?php 
echo $data['C7'];
?>
</textarea>
<br>
<textarea name="C8" rows="1" cols="105">
<?php 
echo $data['C8'];
?>
</textarea>
<br>
<textarea name="C9" rows="1" cols="105">
<?php 
echo $data['C9'];
?>
</textarea>
<br>
<textarea name="C10" rows="1" cols="105">
<?php 
echo $data['C10'];
?>
</textarea>
<br>
<textarea name="C11" rows="1" cols="105">
<?php 
echo $data['C11'];
?>
</textarea>
<br>
<textarea name="datum" rows="1" cols="105">
<?php 
echo $data['datum'];
?>
</textarea>
<br>
<input type="submit">
</form>
```
Vileicht hast du noch ne idee.

und wenn ichs genau dort einsetze wo du sagst kommt das raus:

```
update daten SET C1= '',
```


----------



## Kahmoon (4. September 2007)

Wie gesagt. Ein SELECT erzeugt keinen neuen Datensatz.

Und hast noch immer die alte Query in Deinem Code.

Statt


```
$sql = ("update daten SET C1= '".$C1."',   
                          C2= '".$C2."',    
                          C3= '".$C3."',  
                          C4= '".$C4."',  
                          C5= '".$C5."',  
                          C6= '".$C6."',  
                          C7= '".$C7."',  
                          C8= '".$C8."',  
                          C9= '".$C9."',  
                          C10= '".$C10."',  
                          C11= '".$C11."',  
                          name= '".$name."',  
                          datum= '".$datum."'   
                          WHERE id = '".$id."' LIMIT 1");
```


```
$sql = ("update daten SET C1= '".$C1."',   
                          C2= '".$C2."',    
                          C3= '".$C3."',  
                          C4= '".$C4."',  
                          C5= '".$C5."',  
                          C6= '".$C6."',  
                          C7= '".$C7."',  
                          C8= '".$C8."',  
                          C9= '".$C9."',  
                          C10= '".$C10."',  
                          C11= '".$C11."',  
                          name= '".$name."',  
                          datum= '".$datum."'   
                          WHERE id = ".$id.";");
```


----------



## Compane (4. September 2007)

Hallo,



Updaten der Datenbank per ID

mysql_query("UPDATE `Tabelle`.`in Datenbank`
SET `Spalte 1` = '".$_POST['inhalt']."',`Spalte n` = '".$_POST['inhalt n']."'
WHERE `Tabelle`.`ID` = '".$_POST['ID']."';")  or die (mysql_error());

willst du die Daten in einem Textfelt vor der Änderung noch anzeigen lassen?

mfg

Compane


----------



## Igäl (4. September 2007)

Mir scheint, dass du zur Zeit einfach wild rumprobierst. Versuch das Ganze noch einmal strukturiert anzugehen. Wenn die Daten in den Variablen in deinem Update korrekt sind, sollte der Update wie gewünscht funktionieren. Ich kann mir vorstellen, dass sich sonst im Script irgendwo unbemerkt ein INSERT absetzt. Prüf mal nach Editieren der Daten, ob im entsprechenden Datensatz Daten geändert wurden. Denn wenn keine Fehlermeldung kommt, dann wird der Update ausgeführt. Es ist unmöglich, dass sich der Update wie ein Insert verhält.


----------



## Kahmoon (4. September 2007)

Laut Deinem Code wird der Updatebefehl ja auch nie abgeschickt!?


----------



## ryserstephan (4. September 2007)

Ja ich will die Daten zuerst in eine textarea laden ändern und überschrieben erstellt aber immer einen neuen eintrag.

Igäl deine bemerkung ist teils richtig ich probiere aber 100% mein bestes zu geben und mal erlich ich könnte mir echt besseress vorstellen als hier einfach ständig posten zu müssen und fohr dem kasten zu sitzen.

ich habe dir den forherigen code gepostet habe deinen neuen sicher eingefügt!


----------



## Compane (4. September 2007)

hallo ryserstephan,

ich schreibe halt gerne hilfe zur selbsthilfe!

Nun gut in fünf Minuten haste dein Code musste du halt nur nach deinen Bedürfnissen ändern


----------



## ryserstephan (4. September 2007)

Kahmoon hat gesagt.:


> Laut Deinem Code wird der Updatebefehl ja auch nie abgeschickt!?


Was passiert dann Ich kappier gar nichts mehr.
Ich habe 3 Formulare mit auswertung erstellt und auch erfolgreich beendet.
dann wurde ich gefragt ob ich noch ^1 machen kann eben mit der update funkzion.


----------



## Igäl (4. September 2007)

Ich hab dir doch schon in deinem letzten Thread zu dem Thema ein kleines Tutorial geschrieben. Schau doch da noch einmal nach. Da sind alle Funktionalitäten die du als Bedürfnisse angegeben hast vorhanden:

http://www.tutorials.de/forum/php/2...laden-und-erweitern-und-ueberschreiben-2.html
--> Letzter Post


----------



## ryserstephan (4. September 2007)

Ja igäl hab dir ja ne PN geschickt das ich es einfach mit deinem code nicht hin beckommen habe, und das ich mich aber herzlich dafür bedanke.:suspekt


----------



## Compane (4. September 2007)

Hallo ryserstephan,

dein Code, musste nur noch für dich ändern
Seite 1:


<?php

if($_POST['ID']==0)
{
 echo "<form action='seite1.php' method='post'>
   Bitte gebe eine ID an!



<p>ID: <input type='text' name='ID' size='20'></p>


</select>

<input type='submit' value='weiter'></input>
</form>";

}
else
{
echo "<form action='Seite2.php' method='POST'>

$db_dbname = 'zielvereinbarung';
$db_user = 'root';
$db_pw = '';
$db_host = 'localhost';

/* Verbindung aufbauen, auswählen einer Datenbank */
$link = mysql_connect("$db_host, $db_user, $db_pw")
    or die("Keine Verbindung möglich: " . mysql_error());
/*echo "Verbindung zum Datenbankserver erfolgreich"; */
mysql_select_db("$db_dbname") or die("Auswahl der Datenbank fehlgeschlagen");



$query = "SELECT *
FROM `DATEN`
WHERE `ID` =".$_POST['ID']."
";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());
/* Ausgabe der Ergebnisse in HTML */
$line = mysql_fetch_array($result, MYSQL_ASSOC);


echo"
<p><input type='text' Value='".$line['Spalte_1']."' name='test' size='40' ></p> </div>
<p><input type='text' Value='".$line['Spalte_n']."' name='test_n' size='40' ></p> </div>
";
echo "</select>
<input type='hidden' name='ID' value='";
echo $_POST['ID'];
echo "'></input>
<input type='submit' value='weiter'></input>
</form>";
}
?>

Seite 2:



<?php
$db_dbname = 'zielvereinbarung';
$db_user = 'root';
$db_pw = '';
$db_host = 'localhost';

/* Verbindung aufbauen, auswählen einer Datenbank */
$link = mysql_connect("$db_host, $db_user, $db_pw")
    or die("Keine Verbindung möglich: " . mysql_error());
/*echo "Verbindung zum Datenbankserver erfolgreich"; */
mysql_select_db("$db_dbname") or die("Auswahl der Datenbank fehlgeschlagen");

mysql_query("UPDATE `Daten`.`$db_dbname`
SET `Spalte 1` = '".$_POST['inhalt']."',`Spalte n` = '".$_POST['inhalt n']."'
WHERE `Tabelle`.`ID` = '".$_POST['ID']."';") or die (mysql_error());


mysql_close;

?>


mfg

Compane


----------



## ryserstephan (4. September 2007)

Ich kappier gar nichts! Und irgend wie total aggro. Ich dank dir aber dann war ja alles für die katze was ich jetzt 2 tage lang gemacht habe. 
ausser dem kappiere ich nicht seite1 seite 2 wie muss ich die verlinken und ich soll eine id angeben ?

Ich kann das nicht anpassen kappiere einfach zu wenig ausserdem hast du $link eingebaut aber die angabe für den $link finde ich auch nicht


----------



## splasch (4. September 2007)

Ich seh schon hier wird das nix. Ich mach dir einen vorschlag. Ich muß heute Nachmittag noch weg und bin dann Abends wieder da. Wenn du lust hast können wir uns dann im Chat Treffen. Dort kann ich dir das besser erklären. Oder du schickt mir alles was du bis lang gemacht hast und ich schreibs dir um so das es auch funktioniert.

Die Tabellen von der Db kanst du mit Hilfe von Phpmyadmin auch Sicheren unter dem Menü Punkt Export und oben im Feld dann alle Tabellen auswählen.
Schick mir deinen kompletten Code inkluse der Db sicherung(export Sql datei)

Abends bin ich dann im IRC unter Gamesurge und Channel browsergame zu erreichen.

Mfg Splasch


----------



## ryserstephan (4. September 2007)

Leider bin ich am abend nie online da ich zuhause kein I-net habe. nur bei der arbeits stelle. wenn du mir ne mail adi gibst dann schicke ich dir das alles zu.das ist die einzige möglichkeit.die ich jetzt so sehe, ich schick dir einfach alle codes di ich habe und ne sicherung der sql db ist das so korrekt ?


----------



## splasch (4. September 2007)

Ja genau einfach dein ganzes Projekt schicken und ich schreib dir den Formular teil dann um so das es auch mit dem Update funktioniert.

Meine Mail hast du als pn nachricht erhalten.

Mfg Splasch


----------



## Compane (4. September 2007)

Hallo ryserstephan;

$link ignorieren!

du erstellst ein Formular mit dem Name Seite1.php und eins mit dem Namen Seite2.php
und Kopierst du den jeweiligen Quelltext hinein!

$line['Spalte_1'] =  der name der spalte die du anzeigen willst
$line['Spalte_n'] =  sowiel spalten du einfügen willst

bsp.:
echo"
<p><input type='text' Value='".$line['Spalte_1']."' name='test' size='40' ></p> </div>
<p><input type='text' Value='".$line['Spalte_2]."' name='test_n' size='40' ></p> </div>
<p><input type='text' Value='".$line['Spalte_3]."' name='test_n' size='40' ></p> </div>
<p><input type='text' Value='".$line['Spalte_4]."' name='test_n' size='40' ></p> </div>
<p><input type='text' Value='".$line['Spalte_5]."' name='test_n' size='40' ></p> </div>
";

mfg Compane


----------



## splasch (4. September 2007)

Hab dein Projekt bekommen und auch schon deinen fehler gesehen du schickt das Formular an eine Datei ab die eine Insert dann macht.(So kann das auch net gehen)
So muß weg ich sende dir heute Abend dann den korregierten code.

Mfg Splasch


----------

