Daten ändern (finde den Fehler nicht)

Sambistas

Grünschnabel
Mein Problem ist, das es die Daten nicht überschreibt, also gar nichts macht... Hoffentlich könnt ihr mir helfen... Ein Teil des Scripts seht ihr hier:
Zuerst wo man die Daten einfach so sieht:
PHP:
<?php
function res($ausgabe)
{
$ausgabe = str_replace("0", "<img src='frei.gif'>", $ausgabe);
$ausgabe = str_replace("1", "<img src='besetzt.gif'>", $ausgabe);
return($ausgabe);
}
$benutzer = "benuter";
$passwort = "passwort";
$db = "datenbank";
$link =  mysql_connect( "localhost", $benutzer, $passwort);
if ( ! $link )
    die( "Keine Verbindung zu MySQL" );
mysql_select_db( $db, $link )
    or die ( "Konnte Datenbank \"$db\" nicht öffnen: ".mysql_error() );

print "
<table>
       <tr>
              <td>Monat/Tag</td>
   <td>01</td>   <td>02</td>   <td>03</td>   <td>04</td>
   <td>05</td>   <td>06</td>   <td>07</td>   <td>08</td>
   <td>09</td>   <td>10</td>   <td>11</td>   <td>12</td>
   <td>13</td>   <td>14</td>   <td>15</td>   <td>16</td>
   <td>17</td>   <td>18</td>   <td>19</td>   <td>20</td>
   <td>21</td>   <td>22</td>   <td>23</td>   <td>24</td>
   <td>25</td>   <td>26</td>   <td>27</td>   <td>28</td>
   <td>29</td>   <td>30</td>   <td>31</td>
          </tr>
";

$januar = mysql_query("select * from januar");
while ( $zeile = mysql_fetch_array( $januar ) )
 {
print res("
<tr>
    <td>Januar</td>
    <td>$zeile[1]</td>     <td>$zeile[2]</td>     <td>$zeile[3]</td>     <td>$zeile[4]</td>
    <td>$zeile[5]</td>     <td>$zeile[6]</td>     <td>$zeile[7]</td>     <td>$zeile[8]</td>
    <td>$zeile[9]</td>     <td>$zeile[10]</td>    <td>$zeile[11]</td>    <td>$zeile[12]</td>
    <td>$zeile[13]</td>    <td>$zeile[14]</td>    <td>$zeile[15]</td>    <td>$zeile[16]</td>
    <td>$zeile[17]</td>    <td>$zeile[18]</td>    <td>$zeile[19]</td>    <td>$zeile[20]</td>
    <td>$zeile[21]</td>    <td>$zeile[22]</td>    <td>$zeile[23]</td>    <td>$zeile[24]</td>
    <td>$zeile[25]</td>    <td>$zeile[26]</td>    <td>$zeile[27]</td>    <td>$zeile[28]</td>
    <td>$zeile[29]</td>    <td>$zeile[30]</td>    <td>$zeile[31]</td>
    </tr>
");
}
print "</table>";
mysql_close( $link )

?>
Dann für den Adminbereich die Bearbeitung:
PHP:
<html>
<head>
<title></title>

</head>
<body>
<h1>Bearbeiten</h1>
<?php
$benutzer = "benutzer";
$passwort = "passwort";
$db = "datenbank";
$link =  mysql_connect( "localhost", $benutzer, $passwort);
if ( ! $link )
    die( "Keine Verbindung zu MySQL" );
mysql_select_db( $db, $link )
    or die ( "Konnte Datenbank \"$db\" nicht öffnen: ".mysql_error() );
print "
<table>
       <tr>
              <td>Tag/Monat</td>
   <td>1</td>   <td>2</td>   <td>3</td>   <td>4</td>
   <td>5</td>   <td>6</td>   <td>7</td>   <td>8</td>
   <td>9</td>   <td>10</td>   <td>11</td>   <td>12</td>
   <td>13</td>   <td>14</td>   <td>15</td>   <td>16</td>
   <td>17</td>   <td>18</td>   <td>19</td>   <td>20</td>
   <td>21</td>   <td>22</td>   <td>23</td>   <td>24</td>
   <td>25</td>   <td>26</td>   <td>27</td>   <td>28</td>
   <td>29</td>   <td>30</td>   <td>31</td>
          </tr>
";
$januar = mysql_query("select * from januar");
while ( $zeile = mysql_fetch_array( $januar ) )
 {
print "
<form action=andern.php method=post>
<tr>
    <td>Januar</td>
<td><input type=Text name=1 value=$zeile[1] size=1></td>
<td><input type=Text name=2 value=$zeile[2] size=1></td>
<td><input type=Text name=3 value=$zeile[3] size=1></td>
<td><input type=Text name=4 value=$zeile[4] size=1></td>
<td><input type=Text name=5 value=$zeile[5] size=1></td>
<td><input type=Text name=6 value=$zeile[6] size=1></td>
<td><input type=Text name=7 value=$zeile[7] size=1></td>
<td><input type=Text name=8 value=$zeile[8] size=1></td>
<td><input type=Text name=9 value=$zeile[9] size=1></td>
<td><input type=Text name=10 value=$zeile[10] size=1></td>
<td><input type=Text name=11 value=$zeile[11] size=1></td>
<td><input type=Text name=12 value=$zeile[12] size=1></td>
<td><input type=Text name=13 value=$zeile[13] size=1></td>
<td><input type=Text name=14 value=$zeile[14] size=1></td>
<td><input type=Text name=15 value=$zeile[15] size=1></td>
<td><input type=Text name=16 value=$zeile[16] size=1></td>
<td><input type=Text name=17 value=$zeile[17] size=1></td>
<td><input type=Text name=18 value=$zeile[18] size=1></td>
<td><input type=Text name=19 value=$zeile[19] size=1></td>
<td><input type=Text name=20 value=$zeile[20] size=1></td>
<td><input type=Text name=21 value=$zeile[21] size=1></td>
<td><input type=Text name=22 value=$zeile[22] size=1></td>
<td><input type=Text name=23 value=$zeile[23] size=1></td>
<td><input type=Text name=24 value=$zeile[24] size=1></td>
<td><input type=Text name=25 value=$zeile[25] size=1></td>
<td><input type=Text name=26 value=$zeile[26] size=1></td>
<td><input type=Text name=27 value=$zeile[27] size=1></td>
<td><input type=Text name=28 value=$zeile[28] size=1></td>
<td><input type=Text name=29 value=$zeile[29] size=1></td>
<td><input type=Text name=30 value=$zeile[30] size=1></td>
<td><input type=Text name=31 value=$zeile[31] size=1></td>
<td><input type=hidden name=tabelle value=januar></td>
<td><input type=Submit name=andern value=ändern></td>
</tr></form>
";
}
print "</table>";
mysql_close( $link )
?>
</body>
</html>
Nun die ändern datei:
PHP:
<?php
$benutzer = "benutzer";
$passwort = "passwort";
$db = "datenbank";
$link =  mysql_connect( "localhost", $benutzer, $passwort);
if ( ! $link )
    die( "Keine Verbindung zu MySQL" );
mysql_select_db( $db, $link )
    or die ( "Konnte Datenbank \"$db\" nicht öffnen: ".mysql_error() );
$anfrage = ("UPDATE $tabelle SET 1 = '$1', 2 = '$2', 3 = '$3', 4 = '$4', 5 = '$5', 6 = '$6', 7 = '$7', 8 = '$8', 9 = '$9', 10 = '$10', 11 = '$11', 12 = '$12', 13 = '$13', 14 = '$14', 15 = '$15', 16 = '$16', 17 = '$17', 18 = '$18', 19 = '$19', 20 = '$20', 21 = '$21', 22 = '$22', 23 = '$23', 24 = '$24', 25 = '$25', 26 = '$26', 27 = '$27', 28 = '$28', 29 = '$29', 30 = '$30', 31 = '$31' WHERE id = '1'");
$update = mysql_query($anfrage);
mysql_close( $link )
?>
<?
include ("reservation.php");
?>

Hoffentlich könnt ihr mir helfen, danke schon im voraus
 
hmm sollte eigentlich gehen schaue doch mal ob du nen ' oder , vergessen hast kann bei solangen Updates schonn mal passieren :-)

Gruß Badgott
 
erstens: wozu schreibt man wohl solche Hinweiße:


Auch schlecht:
Hallo ich habe einen Fehler hier der Code der index.php
follgend 200 Zeilen PHP - HTML Code



2.: wofür steht die variable $tabelle, diese wird nämlich nie definiert, jedenfalls kann ich nichts passendes finden.

3.: gib, wenn du fehler hast mit Datenbanken wenn möglich den Vollständigen $querystring mit an, dann kannst du sehen ob er überhaupt richtig gebildet wurde. Wenn ein Fehler auftauchen sollte kannst du diese mit mysql_error() ausgeben. Das hilft uns bei der Fehlersuche etwas weiter und müssen nicht 500 Zeilen Script durchforsten
 
Zuletzt bearbeitet:
das problem hatte ich auch, es liegt daran, dass du die spalten nur mit einer zahl benannt hast.

wenn das so ist, musst du die spaltennamen in `hockommata` setzen.

PHP:
$anfrage = ("UPDATE $tabelle SET `1` = '$1', `2` = '$2', `3` = '$3', `4` = '$4', `5` = '$5', `6` = '$6', `7` = '$7', `8` = '$8', `9` = '$9', `10` = '$10', `11` = '$11', `12` = '$12', `13` = '$13', `14` = '$14', `15` = '$15', `16` = '$16', `17` = '$17', `18` = '$18', `19` = '$19', `20` = '$20', `21` = '$21', `22` = '$22', `23` = '$23', `24` = '$24', `25` = '$25', `26` = '$26', `27` = '$27', `28` = '$28', `29` = '$29', `30` = '$30', `31` = '$31' WHERE `id` = '1'");
 
hab das mit den `hochkommata` versucht...
Das Resultat:
nun habe ich die Variable in der Tabelle gespeichert
also es zeigt nur noch $1 $2 $3 $4 $5 $6 $7 $8 $9 an und nicht die Zahlen die ich eingeschrieben habe.
bin fast am verzweifeln...
 
normalerweise sollte man solche langen anfragen auch per . verbinden.

PHP:
$anfrage = ('UPDATE '.$tabelle." SET `1` = '".$1."', `2` = '".$2."', `3` = '".$3."', `4` = '".$4."', `5` = '".$5."', `6` = '".$6."', `7` = '".$7."', `8` = '".$8."', `9` = '".$9."', `10` = '".$10."', `11` = '".$11."', `12` = '".$12."', `13` = '".$13."', `14` = '".$14."', `15` = '".$15."', `16` = '".$16."', `17` = '".$17."', `18` = '".$18."', `19` = '".$19."', `20` = '".$20."', `21` = '".$21."', `22` = '".$22."', `23` = '".$23."', `24` = '".$24."', `25` = '".$25."', `26` = '".$26."', `27` = '".$27."', `28` = '".$28."', `29` = '".$29."', `30` = '".$30."', `31` = '".$31."' WHERE `id` = '1'");

dann kannst du am syntax-highlighting schon sehen ob alles ok ist und die variablen stehen nicht so teilweise mißverständlich im string.
 
hab es mal so probiert wie brÅinstorm es dargestellt hat:
PHP:
$anfrage = ("UPDATE '".$tabelle."' SET `1` = '".$1."', `2` = '".$2."', `3` = '".$3."', `4` = '".$4."', `5` = '".$5."', `6` = '".$6."', `7` = '".$7."', `8` = '".$8."', `9` = '".$9."', `10` = '".$10."', `11` = '".$11."', `12` = '".$12."', `13` = '".$13."', `14` = '".$14."', `15` = '".$15."', `16` = '".$16."', `17` = '".$17."', `18` = '".$18."', `19` = '".$19."', `20` = '".$20."', `21` = '".$21."', `22` = '".$22."', `23` = '".$23."', `24` = '".$24."', `25` = '".$25."', `26` = '".$26."', `27` = '".$27."', `28` = '".$28."', `29` = '".$29."', `30` = '".$30."', `31` = '".$31."' WHERE `id` = '1'");
da gibt es mir einen Fehler:
Parse error: parse error, expecting `T_VARIABLE' or `'$'' in andern.php on line 10
ich bekomm langsam ein blackout... wenn ihr mir helfen könnt dann vielen dank
 
Zurück