Bearbeiten von MySQL Einträgen

Lass dir mal bitte bevor du das Update machst die übergebenen Variablen ausgeben...
Dann weisst du mit was dein mysql_query arbeiten muss und siehst evtl einen Fehler.

Wenn nicht alle Variablen richtig übergeben werden, arbeitet mysq_query mit falschen Variablen und kann dann nicht ausgeführt werden.
Das erklärt dann dein Problem mit der Fehlermeldung..
Du gibst die Fehlermeldung aus wenn der query nicht funktioniert.. also weisst du doch, dass es definitiv am query liegt..
Wenn du jetz noch ein bisschen suchst, hast du den Fehler in Null-Komma-Nix..

MFG
 
@ GiFt-ZwErG

Wie übergebe ich denn meine verschiedenen Variablen um festzustellen was ich überhaupt für eine Aktion durchführen möchte und das ganze alles mit einer Datei.

Habe z.b einen Button mit Löschen und einen mit Bearbeiten.

mfg,Olli
 
Ihr müsst mich echt für blöd halten, aber ich raffs nicht...

Hier noch ein letztes mal mein jetztiger Code, ansonsten geb ich glaub ich auf...


Anzeige:
PHP:
<?php

$host = "localhost";
$user = "xxx";
$password = "xxx";
$dbname = "xxx";
$tabelle ="xxx";

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "SELECT * FROM $tabelle ORDER BY Jahr, Monat, Tag";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);

 while ($ausgabe = mysql_fetch_array ($result))
 {

 print ("$ausgabe[Wochentag], $ausgabe[Tag].$ausgabe[Monat].$ausgabe[Jahr]<br>$ausgabe[Stunde]:$ausgabe[Minute] Uhr - $ausgabe[Ereignis]&nbsp;&nbsp;&nbsp;<a href=termineaktivewehr.php?id=".$ausgabe['id']." target=_self><img src=b_edit.png border=0></a><br><hr><br>");
 }

mysql_close ($dbverbindung)

?>


Die Tabelle zum Editieren:
PHP:
<html>
<head>
<title>Feuerwehr Sonnefeld - Termine aktive Wehr</title>
</head>

<body>
<form action="termineaktivewehr_speichern.php">
  	<table border="0" align="left" cellpadding="5" cellspacing="0" bgcolor="#E5E5E5">

      <tr>
	  <td></td>
      <td align="left" style="font-family:HandelGothic BT; font-size:25px; color:#d33736"><b><i><p>Termine aktive Wehr</p><i><b> <p>&nbsp;</p></td>
	  
</tr>

<tr>
      		<td align="right" style="font-family:HandelGothic BT">Termine</td>
     
      		<td align="left" style="font-family:HandelGothic BT"><p>
			Tag<select name="Array[Wochentag]">
      			<option selected>Montag</option>
      			<option>Dienstag</option><option>Mittwoch</option><option>Donnerstag</option><option>Freitag</option><option>Samstag</option><option>Sonntag</option>
    		</select>
			Datum<select name="Array[Tag]">
      			<option selected>01</option>
      			<option>02</option><option>03</option><option>04</option><option>05</option><option>06</option><option>07</option><option>08</option>
			  	<option>09</option><option>10</option><option>11</option><option>12</option><option>13</option><option>14</option><option>15</option>
		  		<option>16</option><option>17</option><option>18</option><option>19</option><option>20</option><option>21</option><option>22</option>
	  			<option>23</option><option>24</option><option>25</option><option>26</option><option>27</option><option>28</option><option>29</option>
	  			<option>30</option><option>31</option>
    		</select>
    		<select name="Array[Monat]">
      			<option selected>01</option>
      			<option>02</option><option>03</option><option>04</option><option>05</option><option>06</option><option>07</option><option>08</option>
				<option>09</option><option>10</option><option>11</option><option>12</option>
    		</select>
	    	<select name="Array[Jahr]">
		    	<option>2008</option><option selected>2007</option><option>2006</option>
	  		</select>
			Uhrzeit<select name="Array[Stunde]">
	  			<option selected>00</option>
      			<option>01</option><option>02</option><option>03</option><option>04</option><option>05</option><option>06</option><option>07</option>
	  			<option>08</option><option>09</option><option>10</option><option>11</option><option>12</option><option>13</option><option>14</option>
	  			<option>15</option><option>16</option><option>17</option><option>18</option><option>19</option><option>20</option><option>21</option>
	  			<option>22</option><option>23</option><option>24</option>
    		</select>
			<select name="Array[Minute]">
 	  		<option selected>0</option>
     	 		<option>01</option><option>02</option><option>03</option><option>04</option><option>05</option><option>06</option><option>07</option>
	  			<option>08</option><option>09</option><option>10</option><option>11</option><option>12</option><option>13</option><option>14</option>
				<option>15</option><option>16</option><option>17</option><option>18</option><option>19</option><option>20</option><option>21</option>
			  	<option>22</option><option>23</option><option>24</option><option>25</option><option>26</option><option>27</option><option>28</option>
			  	<option>29</option><option>30</option><option>31</option><option>32</option><option>33</option><option>34</option><option>35</option>
		      	<option>36</option><option>37</option><option>38</option><option>39</option><option>40</option><option>41</option><option>42</option>
			  	<option>43</option><option>44</option><option>45</option><option>46</option><option>47</option><option>48</option><option>49</option>
			  	<option>50</option><option>51</option><option>52</option><option>53</option><option>54</option><option>55</option><option>56</option>
			  	<option>57</option><option>58</option><option>59</option>
   	  		</select><br>
			Ereignis<input name="Array[Ereignis]" type="text" size="90" maxlength="500"></p>
			<p>&nbsp;</p></td>
</tr>

<tr>
      <td align="right"></td>
      <td>
        <input type="submit" value=" Speichern ">
        <input type="reset" value=" Zurücksetzen ">
      </td>
</tr>
	
</table>
</form>

</body>
</html>


Und das Update selbst:
PHP:
<?php

$host = "localhost";
$user = "xxx";
$password = "xxx";
$dbname = "xxx";
$tabelle ="xxx";

$dbverbindung = mysql_connect ($host, $user, $password);


$dbanfrage = "UPDATE $tabelle SET ('$Array[Wochentag]', '$Array[Tag]', '$Array[Monat]', '$Array[Jahr], '$Array[Stunde]', '$Array[Minute]', '$Array[Ereignis]') WHERE ID=$_GET[id]";

if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {
print ("Datenbankeintrag erfolgreich.");
} else {
print ("Es traten Probleme auf.");
}
mysql_close ($dbverbindung);

?>
 
Was willst du überhaupt machen?

Möchtest du einen bestehenden Eintrag ändern und ihn neu abspeichern?

oder

möchtest du einen neuen Termin hinzufügen?
 
Es bestehen immer nur 5 Termine. Dh. in meiner Datenbank-Tabelle sind genau 5 Spalten.

Und diese 5 Termine sollen immer aktualisiert werden. Dh. derjenige, der Editiert, nimmt sich den ältesten Termin vor, und ändert ihn ab mit einem neuen Termin.

Auf deutsch, keine Neueinträge, sondern immer nur die bestehenden Einträge verändern...
 
Warum gehst du nicht hin wie ich und löschst automatisch beim Aufrufen der Termin-Tabelle die Termine die älter als einen Tag sind. Damit hast du nur aktuelle Termine auf deiner Seite und kannst dann über ein Formular neue Termine hinzufügen.

Olli
 
Weil die Leute, die später mal an den Sachen arbeiten, die Termine selbst eingeben bzw. aktualisieren wollen. Dh. nichts soll automatisch gelöscht oder verändert werden, die wollen das händisch machen. Deswegen möchte ich eben, dass sie sich einen Termin aussuchen, der rausgenommen werden soll, und den abändern mit dem neuen Termin.

Es geht eben darum, dass auf der späteren HP nur 5 Termine angezeigt werden sollen. Nicht mehr und nicht weniger. Ist mir alles so vorgegeben worden.
 
Dann schau dir nochmal meinen Post 11 an. Mit ausgabe.php , edit.php und update.php wird genau das gemacht.

Du kannst in der ausgabe über einen Radio-Button den gewünschten Termin auswählen. In der edit.php wird der Datensatz in ein Formular geschrieben, kann dann editiert werden und über update.php wieder in DB geschrieben werden.

mfg,Olli
 
@ GiFt-ZwErG

Was meinst du mit Php_Self?
Wie müsste ich das in mein form tag schreiben?

mfg,Olli

Sry hab dein Post übersehen gehabt...


Also, du hast weiterhin deine Formular.html und dann noch eine funktions.php
In die Funktions.php schreibst du folgendes

PHP:
if($_GET['action']=="edit")
{

#HIER KOPIERST DU DEN INHALT DER EDIT.PHP REIN

}


if($_GET['action']=="update")
{

#HIER KOPIERST DU DEN INHALT DER UPDATE.PHP REIN

}


if($_GET['action']=="add")
{

#HIER KOPIERST DU DEN INHALT DER EINFUEGEN.PHP REIN

}


if($_GET['action']=="show")
{

#HIER KOPIERST DU DEN INHALT DER AUSGABE.PHP REIN

}
Dann änderst du dein Formular soweit ab, dass alle Posts an die Funktions.php mit URLParameter gehen anstatt an edit.php usw...
Anstatt
HTML:
<form name="form1" method="post" action="einfuegen.php">
dann
HTML:
<form name="form1" method="post" action="funktions.php?action=add">


Dann hast du 2 Dateien anstatt 5 und hast alle Funktionen in einer Datei..


MFG
Sandro
 
Ok, aber jetzt würde ich doch ständig "add" ansprechen wenn ich auf meinen Button drücke.

Habe aber doch mehre Buttons die ja nach dem drücken dann irgendwie hinter ?action=
einen Wert eintragen müssen (z.b add, edit, update...)

Wie mache ich das?


mfg,Olli
 
Zurück