daten einfügen, updaten und löschen

Maffy

Erfahrenes Mitglied
ich möchte über ein formular bestehende daten ändern.

habe ein formular wo ich eine id eintrage das dann
nach dem senden das script editshow.php ausführen soll wo ich den datensatz ändern kann.

es wird aber nur die überschrift angezeigt der datensatz aber nicht. was ist im script falsch falsch?

Code:
<!-- editshow.php -->

<!-- Anzeigen und Eingabe der gewünschten Änderungen -->

<HTML>

<HEAD>

<TITLE>Datensatz anzeigen und ändern</TITLE>

</HEAD>

<BODY>

<h1>Datensatz ändern (korrigieren)</h1>

 

<?
$dbhost = ""; // MySQL-Server
$dbuser = ""; // MySQL-User
$dbpass = ""; // MySQL-Password
$dbname = ""; // MySQL-Datenbank
$table = ""; // Tabellenname

// Verbindung zur Datenbank
mysql_connect($dbhost, $dbuser, $dbpass) or die ("Verbindung mit MySQL-Server fehlgechlagen!");
mysql_select_db($dbname) or die ("Verbindung zur Datenbank fehlgeschlagen!");

   

   $query = "SELECT 'id','clicks','bildurl','zielurl'  FROM mr73_microcounter WHERE Id = '$id' ";
 

   $result = mysql_query($query);

   $num=mysql_Num_Rows($result);

 

   if ($num!=0):

?>


<FORM ACTION="/internet/micro/editerg.php3" METHOD="post">

<!-- Übergabe der geänderten Daten an das Skript "editerg.php3" -->

 

  <TABLE>
    <!--  Erzeugung des Formulars mit Anfangswerten zum Bearbeiten des Datensatzes -->
    <TR> 
      <TD> Id: </TD>
      <TD> 
        <? echo "$ID" ?>
        <!--  Ausgabe des vom Formular übergebenen ID -->
        <INPUT TYPE="hidden" NAME="wename" VALUE="<? echo "$id"; ?>">
        <!--  Erzeugung eines versteckten Formularfeldes mit dem ID als Wert (VALUE).
               Dieser wird beim Absenden mit übergeben, kann aber nicht geändert werden.  -->
      </TD>
    </TR>
    <TR> 
      <TD> clicks: </TD>
      <TD> 
        <INPUT TYPE="text" NAME="clicks" 
                           VALUE="<? echo mysql_result($result,0,"clicks"); ?>"

                           SIZE="20" MAXLENGTH="20">
      </TD>
    </TR>
    <TR> 
      <TD> zielurl: </TD>
      <TD> 
        <input type="text" name="zielurl" 
                           value="<? echo mysql_result($result,0,"zielurl"); ?>"

                           size="50" maxlength="150">
      </TD>
    </TR>
    <TR> 
      <TD> bildurl: </TD>
      <TD> 
        <INPUT TYPE="text" NAME="bildurl"
                         VALUE="<? echo mysql_result($result,0,"bildurl"); ?>"

                         SIZE="50" MAXLENGTH="150">
      </TD>
    </TR>
  </TABLE>


<INPUT TYPE="submit" VALUE="&Auml;nderung Abspeichern">

</FORM>

<?

  else: echo "Eintrag nicht vorhanden";

  endif;

  mysql_freeresult($result); mysql_close();

?>
</BODY>

</HTML>
 
<?php
$dbhost = ""; // MySQL-Server
$dbuser = ""; // MySQL-User
$dbpass = ""; // MySQL-Password
$dbname = ""; // MySQL-Datenbank
$table = ""; // Tabellenname
 
gibt es für update, edit, delet usw . nicht auch eine class die man einfach einbinden kann.
 
die zeile:

$result = mysql_query($query);

ändern auf:

$result = mysql_query($query) or die(mysql_error());

und fehler posten ...
 
das eigendliche problem habe ich inzwischen gelöst. war nur ein schreibfehler.



da ich aber z.z. für jede tabelle mehrere seiten brauche z.b. für den befehl update (übersicht der daten mit schaltfächen für edit, delet, formular für änderrungen und ein script das die daten ändert).

es währe doch sicher einfacher eine classe zu verwenden, die schaut ob das ein neuer datensatz ist oder ob der datensatzt schon vorhanden ist und dann das entsprechende datei zum bearbeiten oder hinzufügen öffnet.

irgendwo habe ich mal so eine classe gesehen, die diese funktionen beherrscht, weis aber nicht mehr wo.
 

Neue Beiträge

Zurück