Zum Inhalt springen

Wo ist der Fehler ...


Empfohlene Beiträge

Dieser Code geht ....

<?PHP

//Funktion zum Ändern eines Datensatzes
Function update_data ($idkunde,$dblink)
{

$result = mysql_query("SELECT * FROM ref_gas WHERE id=".$idkunde,$dblink);

//Erst mal gucken, ob was drin ist
If ($result)
{
$row=mysql_fetch_array($result);

//Form für die Dateneingabe erstellen
echo '<form action="?" method="post">

//Eingabefelder der Form
<table width="740" border="0" cellspacing="2" cellpadding="0">
<tr>
<td>Jahr</td>
<td>Auftragsnummer</td>
<td>Kunde</td>
<td>Projekt</td>
<td>Land</td>
<td>Andwendung</td>
</tr>
<tr>
<td><input type="text" name="jahr" size="4" maxlength="8" border="0" value="'.$row["jahr"].'"></td>
<td><input type="text" name="nr" size="14" maxlength="32" border="0" value="'.$row["nr"].'"></td>
<td><input type="text" name="kunde" size="14" maxlength="32" border="0" value="'.$row["kunde"].'"></td>
<td><input type="text" name="projekt" size="14" maxlength="32" border="0" value="'.$row["projekt"].'"></td>
<td><input type="text" name="land" size="14" maxlength="32" border="0" value="'.$row["land"].'"></td>
<td><input type="text" name="anwendung" size="4" maxlength="4" border="0" value="'.$row["anwendung"].'"></td>
<td><input type="hidden" name="id" size="14" maxlength="32" border="0" value="'.$row["id"].'"></td>
</tr>
</table>
<p><input type="submit" name="update" value="OK" border="0"></p>
</form>
';


//If schließen
}

//Funktion Update beenden
}
//ElseIf Abfrage, ob Update gemacht werden soll, dann ausführen und Tabelle anzeigen
ElseIf ($update == "OK"){

$updateSQL = "UPDATE ref_gas SET jahr='".$jahr."', nr='".$nr."', kunde='".$kunde."', projekt='".$projekt."', land='".$land."', anwendung='".$anwendung."' WHERE id='".$id."'";

//echo $updateSQL;
Mysql_query($updateSQL, $db) or die(mysql_error());
Table_show ($db, "SELECT * FROM ref_gas");
//Elseif Update beenden
}

//ist kein action gewählt, wird die Tabelle aufgerufen
Else {
Table_show($db, "SELECT * FROM ref_gas");
//Else beenden
}
?PHP>[/PHP]

dieser nicht

[PHP]<?PHP


//Funktion zum Ändern eines Datensatzes
Function update_data ($idkunde,$dblink)
{

$result = mysql_query("SELECT * FROM kontakte WHERE id=".$idkunde,$dblink);

//Erst mal gucken, ob was drin ist
If ($result)
{
$row=mysql_fetch_array($result);

//Form für die Dateneingabe erstellen
echo '<form action="?" method="post">

//Eingabefelder der Form
<table width="740" border="0" cellspacing="2" cellpadding="0">
<tr>
<td>Vertrieb</td>
<td>:</td>
<td><input type="text" name="vertrieb" size="38" maxlength="38" border="0" value="'.$row["vertrieb"].'"></td>
</tr>
<tr>
<td>Standort</td>
<td>:</td>
<td><input type="text" name="standort" size="38" maxlength="38" border="0" value="'.$row["standort"].'"></td>
</tr>
<tr>
<td>Name</td>
<td>:</td>
<td><input type="text" name="name" size="38" maxlength="38" border="0" value="'.$row["name"].'"></td>
</tr>
<tr>
<td>Funktion</td>
<td>:</td>
<td><input type="text" name="funktion" size="38" maxlength="38" border="0" value="'.$row["funktion"].'"></td>
</tr>
<tr>
<td>Telefon</td>
<td>:</td>
<td><input type="text" name="telefon" size="38" maxlength="38" border="0" value="'.$row["telefon"].'"></td>
</tr>
<tr>
<td>Fax</td>
<td>:</td>
<td><input type="text" name="fax" size="38" maxlength="4" border="0" value="'.$row["fax"].'"></td>
</tr>
<tr>
<td>E-Mail</td>
<td>:</td>
<td><input type="text" name="mail" size="38" maxlength="64" border="0" value="'.$row["mail"].'"> (sichtbar auf derAnsprechpartner-Seite)</td>
</tr>
<tr>
<td>Real E-Mail</td>
<td>:</td>
<td><input type="text" name="real_mail" size="38" maxlength="64" border="0" value="'.$row["real_mail"].'"> (unsichtbar auf der Anprechpartner-Seite)</td>
</tr>
</table>
<p><input type="submit" name="update" value="OK" border="0"></p>
</form>
';


//If schließen
}

//Funktion Update beenden
}

//ElseIf Abfrage, ob Update gemacht werden soll, dann ausführen und Tabelle anzeigen
ElseIf ($update == "OK"){

$updateSQL = "UPDATE kontakte SET vertrieb='".$vertrieb."', standort='".$standort."', name='".$name."', funktion='".$funktion."', telefon='".$telefon."', fax='".$fax."', mail='".$mail."' , real_mail='".$real_mail."' WHERE id='".$id."'";

//echo $updateSQL;
Mysql_query($updateSQL, $db) or die(mysql_error());
Table_show ($db, "SELECT * FROM kontakte");
//Elseif Update beenden
}
?PHP>

Beim ersten Code kann ich die Datenbank updaten und die Änderungen übernehmen. Beim zweiten Code passiert garnichts wenn man auf OK drückt .. also es wird nichts in die DB eingetragen. Komisch, hat hat mal funktioniert, aber ich hab da bestimmt nur irgendwo was vergessen!

Bitte um Hilfe! Danke!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was hat sich denn geändert (Script, Server, ...)?

Es wäre nett, wenn du das Problem etwas spezifizieren könntest.

- Woher kommen die Inhalte für $vertrieb, etc.?

- Stehen vielleicht Sonderzeichen in Werten?

- Vielleicht irgendeine Bedingung nicht erfüllt?

- Führt er das Update überhaupt aus? -> ggf. mal die Fehlerausgabe und den SQL-String posten

Link zu diesem Kommentar
Auf anderen Seiten teilen

bei unteren habe ich nur das Formular neugeschrieben ... ich bekomme keine Fehlermeldung, dass ist ja das Lustige ... er überträgt einfachn icht die Variablen der Formularfelder in die Datenbank. Oben ist eigentlich genau der gleche Code für ein anderes Formular und da geht alles!!! Kann ich in das Skript irgendwie nen Debugger implementieren?

Link zu diesem Kommentar
Auf anderen Seiten teilen


<?PHP


//Funktion zum Ändern eines Datensatzes
Function update_data ($idkunde,$dblink)
{

echo "UPDATE_DATA wird ausgeführt...."; // Testausgabe

$result = mysql_query("SELECT * FROM kontakte WHERE id=".$idkunde,$dblink);

//Erst mal gucken, ob was drin ist
If ($result)
{
$row=mysql_fetch_array($result);

//Form für die Dateneingabe erstellen
echo '<form action="?" method="post">

//Eingabefelder der Form
<table width="740" border="0" cellspacing="2" cellpadding="0">
<tr>
<td>Vertrieb</td>
<td>:</td>
<td><input type="text" name="vertrieb" size="38" maxlength="38" border="0" value="'.$row["vertrieb"].'"></td>
</tr>
<tr>
<td>Standort</td>
<td>:</td>
<td><input type="text" name="standort" size="38" maxlength="38" border="0" value="'.$row["standort"].'"></td>
</tr>
<tr>
<td>Name</td>
<td>:</td>
<td><input type="text" name="name" size="38" maxlength="38" border="0" value="'.$row["name"].'"></td>
</tr>
<tr>
<td>Funktion</td>
<td>:</td>
<td><input type="text" name="funktion" size="38" maxlength="38" border="0" value="'.$row["funktion"].'"></td>
</tr>
<tr>
<td>Telefon</td>
<td>:</td>
<td><input type="text" name="telefon" size="38" maxlength="38" border="0" value="'.$row["telefon"].'"></td>
</tr>
<tr>
<td>Fax</td>
<td>:</td>
<td><input type="text" name="fax" size="38" maxlength="4" border="0" value="'.$row["fax"].'"></td>
</tr>
<tr>
<td>E-Mail</td>
<td>:</td>
<td><input type="text" name="mail" size="38" maxlength="64" border="0" value="'.$row["mail"].'"> (sichtbar auf derAnsprechpartner-Seite)</td>
</tr>
<tr>
<td>Real E-Mail</td>
<td>:</td>
<td><input type="text" name="real_mail" size="38" maxlength="64" border="0" value="'.$row["real_mail"].'"> (unsichtbar auf der Anprechpartner-Seite)</td>
</tr>
</table>
<p><input type="submit" name="update" value="OK" border="0"></p>
</form>
';


//If schließen
}

//Funktion Update beenden
}

//ElseIf Abfrage, ob Update gemacht werden soll, dann ausführen und Tabelle anzeigen
ElseIf ($update == "OK"){

$updateSQL = "UPDATE kontakte SET vertrieb='".$vertrieb."', standort='".$standort."', name='".$name."', funktion='".$funktion."', telefon='".$telefon."', fax='".$fax."', mail='".$mail."' , real_mail='".$real_mail."' WHERE id='".$id."'";

//echo $updateSQL;
Mysql_query($updateSQL, $db) or die(mysql_error());
Table_show ($db, "SELECT * FROM kontakte");
//Elseif Update beenden
}
?PHP>
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dieser Code geht [...]dieser nicht

Yep, und zwar weil in Deinem ersten Code die ID als <input type="hidden"> an das Update übergeben wird (und somit die WHERE-Bedingung zutrifft), während im zweiten Codeschnippsel diese hidden-Variable im form nicht vorkommt (wodurch die WHERE-Bedingung immer FALSE ist).

ICQ

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...