tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
348
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    BerlinerBaer BerlinerBaer ist offline Mitglied
    Registriert seit
    Sep 2007
    Ort
    Berlin
    Beiträge
    17
    Hi Community,

    ich habe ein Problem. Ich habe an einem Newsscript für meine Website gebastelt. Soweit auch alles gut. Nun will ich aber auch irgendwann einmal meine Daten vom Newsscript löschen.

    Hier der script:

    PHP-Code:
    <?php
    include ('config.php');

    $abfrage "SELECT * FROM bb_hp";
    $ergebnis mysql_query($abfrage);
    if((
    $row->intern==2) OR ($row->intern==1))
       {


    if(
    $row->id)
       {
    $loeschen "DELETE FROM bb_news WHERE id = '$row->id'";
    $loesch mysql_query($loeschen) or die(mysql_error());
       }


    $abfrage "SELECT * FROM bb_news";
    $ergebnis mysql_query($abfrage);
    while(
    $row mysql_fetch_object($ergebnis))
       {

    echo 
    "<table align=\"center\" width=\"550\">";
    echo 
    "<form action=\"index.php?page=news\" method=\"post\">";

    echo 
    "<tr>";

    echo 
    "<td class=\"body4\" width=\"20\">$row->id</td>";
    echo 
    "<td class=\"body4\" width=\"430\">$row->inhalt</td>";
    echo 
    "<td class=\"body4\" width=\"50\"><font color=\"$row->farbe\">Farbe</font></td>";
    echo 
    "<td class=\"body4\" width=\"50\"><input type=\"submit\" name=\"$row->id\" value=\"löschen\"></td>";

    echo 
    "</tr>";
    echo 
    "</form>";
    echo 
    "</table>";

       }
       }

    ?>

    <br />
    Ich würde mich über eure Hilfe sehr freuen.
    Geändert von BerlinerBaer (29.09.07 um 02:52 Uhr)
     

  2. #2
    spikaner spikaner ist offline Quereinsteiger @ php
    Registriert seit
    Feb 2007
    Ort
    München
    Beiträge
    439
    Woher kommt den dein $row was zeigt dir echo bzw printr ?
    Schon mal $row['id'] probiert?

    mfg Spikaner
    Geändert von spikaner (29.09.07 um 00:28 Uhr)
     

  3. #3
    Registriert seit
    Jul 2007
    Ort
    Quakenbrück
    Beiträge
    756
    $row['id'] == $row->id

    if(($row->intern==2) OR ($row->intern==1))
    {

    Wo ist die schließende Klammer im Skript!!?
     

  4. #4
    BerlinerBaer BerlinerBaer ist offline Mitglied
    Registriert seit
    Sep 2007
    Ort
    Berlin
    Beiträge
    17
    Zitat Zitat von spikaner Beitrag anzeigen
    Woher kommt den dein $row was zeigt dir echo bzw printr ?
    Schon mal $row['id'] probiert?

    mfg Spikaner
    Wieso fragen mich das alle? Eine Antwort:
    $row->id welches oben in der If-Anweisung steht, kommt aus dem Input in meinem formular. Also hiervon:
    <input type=\"submit\" name=\"$row->id\" value=\"löschen\">
    Das hat den Grund, das auch wirklich die eine ID und nicht jede id bearbeitet, bzw. gelöscht wird. Ich will ja nur das löschen, was ich will, und nicht alles.

    Zitat Zitat von Chaosengel_Gabriel Beitrag anzeigen
    $row['id'] == $row->id

    if(($row->intern==2) OR ($row->intern==1))
    {

    Wo ist die schließende Klammer im Skript!!?
    ganz unten beim script? Naja, das ist eigentlich nur dafür, das die Admin und Moderatoren meines Boards zugriff darauf haben, und nicht jeder x-beliebige. Also mit dieser If-Anweisung bin ich bislang immer glücklich gewesen, und das dürfte ansich kein Problem sein, da es auch bei meinen anderen scripten, um Daten zu ändern, genauso gut funktioniert. Also, das hat im endeffekt nichts mit dem eigentlichen fehler zu tun.

    PHP-Code:
    $abfrage "SELECT * FROM bb_hp";
    $ergebnis mysql_query($abfrage);
    if((
    $row->intern==2) OR ($row->intern==1))
       { 
    // offen 1


    if($row->id)
       { 
    // offen 2
    $loeschen "DELETE FROM bb_news WHERE id = '$row->id'";
    $loesch mysql_query($loeschen) or die(mysql_error());
       } 
    // geschlossen 2


    $abfrage "SELECT * FROM bb_news";
    $ergebnis mysql_query($abfrage);
    while(
    $row mysql_fetch_object($ergebnis))
       { 
    // offen 3

    // tabelle

       
    // geschlossen 3
       
    // geschlossen 1 
    Geändert von BerlinerBaer (29.09.07 um 02:54 Uhr)
     

  5. #5
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Zitat Zitat von BerlinerBaer Beitrag anzeigen
    Wieso fragen mich das alle? Eine Antwort:
    $row->id welches oben in der If-Anweisung steht, kommt aus dem Input in meinem formular. Also hiervon:
    <input type=\"submit\" name=\"$row->id\" value=\"löschen\">
    Das hat den Grund, das auch wirklich die eine ID und nicht jede id bearbeitet, bzw. gelöscht wird. Ich will ja nur das löschen, was ich will, und nicht alles.
    Und wie kommt es in das Formular?
    Ich sehe nirgends in deinem Code, wo die Variable $row herkommt....um $row->id als Namen für das Formularfeld zuzuweisen, müsste ja $row erstmal irgendwo herkommen?
     

  6. #6
    BerlinerBaer BerlinerBaer ist offline Mitglied
    Registriert seit
    Sep 2007
    Ort
    Berlin
    Beiträge
    17
    Zitat Zitat von Sven Mintel Beitrag anzeigen
    Und wie kommt es in das Formular?
    Ich sehe nirgends in deinem Code, wo die Variable $row herkommt....um $row->id als Namen für das Formularfeld zuzuweisen, müsste ja $row erstmal irgendwo herkommen?
    Hab ich schonmal erwähnt, das ich mich mit php und mysql nicht besonders gut auskenne?

    Nunja, also die anderen Abfragen funktionieren alle.


    PHP-Code:
    echo "<td class=\"body4\" width=\"20\">$row->id</td>"// ausgabe ohne Probleme
    echo "<td class=\"body4\" width=\"430\">$row->inhalt</td>"// ausgabe ohne Probleme
    echo "<td class=\"body4\" width=\"50\"><font color=\"$row->farbe\">Farbe</font></td>"// ausgabe ohne Probleme
    echo "<td class=\"body4\" width=\"50\"><input type=\"submit\" name=\"$row->id\" value=\"löschen\"></td>"//ausgabe ohne Probleme 
    Hier sogar der Quelltext zeigt es richtig an:
    HTML-Code:
    <td class="body4">8</td>
    <td class="body4">-- Abwesenheitsmeldung kann man nun nach belieben per Einstellungen ändern!  </td>
    <td class="body4"><input type="submit" name="8" value="löschen"></td>
    Die 8 ist die $row->id geht von 1 bis offen durch.
     

  7. #7
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Sorry, ich hatte Tomaten auf den Augen...

    Woher die $row->id im Formular kommt, ist ja doch zu sehen...
    Code :
    1
    
    while($row = mysql_fetch_object($ergebnis))

    Vorrausgesetzt, jenes funktioniert
    Code :
    1
    
    if(($row->intern==2) OR ($row->intern==1))
    ...warumauchimmer, aber es scheint ja zu funktionieren, sonst würdest du das Formular ja nicht sehen
    ...
    probiere es mal so:
    PHP-Code:
    <?php
    include ('config.php');

    $abfrage "SELECT * FROM bb_hp";
    $ergebnis mysql_query($abfrage);
    if((
    $row->intern==2) OR ($row->intern==1))
      {
        [
    B]if(isset($_POST['deleteRow']))[/B]
          {
            
    $loeschen 'DELETE FROM bb_news WHERE id = '.intval($_POST['deleteRow']);
            
    $loesch mysql_query($loeschen) or die(mysql_error());
          }
      

    $abfrage "SELECT * FROM bb_news";
    $ergebnis mysql_query($abfrage);
    while(
    $row mysql_fetch_object($ergebnis))
        {

    echo 
    "<table align=\"center\" width=\"550\">";
    echo 
    "<form action=\"index.php?page=news\" method=\"post\">";

    echo 
    "<tr>";

    echo 
    "<td class=\"body4\" width=\"20\">$row->id<input type="hidden" name="deleteRow" value=\"$row->id\"></td>";
    echo 
    "<td class=\"body4\" width=\"430\">$row->inhalt</td>";
    echo 
    "<td class=\"body4\" width=\"50\"><font color=\"$row->farbe\">Farbe</font></td>";
    echo 
    "<td class=\"body4\" width=\"50\"><input type=\"submit\"  value=\"löschen\"></td>";

    echo 
    "</tr>";
    echo 
    "</form>";
    echo 
    "</table>";

        }
      }

    ?>
     

  8. #8
    BerlinerBaer BerlinerBaer ist offline Mitglied
    Registriert seit
    Sep 2007
    Ort
    Berlin
    Beiträge
    17
    nur das ich bei hidden noch \ hinsetzen musste, muss ich sagen, das es perfekt ist. Vielen lieben danke für eure Hilfe.

    hat alles ohne Probleme funktioniert.
     

Ähnliche Themen

  1. Daten werden nicht ausgegeben (Mysql)
    Von jdgf im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 23.02.09, 17:33
  2. Antworten: 1
    Letzter Beitrag: 07.10.06, 15:51
  3. Daten werden nicht eintragen mysql
    Von Wolf of Doom im Forum PHP
    Antworten: 3
    Letzter Beitrag: 25.03.04, 00:22
  4. Antworten: 3
    Letzter Beitrag: 26.02.04, 11:42
  5. Antworten: 14
    Letzter Beitrag: 06.06.02, 18:39