Dynamisches Ändern einer MySQL tabelle

Sassar

Grünschnabel
folgendes Problem xD

ich habe eine Datenbank erstellt wo ein nutzer sich selbst Tabellen anlegen kann und eintragungen vornehmen kann ohne kenntnisse von PHP etc zu haben

zur vorstellung:

am anfang:
PHP:
echo '<table>'.$quelle.'</table>';

<input type="text" name="test" >

if (isset($_POST['submit']))
 {
  $text = $_POST['test'];
  $quelle = '<tr><td>$text</td>/tr>
 }

// eintrag in Datenbank 
mysql_connect(....);
mysql_select_db(.....);
mysql_query("INSERT ....");
mysql_close();


so nun soll der nutzer wenn er seine Daten eingetragen hat sie auch Verändern können

dazu wird seine Datenbank wieder ausgelesen und das auch erfolgreich
dazu wird ein button betätigt für edit

edit : 


 mysql_connect("*****", "*******","********") or die ("Keine Verbindung moeglich");

   mysql_select_db("******") or die ("Die Datenbank existiert nicht.");
  
   $result = mysql_query("SELECT max(id) FROM $user");  
   $idmax = mysql_fetch_row($result);
   $reihe='';
  
   for($id=1;$id<$idmax[0]+1;$id++)
   {
    $infos = mysql_query("select * from $user where id=$id");
    $fet=mysql_fetch_row($infos);
    $lm = count($fet);
    $reihe=$reihe.'<tr>';
    
    for($l=1;$l<$lm;$l++)
    {
     //$zwischen = $fet[$l];
     if($editvar=='aendern')
     {
      $list = 'text'.$id.'-'.$l; 
      $fet[$l] ='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="'.$list.'" value="'.$fet[$l].'">';
      echo $_
     }      
     if($editvar=='speichern')
     {
      $list = 'text'.$id.'-'.$l;
      $zwischen = $_POST["'.$list.'"];
      
      //Hier soll dann die geänderten Textfelder in eine Dynamische Variable übergeben werden
      //ich hatte eine vorstellung wie 
     $text.$list = $_POST[$list];
     jedoch ****t das net 
      
     }
     $reihe=$reihe.'<td>'.$fet[$l].'</td>';
    }
    $reihe=$reihe.'</tr>';
   }
   mysql_close();



wäre schön wenn mir wer helfen könnte =)
 
okay xD hat sich eben erledigt habs hinbekommen xD nun kommt nur ne kleine schnelle frage


funktioniert das das ein feld nun was vorher mit
Code:
-------------------------------------
| Name | Vorname | .....
-------------------------------------
|  test   |               | ....
-------------------------------------
.
.
.
PHP:
<input type="text" name="$var[$l]" value="$fet[$l]><input type="submit" ...>
in mein textfeld gebe ich nun pommes ein bestätige nun soll er mir dieses feld test mit pommes ersetzen klappt das mit

if(isset($_POST[...]))
{
.
.
.

$var = $_POST[$var[$l]];
mysql_query(UPDATE $user SET $var = $fet[$l]");

.
.
.
}
 
kommt nur ne kleine schnelle frage
funktioniert das das ein feld nun was vorher mit

Wäre schön, wenn du zuvor die Codeschnippsel in [code=php] [/code] einbettest ;)

Es wäre auch sehr schön, wenn du mal die KOMMASETZUNG beachtest oder deine Sätze besser formulierst!

Auf die schnelle:
PHP:
mysql_query(UPDATE $user SET $var = $fet[$l]");
dein Befehl müsste sowieso ein Fehler ausgeben, da vorm UPDATE kein " steht, dazu kommen noch einzelne Fehler...

mfg
bo
 
ich weiß das da anführungsstrihe fehlen xD ich halte mich ja nicht mit nichtigkeiten auf und mache keine copy past sondern schreibe frei von der leber hier rein

also ich weiß wie die update funktion geht XD das problem ich weiß net wie ich auf den spalten name komme da dieser frei wählbar ist von den user also meine sql tabelle ist nicht fest

ich bräuchte etwas wo man die tabellen kopf in eine variable speichert xD

also UPDATE $user SET $fet[$l]=$var WHERE $spalte ROW id=$id

weiß net ob es den befehl ROW im php gibt xD also die funtkion soll so sein

überschreibe aus der TAbelle $user (zb $user = pommes -> vom nutzer frei wählbar)
den wert von $fet[$l] mit $var ($fet[$l] ist vielleicht vom 3ten eintrag die vierte spalte wo majo und die spalte wurde vom nutzer mit den namen belag ausgewählt das weiß aber mein programm so net xD drin steht und $var ist in einen textfeld wo vorher $fet[$l] stand geändert wurden mit senf (ja pommes mit senf schmecken schäuslich xD ) )
dies soll er tuen in $spalte (hier soll am ende der wert stehen belag)
in der zeile $id da aus ter 3ten spalte also $id = 3 was vorher mit ner schleife abgefragt wurde

soviel zur allgemeinen funktion xD

ne andere möglichkeit wäre glaube ich per php
UPDATE $user SET $spalte = $spalte($var)

weiß aber net so genau ob das geht XD also wenn wer das prinzip verstanden hat würde mich freuen xD

und wenn net einfach mal ne pm schreiben xD dann kann ich dem mal das prog zeigen was dahinterliegt muss aber für diesen dann einen Aktivierungscode generieren damit man sich das anschauen kann und deswegen auch bitte nur melden wenn man ahnung hat und mir eventuell helfen kann xD

und ich bin kein newbi xD
 
ich weiß das da anführungsstrihe fehlen xD ich halte mich ja nicht mit nichtigkeiten auf und mache keine copy past sondern schreibe frei von der leber hier rein
Dann gibts an dieser Stelle frei von der Leber eine Verwarnung von mir wegen permanenter Mißachtung der Netiquette. Ich möchte dich in Zukunft bitten, die in der Schule gelernte deutsche Rechtschreibung anzuwenden und beizubehalten, um weiterhin hier Hilfe erhalten zu können.

Danke und Gruß,
Markus
 
Moin,

nachdem ich neben den ganzen "xD" in deinem Post leider nichts anderes lesen konnte, frage ich hier nochmal blöd nach:

Ist das Skript so gedacht, dass sich der Nutzer bei dir auf der Seite die Datenbank erstellt und dann den Code dafür ausgehändigt bekommt?
Oder soll das so ne Art Mini-CMS werden, welches man sich auf seinen Webspace laden kann, um dann damit zu arbeiten?

Je nachdem, kann man weitere Schritte bzgl. der Zwischenspeicherung von Spaltennamen etc. vornehmen.
 
Zurück