Negro: Frage zum Übergeben von Werten

Hallo,

ich habe folgendes Problem. Und zwar habe ich mit Dreamweaver eine Dynamische Tabelle aufgebaut, die sich Datensätze aus einer MySQL Datenbank holt und anzeigt. Hinter jedem Datensatz ist ein Hyperlink, mit der "ID" des jeweiligen Datensatzes. Wenn man jetzt auf den Hyperlink klickt (z.B. als Ziel: http://localhost/test/bearbeiten.php?ID=2) so sollte mir auf einer zusätzlichen PHP-Seite (bearbeiten.php) die Möglichkeit gegeben werden den Datensatz zu ändern.

Beide PHP Seiten habe ich auch schon fertig, allerdings wird mir beim klicken auf den Hyperlink nicht der jeweilige Datensatz angezeigt, der durch den Link mit Übergabe der ID angezeigt werden solte.

Hier mal der Quellcode von beiden Seiten:

Es wäre super nett wenn mir jemand einen kleinen Tipp geben könnte, was ich falsch mache !

Danke !

uebersicht.php
-----------------
<?php require_once('Connections/conAbwesenheit.php'); ?>
<?php
mysql_select_db($database_conAbwesenheit, $conAbwesenheit);
$query_Recordset1 = "SELECT * FROM tblabwesenheit ORDER BY Nachname ASC";
$Recordset1 = mysql_query($query_Recordset1, $conAbwesenheit) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td>ID</td>
    <td>Vorname</td>
    <td>Nachname</td>
    <td>Grund</td>
    <td>vom</td>
    <td>bis</td>
  </tr>
  <?php do { ?>
  <tr>
    <td><?php echo $row_Recordset1['ID']; ?></td>
    <td><?php echo $row_Recordset1['Vorname']; ?></td>
    <td><?php echo $row_Recordset1['Nachname']; ?></td>
    <td><?php echo $row_Recordset1['Grund']; ?></td>
    <td><?php echo $row_Recordset1['vom']; ?></td>
    <td><?php echo $row_Recordset1['bis']; ?> <?php echo "<a href="bearbeiten.php?ID=".$row_Recordset1['ID']."">bearbeiten</a>"; ?></td>
  </tr>
  <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>

bearbeiten.php
------------------
<?php require_once('Connections/conAbwesenheit.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}

$editFormAction = $HTTP_SERVER_VARS['PHP_SELF'];
if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
  $editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING'];
}

if ((isset($HTTP_POST_VARS["MM_update"])) && ($HTTP_POST_VARS["MM_update"] == "form1")) {
  $updateSQL = sprintf("UPDATE tblabwesenheit SET Vorname=%s, Nachname=%s, Grund=%s, vom=%s, bis=%s WHERE ID=%s",
                       GetSQLValueString($HTTP_POST_VARS['Vorname'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['Nachname'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['Grund'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['vom'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['bis'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['ID'], "int"));

mysql_select_db($database_conAbwesenheit, $conAbwesenheit);
  $Result1 = mysql_query($updateSQL, $conAbwesenheit) or die(mysql_error());

$updateGoTo = "uebersicht1.php";
  if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
    $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
    $updateGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $updateGoTo));
}

mysql_select_db($database_conAbwesenheit, $conAbwesenheit);
$query_Recordset1 = "SELECT * FROM tblabwesenheit";
$Recordset1 = mysql_query($query_Recordset1, $conAbwesenheit) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
  <table align="center">
    <tr valign="baseline">
      <td nowrap align="right">ID:</td>
      <td><?php echo $row_Recordset1['ID']; ?></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Vorname:</td>
      <td><input type="text" name="Vorname" value="<?php echo $row_Recordset1['Vorname']; ?>" size="32">
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Nachname:</td>
      <td><input type="text" name="Nachname" value="<?php echo $row_Recordset1['Nachname']; ?>" size="32">
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Grund:</td>
      <td><input type="text" name="Grund" value="<?php echo $row_Recordset1['Grund']; ?>" size="32">
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Vom:</td>
      <td><input type="text" name="vom" value="<?php echo $row_Recordset1['vom']; ?>" size="32">
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Bis:</td>
      <td><input type="text" name="bis" value="<?php echo $row_Recordset1['bis']; ?>" size="32">
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right"> </td>
      <td><input type="submit" value="Datensatz aktualisieren">
      </td>
    </tr>
  </table>
  <input type="hidden" name="MM_update" value="form1">
  <input type="hidden" name="ID" value="<?php echo $row_Recordset1['ID']; ?>">
<?php if (isset($_GET["ID"]) && is_numeric($_GET["ID"])) {
$ID = $_GET["ID"];
}?></form>
<p> </p>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>

  1. Halihallo Negro

    Beide PHP Seiten habe ich auch schon fertig, allerdings wird mir beim klicken auf den Hyperlink nicht der jeweilige Datensatz angezeigt, der durch den Link mit Übergabe der ID angezeigt werden solte.

    Hast du dir die SQL-Statements mal ausgeben lassen und selber versucht den Fehler so
    zu finden? - Wo sind hier die Debug-Ausgaben im Script?

    Hier mal der Quellcode von beiden Seiten:

    Au waya, das nächstemal könntest du versuchen das Problem mal klein anzugehen und
    Schrittweise zu überprüfen, ob es richtig abläuft, statt ein kurrioses riesenteil
    auf irgendeine Art (sprich: Forumshilfe) verbessern zu wollen/lassen.

    Es wäre super nett wenn mir jemand einen kleinen Tipp geben könnte, was ich falsch mache !
    mysql_select_db($database_conAbwesenheit, $conAbwesenheit);
    $query_Recordset1 = "SELECT * FROM tblabwesenheit";

    So auf den ersten Blick würde ich meinen, dass du hier den Datensatz mit der Id ID
    auch selektieren lassen solltest, sprich: WHERE Klausel.

    Viele Grüsse

    Philipp

    --
    RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
    Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
    1. Hi,

      so viel Ahnung habe ich auch nicht von PHP, aber wer könnte mir in speziell meinem Falle einen Tipp geben ?

      MFG
      Negro

      1. hi,

        so viel Ahnung habe ich auch nicht von PHP, aber wer könnte mir in speziell meinem Falle einen Tipp geben ?

        die tipps hast du schon bekommen!

        nochmal:

        • wo sind deine debug-ausgaben?
        • wo ist die WHERE-klausel, um auch wirklich gezielt einen speziellen datensatz auszulesen?

        gruss,
        wahsaga