brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 20-10-2004, 15:31
Vegeta_D2
 Newbie
Links : Onlinestatus : Vegeta_D2 ist offline
Registriert seit: Oct 2004
Beiträge: 12
Vegeta_D2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Update-Problem mit MySQL

Ich mach grad eine Homepage für nen Verein. Dort hab ich eine Mitgliederliste, die von ner MySQL Datenbank hergeholt wird. Dann hab ich für den Präsidenten eine Änderungsseite der Liste eingerichtet (Nätürlich mit Passwortschutz). Dort kann er einen einzelnen Datensatz auswählen und nachher auf einen Button klicken, welcher ihm dann die einzelnen Daten dieses Datensatzes in Editfelder reinschreibt. Dort kann er dann die einzelnen Daten ändern. Soweit bin ich gekommen. Dann soll er durch einen weiteren Klick (wenn er die Änderungen vorgenommen hat) den veränderten Datensatz in der Datenbank "updaten". Nur das funktioniert nicht richtig. Ich verwende dazu den Befehl "update". Eigentlich müsste alles gehen. Hab echt keinen Fehler gesehn. Kann mir wer helfen????

Hier der Quellcode:

PHP-Code:
elseif ($HTTP_POST_VARS["waehlen"]=="Wählen")
   {
   if (is_array($ID))
      {
      while (list($key,$value) = each($ID))
         {
         $sql = "SELECT * FROM vorstand WHERE `Id` = '$value'";
         $Resultat=mysql_query($sql, $mdb);
         if (!$Resultat) die("Anfrage war nicht erfolgreich");
         //Daten in Tabelle ausgeben:
           while ($zeile=mysql_fetch_array($Resultat))
           {
         //$Resultat=mysql_query($sql, $mdb) or die("Anfrage schlug fehl! Fehler: "
         //                                 ."<li>errorno=".mysql_errno()
         //                                 ."<li>error=".mysql_error()
         //                                 ."<li>query=".$query
         //                                );
      ?>
      <tr>
        <td height="40" align="left" valign="top">Nummer:</td>  
        <td height="40" align="left" valign="top"><Input Type="text" Name="ID2" Readonly value="<?=$value?>" Size=30 Maxlength=30></input></td>
        <td><Input Type="submit" name="aendern" value="Ändern"></input></td>
      </tr>
      <tr>
        <td height="40" align="left" valign="top">Firma:</td>  
        <td height="40" align="left" valign="top"><Input Type="text" Name="Firma2"  value="<?=$zeile[Firma]?>" Size=30 Maxlength=30></input></td>
      </tr>
      <tr>
        <td height="40" align="left" valign="top">Zweck:</td>
        <td height="40" align="left" valign="top"><Input Type="text" Name="Zweck2"  value="<?=$zeile[Zweck]?>" Size=30 Maxlength=30></input></td>
      </tr>
      <tr>
        <td height="40" align="left" valign="top">Vorname:</td>
        <td height="40" align="left" valign="top"><Input Type="text" Name="Vorname2"  value="<?=$zeile[Vorname]?>" Size=30 Maxlength=30></input></td>
      </tr>
      <tr>
        <td height="40" align="left" valign="top">Name:</td>
        <td height="40" align="left" valign="top"><Input Type="text" Name="Name2"  value="<?=$zeile[Name]?>" Size=30 Maxlength=30></input></td>
      </tr>
      <tr>
        <td height="40" align="left" valign="top">Strasse:</td>
        <td height="40" align="left" valign="top"><Input Type="text" Name="Strasse2"  value="<?=$zeile[Strasse]?>" Size=30 Maxlength=30></input></td>
      </tr>
      <tr>
        <td height="40" align="left" valign="top">Postfach:</td>
        <td height="40" align="left" valign="top"><Input Type="text" Name="Postfach2"  value="<?=$zeile[Postfach]?>" Size=30 Maxlength=30></input></td>
      </tr>
      <tr>
        <td height="40" align="left" valign="top">PLZ:</td>
        <td height="40" align="left" valign="top"><Input Type="text" Name="PLZ2"  value="<?=$zeile[PLZ]?>" Size=30 Maxlength=30></input></td>
      </tr>
      <tr>
        <td height="40" align="left" valign="top">Ort:</td>
        <td height="40" align="left" valign="top"><Input Type="text" Name="Ort2"  value="<?=$zeile[Ort]?>" Size=30 Maxlength=30></input></td>
      </tr>
      <tr>
        <td height="40" align="left" valign="top">Telefon:</td>
        <td height="40" align="left" valign="top"><Input Type="text" Name="Telefon2"  value="<?=$zeile[Telefon]?>" Size=30 Maxlength=30></input></td>
      </tr>
      <tr>
        <td height="40" align="left" valign="top">Telefax:</td>
        <td height="40" align="left" valign="top"><Input Type="text" Name="Telefax2"  value="<?=$zeile[Telefax]?>" Size=30 Maxlength=30></input></td>
      </tr>
      <tr>
        <td height="40" align="left" valign="top">E-Mail:</td>
        <td height="40" align="left" valign="top"><Input Type="text" Name="Email2"  value="<?=$zeile[Email]?>" Size=30 Maxlength=30></input></td>
      </tr>
      <tr>
        <td height="40" align="left" valign="top">Internet:</td>
        <td height="40" align="left" valign="top"><Input Type="text" Name="Internet2"  value="<?=$zeile[Internet]?>" Size=30 Maxlength=30></input></td>
      </tr>
      <tr>
        <td height="40" align="left" valign="top">Status:</td>
        <td height="40" align="left" valign="top"><Input Type="text" Name="Status2"  value="<?=$zeile[Status]?>" Size=30 Maxlength=30></input></td>
      </tr>
   <?php
           
}
         }
      }
   }
elseif (
$HTTP_POST_VARS["aendern"]=="Ändern")
   {
   
$Value $HTTP_POST_VARS["ID2"];
   
$Firma $HTTP_POST_VARS["Firma2"];
   
$Zweck $HTTP_POST_VARS["Zweck2"];
   
$Vorname $HTTP_POST_VARS["Vorname2"];
   
$Name $HTTP_POST_VARS["Name2"];
   
$Postfach $HTTP_POST_VARS["Postfach2"];
   
$Strasse $HTTP_POST_VARS["Strasse2"];
   
$PLZ $HTTP_POST_VARS["PLZ2"];
   
$Ort $HTTP_POST_VARS["Ort2"];
   
$Telefon $HTTP_POST_VARS["Telefon2"];
   
$Telefax $HTTP_POST_VARS["Telefax2"];
   
$Email $HTTP_POST_VARS["Email2"];
   
$Internet $HTTP_POST_VARS["Internet2"];
   
$Status $HTTP_POST_VARS["Status2"];
   
$sql "Update `vorstand` SET ( `Id` , `Firma` , `Zweck` ,
              `Vorname` , `Name` , `Strasse` , `Postfach` , `PLZ` , `Ort` ,
              `Telefon` , `Telefax` , `Email` , `Internet` , `StatusM` ) VALUES
              ('', '$Firma', '$Zweck', '$Vorname', '$Name', '$Strasse', '$Postfach',
 '             $PLZ', '$Ort', '$Telefon', '$Telefax', '$Email', '$Internet', '$Status')"
;
   
$Resultat=mysql_query($sql$mdb);
   
$sql "SELECT * FROM vorstand ORDER BY `Firma`";
   
$Resultat=mysql_query($sql$mdb);
   if (!
$Resultat) die ("Anfrage war nicht erfolgreich");
   while (
$zeile=mysql_fetch_array($Resultat))
      {
      
?>
      <tr>
        <td><input type=checkbox name="ID[]" value="<?=$zeile[Id]?>"></td>
        <td height="40" align="left" valign="top"><?=$zeile[Firma]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Zweck]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Vorname]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Name]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Strasse]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Postfach]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[PLZ]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Ort]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Telefon]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Telefax]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Email]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Internet]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[StatusM]?></td>
      </tr>
So müsste das dann ausschaun:

http://lsvr02.kanti-frauenfeld.ch/~fgeiger/vorstand.jpg

http://lsvr02.kanti-frauenfeld.ch/~f.../vorstand2.jpg

Edit: Sorry, dass das ganze so breit is. Werde die Bilder noch verkleinern

Geändert von wahsaga (20-10-2004 um 15:39 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 20-10-2004, 15:36
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

ich kann mir nicht helfen, aber auf http://dev.mysql.com/doc/mysql/en/UPDATE.html sieht das anders aus

mach bitte mal
PHP-Code:
$Resultat=mysql_query($sql$mdb) or die(mysql_error()); 
statt
PHP-Code:
$Resultat=mysql_query($sql$mdb); 
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #3 (permalink)  
Alt 20-10-2004, 15:52
Vegeta_D2
 Newbie
Links : Onlinestatus : Vegeta_D2 ist offline
Registriert seit: Oct 2004
Beiträge: 12
Vegeta_D2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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 '( `Id` , `Firma` , `Zweck` ,`Vorname` , `Name` , `Strasse` , ......
Mit Zitat antworten
  #4 (permalink)  
Alt 20-10-2004, 15:53
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Zitat:
Original geschrieben von mrhappiness
ich kann mir nicht helfen, aber auf http://dev.mysql.com/doc/mysql/en/UPDATE.html sieht das anders aus
ich würde wetten, dass es da richtig steht

man könnte sich da zwecks korrekter syntax informieren...
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #5 (permalink)  
Alt 20-10-2004, 16:22
Wendel
 Junior Member
Links : Onlinestatus : Wendel ist offline
Registriert seit: May 2004
Beiträge: 117
Wendel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
 $sql "Update `vorstand` SET ( `Id` , `Firma` , `Zweck` ,
              `Vorname` , `Name` , `Strasse` , `Postfach` , `PLZ` , `Ort` ,
              `Telefon` , `Telefax` , `Email` , `Internet` , `StatusM` ) VALUES
              ('', '$Firma', '$Zweck', '$Vorname', '$Name', '$Strasse', '$Postfach',
 '             $PLZ', '$Ort', '$Telefon', '$Telefax', '$Email', '$Internet', '$Status')"

PHP-Code:
 WHERE ?????? 
Du musst ihm schon sagen wen er updaten soll.
und den vorstand brauch man glaube ich nicht in ` setzen.

WHERE id =$_POST['ID'] würde ich einfach mal hintendran hängen.
Soll in id nix geschriebn werden? würde ich raus nehmen aus dem Update, weil so schreibt er nen leerstring rein.
Wenn er das bei allen macht kannste sie über die id nich mehr unterscheiden!
Mit Zitat antworten
  #6 (permalink)  
Alt 20-10-2004, 18:10
Vegeta_D2
 Newbie
Links : Onlinestatus : Vegeta_D2 ist offline
Registriert seit: Oct 2004
Beiträge: 12
Vegeta_D2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich habs jetzt so:

PHP-Code:
$sql "UPDATE vorstand SET Firma='$Firma', Zweck='$Zweck', 
Vorname='$Vorname', Name='$Name', Strasse='$Strasse',
Postfach='$Postfach', PLZ='$PLZ', Ort='$Ort', Telefon='$Telefon',
Telefax='$Telefax', Email='$Email', Internet='$Internet', StatusM='$Status'
WHERE Id ='$value'"

Aber jetzt passiert gar nix mehr... Keine Meldung, keine Veränderung der Daten, nix
Mit Zitat antworten
  #7 (permalink)  
Alt 21-10-2004, 09:32
Wendel
 Junior Member
Links : Onlinestatus : Wendel ist offline
Registriert seit: May 2004
Beiträge: 117
Wendel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Keine Fehlermeldung? siehe mrhappiness (mysql_error).
In Deinen POST_ Variablen steht was?
Lass Dir die mal ausgeben.
Und lass mal die ganzen Hochkommas weg (Firma=$Firma).
Wendel
Mit Zitat antworten
  #8 (permalink)  
Alt 21-10-2004, 09:35
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Zitat:
Original geschrieben von Wendel
Und lass mal die ganzen Hochkommas weg (Firma=$Firma).
ich würd sie stehen lassen, da ich nicht davon ausgehe, dass es sich immer nur um zahlen handelt...
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #9 (permalink)  
Alt 21-10-2004, 11:57
Wendel
 Junior Member
Links : Onlinestatus : Wendel ist offline
Registriert seit: May 2004
Beiträge: 117
Wendel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@mrhappiness Si Claro

Geändert von Wendel (21-10-2004 um 11:59 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 21-10-2004, 12:51
Vegeta_D2
 Newbie
Links : Onlinestatus : Vegeta_D2 ist offline
Registriert seit: Oct 2004
Beiträge: 12
Vegeta_D2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Die Variabeln hab ich mri ausgeben lassen. Da steht definitiv alles richtig. Eine Fehlermeldung mit mysql_error gibts auch keine. Es passiert einfach nix...
Mit Zitat antworten
  #11 (permalink)  
Alt 21-10-2004, 12:53
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

lass dir mal das statement mit echo ausgeben und poste es hier

den php-code dazu bitte auch
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #12 (permalink)  
Alt 21-10-2004, 16:59
Vegeta_D2
 Newbie
Links : Onlinestatus : Vegeta_D2 ist offline
Registriert seit: Oct 2004
Beiträge: 12
Vegeta_D2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

bitte nicht auslachen, aber..... welches statement?
Mit Zitat antworten
  #13 (permalink)  
Alt 21-10-2004, 17:05
derHund
 PHP Master
Links : Onlinestatus : derHund ist offline
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
derHund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
bitte nicht auslachen, aber..... welches statement?
das sql-statement, welches du an die db sendest, praktisch der inhalt von $sql, einfach ein echo davorsetzen, ...
__________________
Die Zeit hat ihre Kinder längst gefressen: hund (back in black) | ??? | ??? | ...
Mit Zitat antworten
  #14 (permalink)  
Alt 21-10-2004, 17:16
Vegeta_D2
 Newbie
Links : Onlinestatus : Vegeta_D2 ist offline
Registriert seit: Oct 2004
Beiträge: 12
Vegeta_D2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
$Value = $HTTP_POST_VARS["ID2"];
   $Firma = $HTTP_POST_VARS["Firma2"];
   $Zweck = $HTTP_POST_VARS["Zweck2"];
   $Vorname = $HTTP_POST_VARS["Vorname2"];
   $Name = $HTTP_POST_VARS["Name2"];
   $Postfach = $HTTP_POST_VARS["Postfach2"];
   $Strasse = $HTTP_POST_VARS["Strasse2"];
   $PLZ = $HTTP_POST_VARS["PLZ2"];
   $Ort = $HTTP_POST_VARS["Ort2"];
   $Telefon = $HTTP_POST_VARS["Telefon2"];
   $Telefax = $HTTP_POST_VARS["Telefax2"];
   $Email = $HTTP_POST_VARS["Email2"];
   $Internet = $HTTP_POST_VARS["Internet2"];
   $Status = $HTTP_POST_VARS["Status2"];
   $sql = "UPDATE vorstand SET Firma='$Firma', Zweck='$Zweck',
Vorname='$Vorname', Name='$Name', Strasse='$Strasse',
Postfach='$Postfach', PLZ='$PLZ', Ort='$Ort', Telefon='$Telefon',
Telefax='$Telefax', Email='$Email', Internet='$Internet', StatusM='$Status'
WHERE Id ='$value'";    
   echo($sql);
   $Resultat=mysql_query($sql, $mdb) or die (mysql_error());
   $sql = "SELECT * FROM vorstand ORDER BY `Firma`";
   $Resultat=mysql_query($sql, $mdb);
   if (!$Resultat) die ("Anfrage war nicht erfolgreich");
   while ($zeile=mysql_fetch_array($Resultat))
      {
      ?>
      <tr>
        <td><input type=checkbox name="ID[]" value="<?=$zeile[Id]?>"></td>
        <td height="40" align="left" valign="top"><?=$zeile[Firma]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Zweck]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Vorname]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Name]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Strasse]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Postfach]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[PLZ]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Ort]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Telefon]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Telefax]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Email]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[Internet]?></td>
        <td height="40" align="left" valign="top"><?=$zeile[StatusM]?></td>
      </tr>
Es kam folgendes:

UPDATE vorstand SET Firma='Brenner AG Tägerwilen', Zweck='Bedachungen, Fassaden-, Holz- und Gerüstbau', Vorname='Erwin', Name='Brenner', Strasse='Konstanzerstr. 14', Postfach='Postfach 14', PLZ='8274', Ort='Tägerwilen', Telefon='071 669 30 55', Telefax='071 669 30 56', Email='taegerwilen@brenner-ag.ch', Internet='www.brenner-ag.ch', StatusM='' WHERE Id =''

Geändert von Vegeta_D2 (21-10-2004 um 17:18 Uhr)
Mit Zitat antworten
  #15 (permalink)  
Alt 21-10-2004, 17:21
Vegeta_D2
 Newbie
Links : Onlinestatus : Vegeta_D2 ist offline
Registriert seit: Oct 2004
Beiträge: 12
Vegeta_D2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Alles klar.... Ich habs ^^

WHERE Id ='$value'"; da hätte ich value gross schreiben müssen....

Danke erstmal

Neues Problem: Die Datensätze, die ich geändert hab, kommen jetzt vor allen anderen. Das heisst: Der ORDER BY Befehl funktioniert nicht mehr richtig. Kennt ihr das Problem?

Geändert von Vegeta_D2 (21-10-2004 um 17:40 Uhr)
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

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

EM 2012 Tipp-Spiel ansehen EM 2012 Tipp-Spiel

Online Tipp-Spiel zur Fussball Europameisterschaft 2012, basierend auf php-Script mit hinterlegter mySql-Datenbank

27.05.2012 tippimnetz | Kategorie: PHP/ Spiele
Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:03 Uhr.