php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 15-06-2007, 09:42
Kirsten281178
 Newbie
Links : Onlinestatus : Kirsten281178 ist offline
Registriert seit: Jun 2007
Beiträge: 8
Kirsten281178 ist zur Zeit noch ein unbeschriebenes Blatt
Question Datensatzänderung mit PHP funktioiniert nicht

Hallo, ich habe ein PHP Skript, dass Daten in einer Datenbank ändern soll, nachdem ich den Datensatz zurvor in einer Tabelle ausgewählt habe. Leider funktioniert es nicht ganz, wenn ich im Datensatz bin und dort auf ändern klicke wird immer angezeigt "Der Datensatz wurde nicht geändert". Hat jemand eine Idee wo es dran liegen könnte?

Hier die 3 Skripte:

PHP-Code:
<html>
<body>
Wählen Sie aus, welcher Datensatz geändert werden soll:<p>
<form action = "change_b.php" method = "post">
<?php
   $db 
mysql_connect("localhost""root""root");
   
$res mysql_db_query("flatbed_rate",
   
"select * from mileage");
   
$num mysql_num_rows($res);  
   
   
// Tabellenbeginn
   
echo "<table border>";

   
// Überschrift
   
echo "<tr><td>Auswahl</td><td>Customer Name</td>";
   echo 
"<td>Postal Code</td> <td>State</td>";
   echo 
"<td>Country</td> <td>OZK</td>";
   echo 
"<td>LAC</td> <td>MGT</td>";
   echo 
"<td>HCK</td> <td>CHS</td></tr>";


   for (
$i=0$i<$num$i++)
   {
      
$Customer_No mysql_result($res$i"Customer_No");
      
$Customer_Name mysql_result($res$i"Customer_Name");
      
$ZIP mysql_result($res$i"ZIP");
      
$State mysql_result($res$i"State");
      
$Country mysql_result($res$i"Country");
      
$OZK mysql_result($res$i"OZK");      
      
$LAC mysql_result($res$i"LAC");      
      
$MGT mysql_result($res$i"MGT");      
      
$HCK mysql_result($res$i"HCK");      
      
$CHS mysql_result($res$i"CHS");      
      
      

      
// Tabellenzeile mit -zellen
      
echo "<tr> <td><input type='radio' name='auswahl'";
      echo 
" value='$Customer_No'></td> <td>$Customer_Name</td> <td>$ZIP</td>";
      echo 
"<td>$State</td> <td>$Country</td> <td>$OZK</td>";
      echo 
"<td>$LAC</td><td>$MGT</td><td>$HCK</td><td>$CHS</td></tr>";
   }

   
// Tabellenende
   
echo "</table>";

   
mysql_close($db);
?>
   <p>
   <input type="submit" value="Show Dataset">
</form>
</body>
</html>
---------------------------------------------------------------------------
PHP-Code:

<html>
<body>
<?php
if ($auswahl)
{
   
$db mysql_connect("localhost""root""root");
   
$sqlab "select * from mileage where";
   
$sqlab .= " Customer_No = '$auswahl'";

   
$res mysql_db_query("flatbed_rate"$sqlab);

   
$alt_Customer_Name mysql_result($res0"Customer_Name");
   
$alt_ZIP mysql_result($res0"ZIP");
   
$alt_State mysql_result($res0"State");
   
$alt_Country mysql_result($res0"Country");
   
$alt_OZK mysql_result($res0"OZK");      
   
$alt_LAC mysql_result($res0"LAC");      
   
$alt_MGT mysql_result($res0"MGT");      
   
$alt_HCK mysql_result($res0"HCK");      
   
$alt_CHS mysql_result($res0"CHS");      
    
  
   echo 
"Führen Sie die Änderungen durch,<p>";
   echo 
"betätigen Sie anschließend den Button<p>";

   echo 
"<form action = 'change_c.php' ";
   echo 
" method = 'post'>";

   echo 
"<input name='neu_Customer_Name' value='$alt_Customer_Name'> ";
   echo 
" Customer Name<p>";
   echo 
"<input name='neu_ZIP' value='$alt_ZIP'>";
   echo 
" Postal Code<p>";
   echo 
"<input name='neu_State' value='$alt_State'>";
   echo 
" State<p>";
   echo 
"<input name='neu_Country' value='$alt_Country'>";
   echo 
" Country<p>";
   echo 
"<input name='neu_OZK' value='$alt_OZK'>";
   echo 
" OZK<p>";
   echo 
"<input name='neu_LAC' value='$alt_LAC'>";
   echo 
" LAC<p>";
   echo 
"<input name='neu_MGT' value='$alt_MGT'>";
   echo 
" MGT<p>";
   echo 
"<input name='neu_HCK' value='$alt_HCK'>";
   echo 
" HCK<p>";
   echo 
"<input name='neu_CHS' value='$alt_CHS'>";
   echo 
" CHS<p>";
   
   
   echo 
"<input type='hidden' name='original_Customer_No' ";
   echo 
" value='$auswahl'>";

   echo 
"<input type='submit' ";
   echo 
" value='Änderungen in DB speichern'><p>";
   echo 
"<input type='reset'>";
   echo 
"</form>";

   
mysql_close($db);
}

else
   echo 
"Es wurde kein Datensatz ausgewählt<p>";
?>
</body>
</html>
-------------------------------------------------------------------

PHP-Code:
<html>
<body>
<?php
   $db 
mysql_connect("localhost""root""root");

   
$sqlab "update mileage set Customer_Name = '$neu_Customer_Name',";
   
$sqlab .= "ZIP = '$neu_ZIP',";
   
$sqlab .= "State = '$neu_State',";
   
$sqlab .= "Country = '$neu_Country'";
   
$sqlab .= "OZK = '$neu_OZK'";
   
$sqlab .= "LAC = '$neu_LAC'";
   
$sqlab .= "MGT = '$neu_MGT'";   
   
$sqlab .= "HCK = '$neu_HCK'";
   
$sqlab .= "CHS = '$neu_CHS'";
   
$sqlab .= "where Customer_No == '$original_Customer_No'";

   
mysql_db_query("flatbed_rate"$sqlab);

   
$num mysql_affected_rows();
   if (
$num>0)
      echo 
"Der Datensatz wurde geändert<p>";
   else
      echo 
"Der Datensatz wurde nicht geändert<p>";

   
mysql_close($db);
?>
Zurück zur <a href="change_a.php">Auswahl</a>

</body>
</html>
Mit Zitat antworten
  #2 (permalink)  
Alt 15-06-2007, 09:47
eintrachtemil
 Registrierter Benutzer
Links : Onlinestatus : eintrachtemil ist offline
Registriert seit: May 2004
Beiträge: 223
eintrachtemil ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
$sqlab .= "where Customer_No == '$original_Customer_No'"
Syntaxfehler!
Mit Zitat antworten
  #3 (permalink)  
Alt 15-06-2007, 09:49
Kirsten281178
 Newbie
Links : Onlinestatus : Kirsten281178 ist offline
Registriert seit: Jun 2007
Beiträge: 8
Kirsten281178 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke, aber daran lag es leider nicht.
Mit Zitat antworten
  #4 (permalink)  
Alt 15-06-2007, 09:57
Koala
 PHP Junior
Links : Onlinestatus : Koala ist offline
Registriert seit: Jan 2006
Beiträge: 887
Koala ist zur Zeit noch ein unbeschriebenes Blatt
Standard

poste mal die Fehlermeldung:

PHP-Code:
mysql_db_query("flatbed_rate"$sqlab) or die(mysql_error()); 
Mit Zitat antworten
  #5 (permalink)  
Alt 15-06-2007, 10:01
Kirsten281178
 Newbie
Links : Onlinestatus : Kirsten281178 ist offline
Registriert seit: Jun 2007
Beiträge: 8
Kirsten281178 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Die Fehlermeldung lautet:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OZK = '5'LAC = '5'MGT = '5'HCK = '5'CHS = '5'where Customer_No = '5'' at line 1


(Die 5en stehen überall für die Testeinträge)
Mit Zitat antworten
  #6 (permalink)  
Alt 15-06-2007, 10:04
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Du solltest schleunigst mit Debugging anfangen. Also hinter jeder mysql_query oder sonstige MySql Fkt mal
PHP-Code:
mysql_db_query() OR die(mysql_error().'<br />'.$sqlab); 
schreiben und dein Error Reporting schärfer einstellen
PHP-Code:
error_reporting(E_ALL); 
als erste Zeile deines Codes.
Und Vergleiche werden in Mysql mit = und nicht mit == gemacht.

Gruss

tobi

p.s. ich würde dir allgemein empfehlen mal ins Manual zum Thema MySql reinzuschmöckern. Wieso verwendest du eigentlich mysql_num_rows() und eine for Schleife ?
PHP-Code:
$sql "SELECT * from table";
$res mysql_query($sql);
$ret = array();
while(
$re=mysql_fetch_array($res,MYSQL_ASSOC){
  
$ret[] = $re;

p.s.2. Kennst du && zum Verknüpfen mehrer Bedingungen ???
Mit Zitat antworten
  #7 (permalink)  
Alt 15-06-2007, 10:17
Kirsten281178
 Newbie
Links : Onlinestatus : Kirsten281178 ist offline
Registriert seit: Jun 2007
Beiträge: 8
Kirsten281178 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo Tobi,

ich habe jetzt das debugging mit meinen queeries und funktionen gemacht. Leider kommt keine andere Fehlermeldung. Immer du die eine, die ich schon gepostet habe.


Zu deiner Frage:
Ich habe mysql_num_rows() und eine for Schleife verwendet, weil es so in meinem Buch drin stand (ähnliches Beispiel).

Gruß,
Kirsten
Mit Zitat antworten
  #8 (permalink)  
Alt 15-06-2007, 10:36
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zu deiner Fehlermeldung siehe mein p.s.2 und ab und zu ein Leerzeichen ist auch nicht schlecht

Gruss

tobi
Mit Zitat antworten
  #9 (permalink)  
Alt 15-06-2007, 11:10
Husti
 Junior Member
Links : Onlinestatus : Husti ist offline
Registriert seit: Jan 2003
Ort: Fischkoppland
Beiträge: 130
Husti ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
$sqlab "update mileage set Customer_Name = '$neu_Customer_Name',";
   
$sqlab .= "ZIP = '$neu_ZIP',";
   
$sqlab .= "State = '$neu_State',";
   
$sqlab .= "Country = '$neu_Country'";
   
$sqlab .= "OZK = '$neu_OZK'";
   
$sqlab .= "LAC = '$neu_LAC'";
   
$sqlab .= "MGT = '$neu_MGT'";   
   
$sqlab .= "HCK = '$neu_HCK'";
   
$sqlab .= "CHS = '$neu_CHS'";
   
$sqlab .= "where Customer_No == '$original_Customer_No'"
$qlab mal komplett anzeigen lassen hätte gezeigt, dass ab der 3. Zuweisung das Komma fehlt.
Beispiel: $sqlab .= "Country = '$neu_Country', ";
(lvorletzte und letzte natürlich ohne Komma)
__________________
Und ist man alt wie ein Kuh, lernt man immer noch dazu.
THX, LOL, ROFL & Co. -> Netzjargon auf Wikipedia
Mit Zitat antworten
  #10 (permalink)  
Alt 15-06-2007, 11:45
Kirsten281178
 Newbie
Links : Onlinestatus : Kirsten281178 ist offline
Registriert seit: Jun 2007
Beiträge: 8
Kirsten281178 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@Husti & Tobi

Vielen Dank für eure Hilfe. Es funktioniert jetzt.

Grüße,

Kirsten
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

Formmailer v1.6.1 Bootstrap 4

Formmailer v1.6.1 Bootstrap wurde extra für Bootstrap entwickelt. Mit Bootstrap kann man schnell und einfach kleine oder große Projekte entwickeln, die auf Geräten in allen erdenklichen Formen funktionieren.

18.12.2018 arne-home | Kategorie: PHP/ Formular
HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:14 Uhr.