'update' & 'select like' geht nicht

handyaner

Grünschnabel
hallo

habe ein script geschrieben mit dem ich db datensätze auslese und berabeiten kann. unter anderem auch suchen und sortieren.

leider klappt es mit den funktionen ändern und suchen nicht.
eintragen, löschen und sortieren funtzt einwandfrei.
habe mal versucht den fehler zu finden indem ich über all dort wo es relevant ist, echos zu setzten.
also als erstes zum datensatz ändern (case5)
also es klappt das das script ins case5 springt und die id mit nimmt, das sehe ich ja an der url (http://stw01/intra/mbr/edit.php?sort=5&id=19)
klicke ich auf "ändern" wird nur ein leerer datensatz übetragen.
per echo steht dann folgendes "UPDATE mbr_freizeit_wa SET datum = '', zeit ='', art = '' WHERE id ='19'1Resource id #5"

zur suche(case7)
gebe ich einen suchbefehl ein, und klicke auf suchen, kommt folgende meldung, dank echo "SELECT id,datum,zeit,art FROM mbr_freizeit_wa WHERE datum like '%%' and zeit like '%%' and art like '%suchbegriff%'Resource id #5Resource id #6".
aber mir wird nicht nur der datensatz gezeigt, der das wort "suchbegriff" enhaält, sondern alle daensätze, wie vor der suche ja auch schon zu sehen waren.

hahe mich durch google, tutorials, und diesem forum gekämpft, aber ekien lösung gefunden, die dann bei meinen fall auch funktioniert


PHP:
<table border="1" width="100%">
  <tr bgcolor="#80EEEE">
	  
    <td width="3%" ><B><a href="edit.php?sort=0">Nr</a></B></td>
    <td width="25%" ><B><a href="edit.php?sort=1">Datum</a></B></td>
    <td width="25%" ><B><a href="edit.php?sort=2">Zeit</a></B></td>
    <td width="37%" ><B><a href="edit.php?sort=3">Art</a></B></td>
    <td width="10%" ><B>Bearbeitung</B></td>
  </tr>
  <? // formularfeld für die suche ?>
  <form action="edit.php?sort=7" method="post">
  <tr bgcolor="#80EEEE">
    <td width="3%" >&nbsp;</td>
    <td width="25%" ><input name="datum1" type="text" id="datum" size="10"></td>
    <td width="25%" ><input name="zeit1" type="text" id="zeit" size="10"></td>
    <td width="37%" ><input name="art1" type="text" id="art" size="50"></td>
    <td width="10%" ><input type="submit" name="Submit" value="einfügen"></td>
	</form>
  </tr>  
  	 <? // formularfeld für das eintragen ?>
	<form action="edit.php?sort=4" method="post">
 	<tr bgcolor="#80EEEE">
   	<td width="3%" >&nbsp;</td>
    <td width="25%" ><input name="datum2" type="text"  size="10">JJJJ-MM-TT </td>-
    <td width="25%" ><input name="zeit2" type="text"  size="10">std:min:sek </td>
    <td width="37%" ><input name="art2" type="text"  size="50"></td>
    <td width="10%" ><input type="submit" name="Submit" value="einfügen"></td>
	</form>
  </tr>
  
<?
include ("config.inc.php");
include ("../php/fn_global.inc.php");
$link = OpenDatabase ();
$sql = "SELECT id, datum, zeit, art FROM mbr_freizeit_wa";


switch ($_GET["sort"])
{
    case 0: $sql = $sql . " order by id";		// sortiert nach id
            break;
    case 1: $sql = $sql . " order by datum";	// sortiert nach datum
            break;
    case 2: $sql = $sql . " order by zeit";		// sortiert nach zeit
            break;
    case 3: $sql = $sql . " order by art";		// sortiert nach art
	        break;
			
			// datum, zeit, art wird eingefügt
    case 4: $sql1 = "INSERT INTO mbr_freizeit_wa SET datum = '" . $_POST["datum2"] . "', 
			zeit ='" . $_POST["zeit2"] . "', art = '" . $_POST["art2"] . "'";	
			$result = mysql_query($sql1,$link);
			$sql = $sql . " order by id";
			break;
			
			// datum, zeit, art wird geändert
    case 5: $sql1 = "UPDATE mbr_freizeit_wa SET datum = '" . $_POST["datum3"] . "',
			zeit ='" . $_POST["zeit3"] . "', art = '" . $_POST["art3"] . "' WHERE id ='".$id."'";
			echo $sql1;
			$result = mysql_query($sql1,$link);
			echo $result;
			$sql = $sql . " order by id";
			if (mysql_errno()) die ("MySQL-Error: " . mysql_error());	
            break;
			
			// datum, zeit, art wird wird gelöscht
    case 6: $sql1 = "DELETE FROM mbr_freizeit_wa WHERE id ='".$id."'"; 
			$result = mysql_query($sql1,$link);
			$sql = $sql . " order by id";
			break;
			
			// nach datum, zeit, art wird gesucht
	case 7: $sql1 = "SELECT id,datum,zeit,art FROM mbr_freizeit_wa WHERE";
			$sql1 .=" datum like '%" . $_POST["datum1"] . "%'";
			$sql1 .=" and zeit like '%" . $_POST["zeit1"] . "%'";
			$sql1 .=" and art like '%" . $_POST["art1"] . "%'";		
			echo $sql1;
			$result = mysql_query($sql1,$link);
			echo $result;
			$sql = $sql . " order by id";
			if (mysql_errno()) die ("MySQL-Error: " . mysql_error());	
            break;
}

$result = mysql_query($sql,$link);
echo $result;
if (mysql_errno()) die ("MySQL-Error: " . mysql_error());

// Spalteninhalte
   while ($dsatz = mysql_fetch_assoc($result))
   {
   		echo "<tr bgcolor='#EEFFCC'>";
		echo "<td>" . $dsatz["id"] . "</td>"; 
		echo "<td width='10%' ><input name='datum3' type='text'  value='" . $dsatz["datum"] . "' size='10'></td>";
   		echo " <td width='10%' ><input name='zeit3' type='text'  value='" . $dsatz["zeit"] . "' size='10'></td>";
  		echo " <td width='37%' ><input name='art3' type='text'  value='" . $dsatz["art"] . "' size='50'></td>";
		
		echo "<td ><B><a href='edit.php?sort=5&id=" . $dsatz["id"]. "'>&auml;nderrn</a></B>";
		echo "<B><a href='edit.php?sort=6&id=" . $dsatz["id"]. "'> l&ouml;schen</a></B></td></tr>";
		
	}
?>
<tr bgcolor="#80EEEE"><td colspan="5"><br>  <div align="center">
<p>Abfahrt zu den Fahrten ist jeweils am Eingang WH-4<br>Bitte melden Sie sich rechtzeitig beim FPD, Int.2 (Tel. 1250),oder abends in der Cafeteria am See an</p>
</div></td></tr>
</table>
 
Zuletzt bearbeitet:
das habe ich ja auch getestet (WHERE id ='".$_POST[id]."'";)
per echo wird folgendes angezeigt "UPDATE mbr_freizeit_wa SET datum = '', zeit ='', art = '' WHERE id =''1Resource id #5"
aber damit wird keine id übermittelt, mit WHERE id ='".$id."'"; aber schon,
per echo wird folgendes angezeigt "UPDATE mbr_freizeit_wa SET datum = '', zeit ='', art = '' WHERE id ='19'1Resource id #5"
an dem id kann es nicht liegen

WICHTIG!
habe es mit der suche hinbekommen, habe nun nur noch das problem mit dem ändern
also mit folgenden php teil
PHP:
<?
include ("config.inc.php");
include ("../php/fn_global.inc.php");
$link = OpenDatabase ();
$sql = "SELECT id, datum, zeit, art FROM mbr_freizeit_wa";
switch ($_GET["sort"])
{
	// datum, zeit, art wird geändert
    case 5: $sql1 = "UPDATE mbr_freizeit_wa SET datum = '" . $_POST["datum"] . "',
			zeit ='" . $_POST["zeit"] . "', art = '" . $_POST["art"] . "' WHERE id ='".$id."'";
			echo $sql1;
			$result = mysql_query($sql1,$link);
			echo $result;
			$sql = $sql . " order by id";
			if (mysql_errno()) die ("MySQL-Error: " . mysql_error());	
   			break;
}
$result = mysql_query($sql,$link);	
// Spalteninhalte
   while ($dsatz = mysql_fetch_assoc($result))
   {
   		echo "<tr bgcolor='#EEFFCC'>";
		echo "<td>" . $dsatz["id"] . "</td>"; 
		echo "<td width='10%' ><input name='datum' type='text'  value='" . $dsatz["datum"] . "' size='10'></td>";
   		echo " <td width='10%' ><input name='zeit' type='text'  value='" . $dsatz["zeit"] . "' size='10'></td>";
  		echo " <td width='37%' ><input name='art' type='text'  value='" . $dsatz["art"] . "' size='50'></td>";
		echo "<td ><B><a href='update_mbr_freizeit_wa.php?sort=5&id=" . $dsatz["id"]. "'>&auml;nderrn</a></B>";
		echo "<B><a href='delete_mbr_freizeit_wa.php?sort=6&id=" . $dsatz["id"]. "'> l&ouml;schen</a></B></td></tr>";
		
	}
?>
 
Zuletzt bearbeitet:
habe jetzt mal folgendes probiert
PHP:
<?
include ("config.inc.php");
include ("../php/fn_global.inc.php");
$link = OpenDatabase ();
$sql = "SELECT id, datum, zeit, art FROM mbr_freizeit_wa";
switch ($_GET["sort"])
{
// datum, zeit, art wird geändert
case 5: $sql1 = "UPDATE mbr_freizeit_wa SET datum = '" . $_POST["datum"] . "',
zeit ='" . $_POST["zeit"] . "', art = '" . $_POST["art"] . "' WHERE id ='".$_POST["id"]."'";
echo $sql1;
$result = mysql_query($sql1,$link);
echo $result;
$sql = $sql . " order by id";
if (mysql_errno()) die ("MySQL-Error: " . mysql_error());
break;

}
$result = mysql_query($sql,$link);
// Spalteninhalte
while ($dsatz = mysql_fetch_assoc($result))
{
echo "<tr bgcolor='#EEFFCC'>";
echo "<td>" . $dsatz["id"] . "</td>";
echo "<td width='10%' ><input name='datum' type='text' value='" . $dsatz["datum"] . "' size='10'></td>";
echo " <td width='10%' ><input name='zeit' type='text' value='" . $dsatz["zeit"] . "' size='10'></td>";
echo " <td width='37%' ><input name='art' type='text' value='" . $dsatz["art"] . "' size='50'></td>";
echo "<td ><B><a href='update_mbr_freizeit_wa.php?sort=5&id=" . $dsatz["id"]. "'>änderrn</a></B>";
echo "<B><a href='delete_mbr_freizeit_wa.php?sort=6&id=" . $dsatz["id"]. "'> löschen</a></B></td></tr>";

}
?>
aber leider wird jetzt nichts geändert und das echo gibt folgendes aus "update mbr_freizeit_wa SET datum = '', zeit ='', art = '' WHERE id =''1"

hat denn keiner eine idee wie man das prob lösen könnte
 
Zuletzt bearbeitet:
Zurück