edit+del

vinc5nt

Erfahrenes Mitglied
*räusper*
ich weiß das ist ne scheiss tour, aber ich weiß nicht warum das nicht so will wie ich deshalb poste ich jetzt mal die entscheidene code Stelle (die recht groß ist) und äussere dann meinen Verdacht :) und dann hoff ich dass ihr mir helfen könnt :)


- > zum code : das editieren wird durch einen link ausgeführt ... das alles soll ein news-system dartstellen .. genauergesagt die edit+del funktion

PHP:
 //auslesen edit id
if($editieren) {
     $sqlkommando="SELECT * FROM news WHERE id=$editieren";
     $sqlanfrage=mysql_query($sqlkommando) or die("Error :". mysql_error());

     while($daten=mysql_fetch_array($sqlanfrage)) {
         echo "<form action=\"".$PHP_SELF."\"method=\"post\" name=\"entry\">";
         echo "<input type=\"hidden\" name=\"change\" value=\"".$daten[id]."\">";
         echo "Poster : <input type=\"text\" name=\"poster\" size=\"25\" value=\"". $daten[poster] ."\"><br><br>";
         echo "Name : <input type=\"text\" name=\"name\" size=\"25\" value=\"". $daten[name] ."\"><br><br>";
         echo "Inhalt: <textarea name=\"inhalt\" cols=\"20\" rows=\"15\">". $daten[inhalt] ."</textarea><br><br>";
         echo "Thema : <select size=\"1\" name=\"thema\" value=\"". $daten[thema] ."\"><br><br>";
         echo "<option value=\"intern\">clan intern</option>";
         echo "<option value=\"cs\">cs-allgemein</option>";
         echo "<option value=\"cw\">CWs</option>";
         echo "<option value=\"clan\">clan allgemein</option>";
         echo "<option value=\"member\">Members</option>";
         echo "<input type=\"submit\" name=\"entry\" value=\"Eintragen\"><br><br>";
         echo "<a href=\"".$PHP_SELF."?clear=".$daten[id]."\">delete</a>";
         echo "</form>";
         echo "<br><br><br><br>";

     }
         //loeschen
     if($clear) {
         mysql_query("DELETE * FROM news WHERE (id='$clear')");
     }
         //editieren
     if($entry) {
         mysql_query("UPDATE news SET thema='$thema', name='$name', inhalt='$inhalt', poster='$poster' WHERE (id='$change')");
     }
}

ich denke dass ich die $clear und $entry vars anderes kennzeichenen muss (die if phrasen) weiß nicht irgednwie action='$clear' oder so was ????



Vielen Dank
 
$PHP_SELF beinhaltet nicht die übergebenen Parameter. Du musst $editieren=1 mit übergeben damit er überhaupt in diesen Zweig geht.

PHP:
<?php
//auslesen edit id
if($editieren) {
     $sqlkommando="SELECT * FROM news WHERE id=$editieren";
     $sqlanfrage=mysql_query($sqlkommando) or die("Error :". mysql_error());

     while($daten=mysql_fetch_array($sqlanfrage)) {
         echo "<form action=\"".$PHP_SELF."?editieren=1\"method=\"post\" name=\"entry\">";
         echo "<input type=\"hidden\" name=\"change\" value=\"".$daten[id]."\">";
         echo "Poster : <input type=\"text\" name=\"poster\" size=\"25\" value=\"". $daten[poster] ."\"><br><br>";
         echo "Name : <input type=\"text\" name=\"name\" size=\"25\" value=\"". $daten[name] ."\"><br><br>";
         echo "Inhalt: <textarea name=\"inhalt\" cols=\"20\" rows=\"15\">". $daten[inhalt] ."</textarea><br><br>";
         echo "Thema : <select size=\"1\" name=\"thema\" value=\"". $daten[thema] ."\"><br><br>";
         echo "<option value=\"intern\">clan intern</option>";
         echo "<option value=\"cs\">cs-allgemein</option>";
         echo "<option value=\"cw\">CWs</option>";
         echo "<option value=\"clan\">clan allgemein</option>";
         echo "<option value=\"member\">Members</option>";
         echo "<input type=\"submit\" name=\"entry\" value=\"Eintragen\"><br><br>";
         echo "<a href=\"".$PHP_SELF."?editieren=1&clear=".$daten[id]."\">delete</a>";
         echo "</form>";
         echo "<br><br><br><br>";

     }
         //loeschen
     if($clear) {
         mysql_query("DELETE * FROM news WHERE (id='$clear')");
     }
         //editieren
     if($entry) {
         mysql_query("UPDATE news SET thema='$thema', name='$name', inhalt='$inhalt', poster='$poster' WHERE (id='$change')");
     }
}
?>

HTH
TheVirus
 
Erstmal Vielen Dank !

Es funzt nur das delen geht noch nicht aber das werde ich gleich nochmal probieren ... nur verstanden warum es jetzt geht habe ich noch nicht !

wonach richtet sich denn das editieren=1 kann man es mit einer Weiche vergleichen ? wäre es null würde dann nichts passieren ? und ist clear dann eine art unterpunkt oder wie ?
und wenn ich den Form tag jetzt wuff nennen wollte müsste ich dann auch eiditieren=1 durch wuff=1 ersetzten ?

und weißt du / jmd warum er immer nach dem ich ein posting geöffnet habe er immer das erste danacht ... nach eintragen ... öffnet ?



Vielen Dank
 
Ich brauch doch hilfe mit der del funktion ... das klappt nicht :) dafür weiß ich aber warum er immer thread eins öffnet und das ist mir jetzt auch egal ... wäre zu umständlich das zubeheben .. liegt nämlich an der "Zweigstellung".

so das prob ist das ich mit diesem link:

PHP:
         echo "<a href=\"".$PHP_SELF."?editieren=1&clear=".$daten[id]."\">delete</a>";

nicht das hier auf :

PHP:
 if($clear) {
         mysql_query("DELETE * FROM news WHERE (id='$clear')");
     }

warum ... für mehr infos über den quellcode bitte oben gucken :)



VIELEN DANK
 
Hi!

Also zunächst einmal zu den ifs.
Wenn du sowas schreibst wie if($irgendwas) dann wird abgefragt ob $irgendwas true oder 1 ist. Wenn es der Fall ist dann wird das ausgeführt was in den Klammern drunter steht.

Da ich jetzt die $editieren auf 1 gesetzt hab ist die bedingung if ($editieren) erfüllt und somit wird der code dadrin ausgeführt (die beiden anderen ifs sind im ersten if drin deswegen musst du das machen).

Zu deinem Lösch Problem:
mach aus:
PHP:
if($clear)
PHP:
if (isset ($clear))

Da du in $clear die ID des zu löschenden Objektes übergibst. isset gibt true zurück falls die variable clear gesetzt ist.

Hope that helps

TheVirus
 
nee das funzt nicht :(

aber da ist auch irgendwie sowas kaputt der führt in dem hier

PHP:
if($clear) {
         mysql_query("DELETE * FROM news WHERE (id='$clear')");
     }

mysql_query("DELETE * FROM news WHERE (id='$clear')");ich kann dem sogar ne feste id zb 2 oder so zuweisen und er löscht es nicht mal ????

hast du ne idee was da kaput ist ich poste jetzt nochmal den relevanten teil


code :

PHP:
//loeschen
if(isset($clear)) {
    mysql_query("DELETE * FROM news WHERE ('id=$clear')");
    echo "erfolgreich gedelt :)";
}

//auslesen edit id
if($editieren) {
     $sqlkommando="SELECT * FROM news WHERE id=$editieren";
     $sqlanfrage=mysql_query($sqlkommando) or die("Error :". mysql_error());

     while($daten=mysql_fetch_array($sqlanfrage)) {
         echo "<form action=\"".$PHP_SELF."?editieren=1\"method=\"post\" name=\"entry\">";
         echo "<input type=\"hidden\" name=\"change\" value=\"".$daten[id]."\">";
         echo "Poster : <input type=\"text\" name=\"poster\" size=\"25\" value=\"". $daten[poster] ."\"><br><br>";
         echo "Name : <input type=\"text\" name=\"name\" size=\"25\" value=\"". $daten[name] ."\"><br><br>";
         echo "Inhalt: <textarea name=\"inhalt\" cols=\"20\" rows=\"15\">". $daten[inhalt] ."</textarea><br><br>";
         echo "Thema : <select size=\"1\" name=\"thema\" value=\"". $daten[thema] ."\"><br><br>";
         echo "<option value=\"intern\">clan intern</option>";
         echo "<option value=\"cs\">cs-allgemein</option>";
         echo "<option value=\"cw\">CWs</option>";
         echo "<option value=\"clan\">clan allgemein</option>";
         echo "<option value=\"member\">Members</option>";
         echo "<input type=\"submit\" name=\"entry\" value=\"Eintragen\"><br><br>";
         echo "<a href=\"".$PHP_SELF."?editieren=1&clear=".$daten[id]."\">delete</a>";
         echo "</form>";
         echo "<br><br><br><br>";

     }
     //editieren
     if($entry) {
         mysql_query("UPDATE news SET thema='$thema', name='$name', inhalt='$inhalt', poster='$poster' WHERE (id='$change')");
     }
}
 
@ TheVirus - du enttäuschst mich aber schon ganz gewaltig in diesem Thread, du warst doch sonst immer so *aufgeweckt* ;)

check this
PHP:
$sql = "DELETE * FROM news WHERE (id='$clear')";
mysql_query ($sql,$db) or DIE ('Verbindungsaufbau & Löschen fehlgeschlagen');
Soweit ich mich erinner sollte dies das Problem gewesen sein.

Grüße, Morph
 
Vielleicht bist du ja weniger enttäuscht wenn cih dich korrigiere! ;-)

PHP:
$sql = "DELETE FROM news WHERE (id='$clear')"; // Klammern nur Optional

Die Ausführung des querys ist in beiden Fällen richtig. Wenn allerdings nur eine Verbindung zu ner DB besteht reicht mysql_query ($sql)

So Long
TheVirus
 
Och menno, ich wollt doch auch einmal recht haben :( :p
Na was solls - habs eben auch auf mysql.com gesehen - Also sorry, ich nehme alles zurück und behaupte das Gegenteil :)

Grüße, Morph
 
Zurück