tutorials.de Buch-Aktion 05/2012
Seite 1 von 3 123 LetzteLetzte
ERLEDIGT
JA
ANTWORTEN
30
ZUGRIFFE
1003
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Big-A Big-A ist offline Mitglied Bronze
    Registriert seit
    Jan 2012
    Beiträge
    45
    Hallo liebe Forum-User,

    ich bin bestimmt nicht die erste, die diese Frage stellt, jedoch hoffe ich das ich trotzdem eine Antwort erhalte, die mir weiterhilft

    Also, ich bin ein absoluter programmier Anfänger.
    Ich habe ein Problem: Ich habe eine Datenbank via mySQL (phpmyadmin) erstellt. Ich möchte diese Datenbank ohne immer in phpmyadmin gehen zu müssen bearbeiten können.
    Ich habe es schon mehr oder weniger geschafft, neue Daten per Formular der Datenbank zu überliefern und auch zu löeschen. Nun hänge ich aber an dem Problem fest, das ich auch Daten bearbeiten möchte.

    Ich habe 2 Formulare erstellt, bei dem einen sollen die ganzen Daten aus der Datenbank ausgelesen werden und bei dem einen soll man angeben, welche Daten man überhaupt bearbeiten möchte.
    Das Problem ist, ich möchte das man die gewählten Daten per ID angibt.
    Dabei ergibt sich das Problem, das ich nicht weiß, wie ich das machen soll.
    Also ich weiß nicht wie ich sagen soll "bearbeite die ID..., schriebe die Daten in das Formular, wenn der Button speichern gedrückt wurde, dann Upload das ganze bei der bekannten ID..."

    Ich hoffe ich habe mich "verständlich" ausgedrückt und mir kann jemand helfen.

    Ich habe es versucht so zu lösen:
    PHP-Code:
    <html>
    <head>
     <link rel="stylesheet" type="text/css" href="Kunden.css"  />
     <title> Kundendaten </title>
    </head>

    <body>
    <h1> Daten bearbeiten</h1>
    <div id="links2">
     <br/>
     <br/>
         <ol>
         <h2>Funktionen</h2>
         <ul><a href="Startseite.php"/>Kunden&uuml;bersicht</a></ul>
         <ul><a href="FormNeu.php"/>Neuen Kunden anglegen</a></ul>
         <ul><a href="loeschen.php"/>loeschen</a></ul>
         <?php

    echo "<div id='right'>";
     echo 
    "<form method='post'>";    
      echo 
    "<ol>";
       echo 
    "<fieldset>";
        echo 
    "<legend>Welchen Datensatz möchten Sie bearbeiten?</legend>";
            echo 
    "<form method='bearbeiten'>";
            echo 
    "<ul><p> ID: <input type='text' name='ID' size='25'/>  </p></ul>" ;
            echo 
    "<br/><input type='submit' name='bearbeiten' value='bearbeiten'></input>"//Button bearbeiten
       
    echo "</fieldset>";
      echo 
    "</ol>";
     echo 
    "</form>";
    echo 
    "</div>";
    ?>
        </ol>
    </div>


    <?php
          
    if(isset($_POST["bearbeiten"])) //wenn Button-senden gedrückt,dann führe $_POST aus
        
    {/
        
    $ID $_POST["ID"]; 
       
    //die("DELETE FROM Kundendaten WHERE ID = '" . $ID . "'");
        
    $berbeiten mysql_query("LOAD FROM Kundendaten WHERE ID = '" $ID "'");
        
    mysql_query($bearbeiten);




    include(
    "verbindung.php"); #öffnen der php-Datei, mit Verbindung zum Server
    include("DatenTabelle.php");
    include(
    "Formular.php");

    ?>
            
    </body>
    </html>
    Ich hoffe, das ich mich "verständlich" ausgedrückt habe und mir jemand helfen kann.
    Geändert von Yaslaw (30.01.12 um 15:31 Uhr) Grund: PHP-Tags gesetzt
     

  2. #2
    Avatar von Lime
    Lime Lime ist gerade online frisch fruchtig
    Registriert seit
    Jul 2011
    Beiträge
    373
    Code :
    1
    2
    3
    
    UPDATE Kundendaten 
    SET name='Markus Müller', email='markus.mueller@max.com', tel='000606232' 
    WHERE id='".$ID."'

    Das wäre eine MySql-Query, mit der du die Felder name, email und tel (für Telefon) änderst, von der ID mit der Variable ID!
     

  3. #3
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    @Lime
    Anmerkung:
    die ID wird hoffentlich eine Zahl sein. Dann sollte man sie auch als Zahl im SQL behandeln. Also die ' weglassen.
    Denn: '1' <> 1
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  4. #4
    Big-A Big-A ist offline Mitglied Bronze
    Registriert seit
    Jan 2012
    Beiträge
    45
    Hallo Lime,

    danke für deine Antwort, jedoch möchte ich das ganze ja nicht über den Quellcode selber machen sondern eben über ein Formular.

    Also ID auswählen, die man bearbeiten möchte, über ein eigenes Formular. Dann soll auf die Datenbank zugegriffen werden, damit die Daten von der gewünschten Spalte in einem weiteren Formular dargestellt werden.
    Innerhalb des 2ten Formulars kann ich die Daten dann normal bearbeiten und speichern.

    Ich weiß eben nicht, wie ich mir die Daten in dem Formular anzeigen lassen kann. Also das ich diese Verbindung aufbauen kann, das der die ID sucht und die zugehörigen Daten.

    LG Big-A
     

  5. #5
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Sorry, aber:

    Du findest 1000de Anleitungen wie man Daten mittels eines SELECT aus der DB auslesen kann.
    Dann beim erstellen des Formulars kannst du die Wert mitgeben. Wie das funktioniert findest du mindestens auf selfhtml.

    Die Kombination Formular-PHP-Datenbanken ist in zig Tutroials im WWW abgebildet.

    Ich werde darum nicht noch einmal ein Tutorial dazu schreiben.

    Bei Detail-Fragen helfe ich dann gerne wieder weiter

    Nachtrag:
    Googeln nach 'php tutorial edit form for mysql data'
    2ter Treffer: http://www.phpeveryday.com/articles/...data-P284.html
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  6. #6
    Avatar von Lime
    Lime Lime ist gerade online frisch fruchtig
    Registriert seit
    Jul 2011
    Beiträge
    373
    Das sollte doch kein Problem sein!

    Du liest die Daten auf normalem Weg aus der Datenbank aus:
    Code :
    1
    
    SELECT * FROM Kundendaten WHERE id=".$id."

    Dann füllst du die Daten in die entsprechenden Felder des Formulars!
    PHP-Code:
    //Im folgenden Beispiel gehe ich von einer bestehenden MySQL-Verbindung aus.
    $sqlCmd "SELECT * FROM Kundendaten WHERE id=".$ID;
    $sqlQry mysql_query($sqlCmd$sql);
    while(
    $row mysql_fetch_object($sqlQry))
    {
        echo 
    "<form>";
            echo 
    "<input type=\"text\" name=\"name\" value=\"".$row->name."\" />";
            echo 
    "<input type=\"text\" name=\"email\" value=\"".$row->email."\" />";
            echo 
    "<input type=\"submit\" name=\"submit\" value=\"speichern\" />";
        echo 
    "</form>";

    €: @Yaslaw:
    Zitat Zitat von Yaslaw
    Ich werde darum nicht noch einmal ein Tutorial dazu schreiben.
    Gut, dann gib doch wenigstens eine Hilfestellung... überleg mal, wenn du auf der anderen Seite der Leitung sitzen würdest. Da wär mir das Forum hier direkt unsympathisch.
    Geändert von Lime (30.01.12 um 15:58 Uhr)
    Big-A bedankt sich. 

  7. #7
    Big-A Big-A ist offline Mitglied Bronze
    Registriert seit
    Jan 2012
    Beiträge
    45
    Ich danke dir sehr Lime******
    Ich hatte einen Denkfehler und deswegen hat es nicht funktioniert, aber danke, das du es mir gezeigt hast, ich dachte zuerst, das ich hier wohl doch keine Hilfe finde.

    du hast das Forum "gerettet"

    LG Big-A
     

  8. #8
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    @Lime
    Recht hast du. Darum habe ich auch als Nachtrag einen Link gepostet und eine Beschreibung wo man dort ein Beispiel findet. Wenn das natürlich zuwenig ist, kann ich in Zukunft ja das Beispiel auch gleich ins Forum kopieren (nachdem ich dort angefragt haben ob ich das darf)

    @Big-A
    Je detailierter die Frage umso besser kann man helfen. Aber mit der einfachen Frage "Wie geht XY" und dazu gibts bereits zig Tutorials, kann man leider nur mit verweisen auf Tutroials oder neu schreiben eines Tutorials machen.
    Wenn du aber schreibst: "Ich hab das und jenes Probiert und es kommt der Fehler 'ABC' und ich weiss nicht warum, hier ist mein Code" kann man dir sehr wohl geziehlt und fachmännisch helfen.
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  9. #9
    Big-A Big-A ist offline Mitglied Bronze
    Registriert seit
    Jan 2012
    Beiträge
    45
    @Yaslaw
    dann habe ich direkt noch eine Frage:

    Ich hab es nun versucht etwas anders zu lösen, als wie das Beispiel von Lime.
    Leider habe ich nun eine "endlos" Schleife daraus gemacht und mir werden "100%" angezeigt.
    Ich habe ein while-schleife mir rein gemacht und ich glaube, das genau das das Problem ist, da er versucht die Daten immer und immer wieder zu laden. Mir werden Fehler über die gesamte Schleife angezeigt, aber ich verstehe nicht wieso
    PHP-Code:
    <?php
          
            
    if(isset($_POST["bearbeiten"])) //wenn button"bearbeiten" gedrückt, dann
      
    {
        
    $querymysql_query("SELECT * FROM `namederDatenbank` WHERE ID = '".$_POST["ID"]."'")or die(mysql_error()); //lade daten aus Datenbank die angegeben Id

        
    while($query)  //nimmt von $query die Daten mit der ID und gibt die Daten solange aus, bis alle geladen wurden
          
    {
            echo 
    'Vorname: <input type="text" value="'.$row->Firma.'" name=Firma" /><br />';
            echo 
    'Nachname: <input type="text" value="'.$row->Nachname.'" name="Nachname" /><br />';
            echo 
    'E-Mail: <input type="text" value="'.$row->Vorname.'" name="Vorname" /><br />';
            echo 
    'Vorname: <input type="text" value="'.$row->Strasse.'" name=Strasse" /><br />';
            echo 
    'Nachname: <input type="text" value="'.$row->Hausnummer.'" name="Hausnummer" /><br />';
            echo 
    'E-Mail: <input type="text" value="'.$row->PLZ.'" name="PLZ" /><br />';
            echo 
    'Nachname: <input type="text" value="'.$row->Ort.'" name="Ort" /><br />';
            echo 
    'E-Mail: <input type="text" value="'.$row->Telefonnummer.'" name="Telefonnummer" /><br />';
            echo 
    'Nachname: <input type="text" value="'.$row->Fax.'" name="Fax" /><br  />';
            echo 
    'Nachname: <input type="text" value="'.$row->Mail.'" name="Mail" /><br />';        
            echo 
    'Nachname: <input type="text" value="'.$row->Datum.'" name="Datum" /><br />';
            echo 
    '<input type="submit" name="update" value="Speichern">';
          }
        
      }
     
    ?>
     

  10. #10
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Jepp. deine while-Schleife ist falsch.
    1) prüfst du auf $query. Das ist true, falls den mysql_query() ausgeführt werden konnte
    2) Du solltest mysql_fetch_object() oder mysql_fetch_assoc() oder mysql_fetch_array() verwenden um $row zu kriegen. Im Beispiel von Lime ist das schön drin

    PHP-Code:
    while($row mysql_fetch_object($query)){
         
    //TODO Das Objekt $row ausweren (also deine echo's)
         
    echo 'Vorname: <input type="text" value="'.$row->Firma.'" name=Firma" /><br />'

    Nochwas. Deine ID ist warscheinlich eine Zahl in der DB (ID ist im Normalfall immer eine Zahl).
    Also im SQL ohne die ' verwenden.
    Code sql:
    1
    2
    3
    4
    
    -- Im Falle einer Zehl falsch:
    WHERE id = '15'
    -- Richtig:
    WHERE id = 15
    Big-A bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  11. #11
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    @Yaslaw: Gehört zwar nicht direkt zu diesem Beitrag aber ich Frage trotzdem.

    Was ist so falsch daran wenn man die Zahl in einfache Anführungszeichen schreibt? Der Vergleich mit "=" klappt und auch wenn man "<" oder ">" nimmt, liefert die Abfrage das richtige Ergebnis.
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  12. #12
    Big-A Big-A ist offline Mitglied Bronze
    Registriert seit
    Jan 2012
    Beiträge
    45
    juhu es funktioniert******! DANKEEEEEEEEEEEEEE******
     

  13. #13
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    @Big-A
    Bitte

    @tombe
    Jepp, MySQL ist da so brav und dies selbständig korrigiert. Das kann aber auch zu Fehler führen wenn beide Werte in ' stehen. Und wenn man sich angewöhnt auch Zahlen in ' zu schreiben, dann fällt man irgendwann rein. Darum gleich angewöhnen die Zahlen ohne ' zu schreiben.
    Code sql:
    1
    2
    3
    4
    5
    
    -- Das folgende liefert true. Es findet ein Cast vom String zur Zahl statt, da eines eine Zahl ist
    SELECT (2 < '12');
     
    -- Das folgnede leifert false, da ein reiner Stringvergleich stattgefunden hat
    SELECT ('2' < '12');
    tombe bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  14. #14
    Big-A Big-A ist offline Mitglied Bronze
    Registriert seit
    Jan 2012
    Beiträge
    45
    Ich habe noch mal eine Frage

    das mit dem Formular hat funktioniert und alles. Nun wird mir aber ein Syntaxfehler 1064 angezeigt und ich finde meinen Fehler einfach nicht.

    PHP-Code:
      if(isset($_POST["speichern"])){
        
        
    $Firma$_POST["Firma"]; 
        
    $Nachname $_POST["Nachname"];
        
    $Vorname $_POST["Vorname"];
        
    $Strasse $_POST["Strasse"];
        
    $Hausnummer $_POST["Hausnummer"];
        
    $PLZ $_POST["PLZ"];
        
    $Ort $_POST["Ort"];
        
    $Telefonnummer $_POST["Telefonnummer"];
        
    $Fax $_POST["Fax"];
        
    $Mail $_POST["Mail"];
        
    $Datum $_POST["Datum"];
        
        
    $eintrag "UPDATE Kundendaten 'Firma', 'Nachname', 'Vorname', 'Strasse', 'Hausnummer', 'PLZ', 'Ort', 'Telefonnummer', 'Fax', 'Mail', 'Datum' SET ".$Firma.",".$Nachname.",".$Vorname.",".$Strasse.",".$Hausnummer.",".$PLZ.",".$Ort.",".$Telefonnummer.",".$Fax.",".$Mail.",".$Datum." -WHERE 'ID'= '".$ID."'";
    echo 
    $eintrag; die();
        
    mysql_query($eintrag);
      } 
    Ich hoffe, das mir noch mal geholfen werden kann
     

  15. #15
    Avatar von Lime
    Lime Lime ist gerade online frisch fruchtig
    Registriert seit
    Jul 2011
    Beiträge
    373
    Die Syntax für eine Updatequery sieht so aus:
    Code sql:
    1
    
    UPDATE `Kundendaten` SET Firma='{$firma}', Nachname='{$nachname}' WHERE id={$id}
     

Ähnliche Themen

  1. [ASP.net] Datenbank bearbeiten etc.
    Von Alaitoc im Forum .NET Web und Kommunikation
    Antworten: 6
    Letzter Beitrag: 04.01.08, 10:14
  2. Antworten: 8
    Letzter Beitrag: 17.09.07, 22:39
  3. Antworten: 11
    Letzter Beitrag: 28.08.06, 15:04
  4. SQL Datenbank bearbeiten
    Von Preisl im Forum Relationale Datenbanksysteme
    Antworten: 6
    Letzter Beitrag: 21.04.05, 13:14
  5. Antworten: 2
    Letzter Beitrag: 06.05.04, 00:00

Stichworte