Frage zum Übergeben von Werten
Negro
- php
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);
?>
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
Hi,
so viel Ahnung habe ich auch nicht von PHP, aber wer könnte mir in speziell meinem Falle einen Tipp geben ?
MFG
Negro
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:
gruss,
wahsaga