Ankündigung

Einklappen
Keine Ankündigung bisher.

Bestimmte Suchausgabe in MySQL Datenbank editieren

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bestimmte Suchausgabe in MySQL Datenbank editieren

    Hallo zusammen,

    kurze Erklärung zu meinem Problem.

    Per Eingabefeld lasse ich in der Datenbank nach Vorname und Nachname suchen.
    Die Ausgabe sieht so aus:

    PHP-Code:
    $db = new MySQLi('localhost''***''***''***');
        
    $suche =  $db->real_escape_stringtrim($_POST['suche']) );
        
    $sql "SELECT * FROM `kunden` WHERE `username` LIKE '%$suche%' OR `vorname` LIKE '%$suche%'";
        
    $ergebnis $db->query($sql); 
        while (
    $zeile $ergebnis->fetch_object()) {
          
    printf('<table width="0" border="0" cellspacing="0" cellpadding="0" class="tabelle">
                  <tr>
                    <td>Nachname:<br /><strong><font size="2">%s</font></strong></td>
                    <td width="30">&nbsp;</td>
                    <td>Vorname:<br /><strong><font size="2">%s</font></strong></td>
                    <td width="30">&nbsp;</td>
                    <td>Geburtstag:<br /><strong>%s</strong></td>

                  ..................... Zeilen gekürzt ...................

                </table><br /><br />
    <form action="editieren.php" method="post">
        <input type="submit" name="editieren" value="Kundendaten ändern!" class="but_sub" />
    </form><br />
                <hr />
                <br />'
    ,
                  
    htmlspecialchars($zeile->username),
                  
    htmlspecialchars($zeile->vorname),
                  
    htmlspecialchars($zeile->birthday),
                  
    htmlspecialchars($zeile->street),
                  
    htmlspecialchars($zeile->street_number),
                      
    htmlspecialchars($zeile->plz),
                  
    htmlspecialchars($zeile->ort),
                  
    htmlspecialchars($zeile->tel_arbeit),
                  
    htmlspecialchars($zeile->tel_privat),
                  
    htmlspecialchars($zeile->mobil),
                  
    htmlspecialchars($zeile->bemerkung),
                  
    htmlspecialchars($zeile->hinweise)
                  );
        }
        
    $db->close();
      } catch (
    Exception $e) {
        echo 
    'Fehler: ' htmlspecialchars($e->getMessage());
      }

      
    ?> 
    Da kann es dann auch passieren, das ein Name 2 mal vorkommt und er beide Datenblöcke ausgibt.
    Deswegen habe ich nach jedem Datensatz ein editieren Button eingefügt.
    Durch diesen Button möchte ich dann aber auch nur den Datensatz bearbeiten, den man auch wirklich auswählt.

    Und genau da fängt mein Problem an....sobald ich editieren drücke, werden alle Datensätze aus der Datenbank in je einem Textfeld angezeigt (weil die Suche wohl nicht übernommen wird). Sollte das irgendwie funktionieren, was muss ich schreiben das er dann auch nur den Datensatz wieder in die Datenbank schreibt.

    Danke schon mal!!
    Gruß
    cruiser


  • #2
    Du hast doch bestimmt eine eindeutige ID? Damit sollte es zu lösen sein.
    ACHTUNG!!! SIGNATUR!!!
    PHP-Code:
    var_dump($gehirn); exit; 
    0 ??? WTF ? nervtag.de | freutag.net | friendmetr.com

    Kommentar


    • #3
      Zitat von MaiKaY Beitrag anzeigen
      Du hast doch bestimmt eine eindeutige ID?
      Hilf mir auf die sprünge bitte Ja ich bin einmalig Ne Spaß beiseite, was meinst du damit?

      Kommentar


      • #4
        Och man, warum muss man mit diesem Wissenstand Datenbankaufgaben programmieren
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar


        • #5
          Er meinte du hättest eine Spalte (nennen wir sie der Einfachheithalber mal "id") namens "id". Die Spalte ist der Index der Tabelle und Auto Increment ist aktiviert ~> jede Zeile erhält eine eigene ID. Wie das genau geht darfst du nun selbst herausfinden :P
          MfG

          Kommentar


          • #6
            Eine ID, erst recht kein Primärschlüssel, beschränkt sich nicht auf einen Inkrementwert. Auch eine bestimmte Kombination von Feldern, eine Realwelt-ID (Personummer, Sozialvers.nummer) o.ä. kann eindeutig identifizieren.
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              Zitat von nikosch Beitrag anzeigen
              Och man, warum muss man mit diesem Wissenstand Datenbankaufgaben programmieren
              Tschuldige ich vergas, es gibt Leute die werden schon mit deinem Wissen geboren.

              Klar weiss ich was eine eindeutige ID ist, aber wie soll ich wenn ich zuerst nach name und vorname suche das beim editieren als id wieder übergeben.
              Wie schreib ich das der gefundene Name oder sonstige Daten zu dem Namen, der jetzt editiert wird, in die Felder mit der ID geschrieben werden sollen.

              Sry aber ich sehs grad, "was meinst du damit" war ein falscher Ausdruck.

              Kommentar


              • #8
                Wenn ich etwas gemeinsam auslese, dann habe ich die Daten auch als direkten Bezug. Wenn ich eine Ergebnissuche starte, hindert mich niemand daran, gleichzeitig eine ID zum Datensatz auszulesen.

                Das ID-Prinzip ist bei relationalen Datenbanken das A und O. Von daher finde ich meine "Anklage" berechtigt. Wer das nicht verinnerlicht hat, solte nicht schon auf der nächsten Stufe versuchen, Anwendungen zu schreiben. Nur meine Meinung.
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar


                • #9
                  Ja stimmt.

                  Aber mir fehlt irgendwie der Sprung dahin.

                  Ich suche ja mit z.B. dem Nachnamen, dann lasse ich alle Daten zu dem Namen anzeigen. (Noch nicht in einem Textfeld) Unter den Daten ist ein Button, falls was editiert werden soll.

                  Wenn geklickt sollen diese Daten in einem Textfeld erscheinen, wo man alle Änderungen vornehmen kann und erst auf den Klick auf Speichern in die Datenbank geupdatet werden.

                  Mit fehlt der Befehl das der EDIT Button die Daten mit ins Eingabefenster nimmt.

                  Kommentar

                  Lädt...
                  X