Ankündigung

Einklappen
Keine Ankündigung bisher.

Einfache MySQL-Abfrage / Ändern / Löschen / Hinzufügen

Einklappen

Neue Werbung 2019

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

  • Einfache MySQL-Abfrage / Ändern / Löschen / Hinzufügen

    Hallo zusammen! Habe erst mit PHP / MySQL angefangen und hätte jetzt mal ein paar Fragen:

    Ich möchte auf meiner Homepage eine Seite einbauen, auf der jeder, der eingeloggt ist (Login ist schon vorhanden) seine Lieblings-Links hinzufügen kann. Der Moderator soll außerdem die Möglichkeit haben, eingetragene Links zu ändern, oder zu löschen.

    Eine Datenbank habe ich bereits angelegt und auch die entsprechende Tabelle mit dem Namen "links" erzeugt. In der Tabelle wiederum habe ich 3 Spalten angelegt: ID, URL und BEZEICHNUNG. Zum Testen habe ich erstmal ein paar Werte eingegeben und per php-Datei ausgelesen. Soweit ist alles in Ordnung.
    Ich sehe also, dass die Verbindung zur Datenbank funktioniert und auch die Werte richtig ausgegeben werden.

    1.)
    Wie kann ich jetzt aber ein Formular mit zwei Textfeldern (url und bezeichnung) hinzufügen, bei dem per Senden-Button die neuen Daten in die Datenbank geschrieben werden. Hab's zwar ein paar mal versucht, aber neben den gewollten Eingaben auch lauter leere Felder aufgetaucht. Außerdem ist der ID-Counter nicht mehr zurückgesprungen, nachdem ich einige Einträge aus der gelöscht habe. Die IDs sahen dann bald so aus: 1,2,34,35,36,37,38

    2.)
    Wie bekomme ich die Tabellen in eine akzeptable Form? Bei der Ausgabe im Browser wird alles in eine Zeile geschrieben... Kann ich die Einträge auch einer Tabelle zuweisen, die ich z.B. in Dreamweaver erstelle? Die Tabelle müsste dann aber sozusagen "mitwachsen", da ja immer mehr Einträge dazukommen.

    3.)
    Zum Schluss würde ich gerne noch wissen, wie ich Buttons zum Ändern und Löschen (basierend auf den IDs) einer bestimmten Zeile erstellen kann.

    Vielen Dank für Eure Hilfe - auch wenn sich einige Fragen vielleicht etwas komisch anhören... wie gesagt: Anfänger!


  • #2
    Re: Einfache MySQL-Abfrage / Ändern / Löschen / Hinzufügen

    Zitat von Casaro
    1.)
    Wie kann ich jetzt aber ein Formular mit zwei Textfeldern (url und bezeichnung) hinzufügen, bei dem per Senden-Button die neuen Daten in die Datenbank geschrieben werden. Hab's zwar ein paar mal versucht, aber neben den gewollten Eingaben auch lauter leere Felder aufgetaucht.
    Und der entsprechende Code dazu sah wie aus?
    Zitat von Casaro
    Außerdem ist der ID-Counter nicht mehr zurückgesprungen, nachdem ich einige Einträge aus der gelöscht habe. Die IDs sahen dann bald so aus: 1,2,34,35,36,37,38
    Das ist auch richtig so. Warum müssen IDs lückenlos sein? Der einzige Zweck ist, dass sie identifizieren. Und das tun sie am besten, wenn sie nicht mehr verändert werden.

    Zitat von Casaro
    2.)
    Wie bekomme ich die Tabellen in eine akzeptable Form? Bei der Ausgabe im Browser wird alles in eine Zeile geschrieben... Kann ich die Einträge auch einer Tabelle zuweisen, die ich z.B. in Dreamweaver erstelle? Die Tabelle müsste dann aber sozusagen "mitwachsen", da ja immer mehr Einträge dazukommen.
    Natürlich. Wenn die Darstellung von einem HTML Browser übernommen wird, kannst Du alles benutzen, was HTML so hergibt. PHP ist es egal, was es da ausgibt.
    echo "abc"; echo '<table>'; echo '$'*!'; für php alles gleich gut oder schlecht.

    Zitat von Casaro
    3.)
    Zum Schluss würde ich gerne noch wissen, wie ich Buttons zum Ändern und Löschen (basierend auf den IDs) einer bestimmten Zeile erstellen kann.
    Ohne Gewähr einfach mal ein Tutorial aus http://www.phpfriend.de/forum/ftopic15782.html gewählt: http://www.schattenbaum.net/php/mstart.php
    Es läuft darauf hinaus, dass Du das Feld id benutzt, um die Aktionen auf den ensprechenden Datensatz zu beschränken.
    Bei Abschicken des Formulars/Aktivieren des links msus als die id übergeben werden und die Art der Aktion.
    zB aktion=loeschen&id=5 -> DELETE FROM xyz WHERE id=5

    Kommentar


    • #3
      Ich habe mich so ziemlich an die MySQL-Anleitung von www.schattenbaum.net gehalten. Der Code sieht also so aus wie auf dieser Seite.
      Leider klappt die Umsetzung in Tabellenform nicht wie gewollt: mein verwendeter Code:

      # Daten abfragen

      $abfrage = "SELECT * FROM links";
      $ergebnis = mysql_query($abfrage);
      echo "<table>";
      while($row = mysql_fetch_object($ergebnis))
      {
      echo "<tr>"
      echo "<td>",$row->url,"</td>";
      echo "<td>",$row->urlname,"</td>";
      echo "</tr>";
      }
      echo "</table">;
      ?>

      Konsequenz: es wird gar nichts mehr angezeigt?!

      Kommentar


      • #4
        Da sind auch mindestens zwei Syntaxfehler drin -> parse error, nichts passiert.
        Ein Semikolon fehlt und ein Anführungzeichen ist verrutscht.

        Kommentar


        • #5
          Re

          Dank für den Tipp! Hatte den Inhalt einfach nur reinkopiert und wie das halt so ist nicht richtig hingeschaut...
          Die Tabellen werden jetzt richtig angezeigt, nur die Breite der einzelnen Spalten passt noch nicht... wie kann ich das ändern? Wenn ich noch Links hinzufügen will, muss ich ja die Daten aus einem Formular übernehmen. Wie übergebe ich denn die Variablen richtig? Reicht es, wenn ich im Feld 'name' einfach einen Namen eintrage???

          Wenn ich jetzt noch den Ändern / Löschen - Befehl hätte, wär' alles perfekt.

          Achja, nochwas: Auch wenn die IDs zur IDentifikation da sind, gibt es denn keine Möglichkeit, diese zu resetten, so dass sich eine fortlaufende reihenfolge ergibt?

          Kommentar


          • #6
            nur die Breite der einzelnen Spalten passt noch nicht... wie kann ich das ändern?
            Wie ist es denn jetzt? Wie soll es sein?
            Wenn ich noch Links hinzufügen will, muss ich ja die Daten aus einem Formular übernehmen. Wie übergebe ich denn die Variablen richtig? Reicht es, wenn ich im Feld 'name' einfach einen Namen eintrage???
            Frage verstehe ich nicht. Ein Link sieht zB so aus: <a href="skript.php?parameter1=wert1">
            Achja, nochwas: Auch wenn die IDs zur IDentifikation da sind, gibt es denn keine Möglichkeit, diese zu resetten, so dass sich eine fortlaufende reihenfolge ergibt?
            keine irgendwie sinnvolle.

            Kommentar


            • #7
              Nutze einfach eine weitere Spalte, wenn du unbedingt irgendwas fortlaufendes haben willst ... wozu auch immer.
              privater Blog

              Kommentar


              • #8
                Re: Re

                Zitat von Casaro
                Wenn ich jetzt noch den Ändern / Löschen - Befehl hätte, wär' alles perfekt.
                UPDATE / DELETE

                Kommentar

                Lädt...
                X