Newsscript/Mysql/PHP

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

  • Newsscript/Mysql/PHP

    Hi,
    ich habe mich heute endschieden ein Newsscript basiert auf eine Datenbank(Mysql) zu coden. Nun bin ich so weit das ich die News eintragen kann, durch ein Formular. Nun mein Problem ist, ich will jetzt die Funktion noch mit einbauen einzelne News zu löschen. Doch mir fehlt ein Beispiel wie das gemacht wird. Ich habe mich in google.de umgeschaut und nichts dazu gefunden sowie auch in diesem Forum.

    Ich weis wie man ein Datensatz aus einer Tabelle löscht:

    z.B:

    DELETE FROM news
    WHERE ID='1'

    Aber mir felt immer noch das Denkvermögen wie ich das jetzt bei jeder news machen soll. Es wäre sehr nett, wenn jemand ein Beispiel zeigen würde das auf ein Newsscript basiert. Habe mir schon fertige Newsscripts angeschaut doch sie waren viel zu kompliziert. Ich will ein einfaches Newsscript.


    Danke im Voraus

    mfg INu

  • #2
    Du machst dir ein form. Liest alle News Einträge aus der DB und gibts diese als einzelne Inputfelder aus <input type="text" name="nummer_id">Inhalt des News Feldes. Dann setzt du vor jedes Input Feld noch eine Checkbox zum Löschen. Wenn die Checkbox ausgewählt ist, dann musst du aus dem Namen die ID in der DB extraieren und den Datensatz löschen.

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Ersteinmal Dank ich werde es einmal versuchen

      Kommentar


      • #4
        Oder noch einfacher per Link:

        Jede Newsmeldung hat in Deiner Datenbank eine ID (hoffentlich...)

        Diese ID liest Du aus (genau wie den Newstext), packst sie im Admintool hinter jede Meldung als Link (<a href="loesche.php?id=$id">wech damit</a>)

        und baust Dir eine loesche.php, mit dem Inhalt, den Du beschrieben hast:

        DELETE FROM news WHERE ID='$id' LIMIT 1;

        dazu die Datanbankverbindung - fertig.

        Kommentar


        • #5
          Danke der Weg ist mir sogar besser trozdem Danke euch beiden

          Kommentar


          • #6
            Hmm bei mir ist gerade noch ein Problem endstanden. Wollte gerade die Ausgabe der News code und wenn ich die ausgebe dann sind die garnicht in einer Tabelle ausgegeben. Versteh ich nicht hier einmal der Code:

            PHP-Code:
            <?php
            //Laden der Config.php
            include("config.php");
            //Verbindung herstellen
            @mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR
               die(
            "Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
            mysql_select_db(MYSQL_DATABASE) OR
               die(
            "Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());
            /////////////////////////////////////////////////////////////////////////
            $result mysql_query('SELECT * FROM news') OR die(mysql_error());
            ///////////////////////////////////////////////////////////////////
            while ( $news mysql_fetch_object($result))
                {
            echo 
            "<table=\"1\" cellspacing=\"0\" cellpadding=\"3\" bordercolordark=\"#000000\"bordercolorlight=\"#000000\" align=\"center\">";
            echo      
            "<tr><td><b>$news->Titel</b></td><td><b>von: </b>$news->Author</td></tr>\n";
            echo      
            "<tr><td colspan=\"2\">$news->Inhalt</td></tr>\n";
            echo      
            "<tr><td colspan=\"2\"><font size=\"1\" face=\"Arial\"><b>geschrieben am: </b>$news->Datum</font></td></tr>\n";
            echo      
            "</table><br>";
                }
            ?>
            Danke schon einmal im voraus

            Kommentar


            • #7
              Da muss noch ein $news->ID rein (vorletztes echo)
              oder $news->id oder $news->Id, je nachdem, was in Deiner DB steht.
              Dann hast Du die ID für den Link oder das Formular.

              PHP-Code:

              echo "<table=\"1\" cellspacing=\"0\" cellpadding=\"3\" 
              bordercolordark=\"#000000\"bordercolorlight=\"#000000\" align=\"center\">"
              ;
              echo      
              "<tr><td><b>$news->Titel</b></td><td>
              <b>von: </b>
              $news->Author</td></tr>\n";
              echo      
              "<tr><td colspan=\"2\">$news->Inhalt</td></tr>\n";
              echo      
              "<tr><td colspan=\"2\"><font size=\"1\" face=\"Arial\">
              <b>geschrieben am: </b>
              $news->Datum</font></td></tr>\n";
              echo      
              "<tr><td colspan=\"2\">
              <font size=\"1\" face=\"Arial\"><b>ID: </b>
              $news->ID</font></td></tr>\n";
              echo      
              "</table><br>"

              Kommentar


              • #8
                Ich hab das jetzt so gemacht aber er zeigt nur die id an und an der formatierung hat sich nichts geändert.

                also statt so anzuzeigen:

                Titel---------------von: XXX

                texttexttexttexttexttext
                texttexttexttexttexttext

                geschrieben am: xxxx


                zeigt er es so an :
                titelvon:xxx texttexttexttexttexttext geschrieben am: xxxx

                Kommentar


                • #9
                  Vermutlich weil <table="1" ziemlicher Dummfug ist.

                  Kommentar


                  • #10
                    Versteh ich nicht :?

                    Kommentar


                    • #11
                      Falsch:
                      PHP-Code:
                      echo "<table=\"1\" cellspacing=\"0\" cellpadding=\"3\" 
                      bordercolordark=\"#000000\"bordercolorlight=\"#000000\" align=\"center\">"

                      Richtig:
                      PHP-Code:
                      echo "<table cellspacing=\"0\" cellpadding=\"3\" 
                      bordercolordark=\"#000000\" bordercolorlight=\"#000000\" align=\"center\">"

                      Wenn du es immer noch nicht verstehst, schleich dich zu http://www.w3.org/MarkUp/Overview.html#recommendations .

                      Kommentar


                      • #12
                        oHH mann klar doch wie dooff ich bin bin scon müde bestimmt liegt es da drann ^^ also nochmals danke

                        Kommentar


                        • #13
                          @carlo

                          Also ich hab jetzt genau jeden Schritt von dir befolgt hier ma der Code:

                          admin.php
                          PHP-Code:
                          <?php
                          //Laden der Config.php
                          include("config.php");
                          //Verbindung herstellen
                          @mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR
                             die(
                          "Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
                          mysql_select_db(MYSQL_DATABASE) OR
                             die(
                          "Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());
                          /////////////////////////////////////////////////////////////////////////
                          $result mysql_query('SELECT * FROM news') OR die(mysql_error());
                          ///////////////////////////////////////////////////////////////////
                          $id mysql_query('SELECT ID FROM news') OR die(mysql_error());
                          while ( 
                          $news mysql_fetch_object($result))
                              {
                          echo 
                          "<table border=\"1\" cellspacing=\"0\" cellpadding=\"3\" width=\"300\"
                          bordercolordark=\"#000000\"bordercolorlight=\"#000000\" align=\"center\">"
                          ;
                          echo      
                          "<tr><td width=\"180\"><b>$news->Titel</b></td><td width=\"120\">
                          <b>von: </b>
                          $news->Author</td></tr>\n";
                          echo      
                          "<tr><td colspan=\"2\">$news->Inhalt</td></tr>\n";
                          echo      
                          "<tr><td colspan=\"2\"><font size=\"1\" face=\"Arial\">
                          <b>geschrieben am: </b>
                          $news->Datum</font></td></tr>\n";
                          echo 
                          "<tr><td align=\"center\" colspan=\"2\"><a href=\"loesche.php?id=$id\">Löschen</a></td></tr>";
                          echo      
                          "</table><br>";

                              }
                          ?>
                          und
                          loesche.php
                          PHP-Code:
                          <?php
                          //Laden der Config.php
                          include("config.php");
                          //Verbindung herstellen
                          @mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR
                             die(
                          "Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
                          mysql_select_db(MYSQL_DATABASE) OR
                             die(
                          "Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());
                          /////////////////////////////////////////////////////////////////////////
                          ///////////////////////////////////////////////////////////////////
                          $loesche "DELETE FROM news WHERE ID='$id' LIMIT 1";

                          mysql_query($loesche);

                          ?>
                          aber es funktioniert nicht :?

                          hoffe du oder irgendeiner kann mir helfen

                          Kommentar


                          • #14
                            1. Wo in deinem Code wird $id definiert ?
                            PHP-Code:
                            echo '<a href="loesche.php?id='.$news->ID.'">'
                            2. Wie übernimmst du denn die id in loeschen.php ? Was bei dir steht setzt register globals voraus und das würde ich nicht tun.
                            PHP-Code:
                            $id $_GET['id'];
                            $loesche "DELETE FROM news WHERE ID='$id' LIMIT 1"
                            Also ich hab jetzt genau jeden Schritt von dir befolgt hier ma der Code...
                            Manchmal hilft auch ein wenig selber denken. Und wenn du dein Error
                            Reporting so eingestellt hättest, dass auch Notices angezeigt werden,
                            dann wäre dir ne Meldung nach dem Motto "undefined Variable $id" über
                            den Weg gelaufen. Und ne nicht definierte Variable hat sicherlich den von Dir gewünschten Wert.

                            Gruss

                            tobi
                            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                            Kommentar


                            • #15
                              Danke dir

                              Kommentar

                              Lädt...
                              X