Löschen einer vorhandenen ID, wie lösen?...

  • Themenstarter Themenstarter TearOfDragon
  • Beginndatum Beginndatum
Danke aber, wie wäre das denn in syntaktischer Form und müsste ich das dann direkt in DB eintragen oder im jeweiligen Script?.....
 
Hier mal ein kleines Beispiel
Beim Start der Seite wird das Formular aufgerufen. Das ist abfragebedingt so festgelegt und wird an die gleiche Seite geschickt, wo dann die Aktion (update) stattfindet.

Also, es wird abgefragt,

ist das Formular abgeschickt denn update mir den Datensatz und gibt mir anschließend ein echo aus ansonsten zeig mir das Formular.

PHP:
<?
// Verbindung zur mySQL - Datenbank herstellen
$server = "localhost"; $user = "root"; $pass = "";
$database = "db";
$table ="tabelle";
$newstext = $_POST['newstext'];

	$verbindung = @mysql_connect($server,$user,$pass)
	or die ("Keine Verbindung möglich");
	mysql_select_db($database, $verbindung)
	or die ("SQL-Fehler = ".mysql_error());
	
		$sql = "SELECT * from $table where 1";
		$result = mysql_query ($sql);
		$data = mysql_fetch_array ($result);
		$txt = $data[1];
		mysql_free_result($result);
		
	  // wenn Formular abgeschickt ist
    
  if(isset($_POST['action'])) {	
  	 $query = mysql_query("update $table set feld = '$newstext'");
	 if($query){echo "eingetragen";}
	
} else { // Anzeige des Formulars
 ?>
<form name="form1" method="post" action="<? echo $_SERVER['PHP_SELF']?>">
  <textarea name="newstext"><? echo $txt; ?></textarea>
  <input type="hidden" name="action">
  <input type="submit" name="Submit" value="Abschicken">
  </form>
<? }
mysql_close($verbindung); ?>
 
Zuletzt bearbeitet:
Hm, so *tüftel*, er holt zwar das Formular schon rein, halt die Daten angeglichen, zeigt den Inhalt auch an was in der DB steht, aber bekomme nichts geändert, btw bekomme einen Blankscreen angezeigt...Was mache ich da noch falsch? :/

PHP:
$table ="belt"; // ...
$newstext = $_POST['news_text']; // den _ eingefügt sowie es auch in der DB steht...

    $verbindung = @mysql_connect($server,$user,$pass) //wird richtig übernommen nach Abänderung
    or die ("Keine Verbindung möglich");
    mysql_select_db($database, $verbindung)
    or die ("SQL-Fehler = ".mysql_error());
    
        $sql = "SELECT * from $table where 1";
        $result = mysql_query ($sql);
        $data = mysql_fetch_array ($result);
        $txt = $data[1];
        mysql_free_result($result);
        
      // wenn Formular abgeschickt ist
    
  if(isset($_POST['action'])) {    
       $query = mysql_query("update $table set feld = '$newstext'"); //hier auch mehrfach die Variablen getauscht mit demselben Ergebnis....
     if($query){echo "eingetragen";}
 
Hi

also beim update feld, das musst Du durch Dein eigenes ersetzen.

weiterhin ist bei mir $data[1] die 2. spalte der Tabelle. Das musst Du noch anpassen z.B. $data['feldbezeichnung']

Das Formular kann ich da jetzt nicht sehen :p
 
Zuletzt bearbeitet:
Hallo Luzie :)

Muchas gracias und danke für deine Mühe und Zeit mir das begreiflich zu machen auch wenn's ne schwere Geburt war quasi ^ö^

Klappt jetzt endlich, nach zigmaligem Umstellen *luftsprüngevorfreudemach*

Hab das jetzt so gelöst....

PHP:
$table ="belt";
$news_text = $_POST['news_text'];

    $verbindung = @mysql_connect($server,$user,$pass)
    or die ("Keine Verbindung möglich");
    mysql_select_db($database, $verbindung)
    or die ("SQL-Fehler = ".mysql_error());
    
        $sql = "SELECT * from $table where 1";
        $result = mysql_query ($sql);
        $data = mysql_fetch_array ($result);
        $txt = $data[news_text];
        mysql_free_result($result);
        
      // wenn Formular abgeschickt ist
    
  if(isset($_POST['action'])) {    
       $query = mysql_query("update $table set news_text = '$news_text'");
     if($query){echo "eingetragen";}

Werde damit jetzt noch etwas rumspielen, und weiter durchfuchsen ^ö^
 
Huhu,

wenn Du noch etwas herumtesten möchtest, da hab ich was für Dich. Falls doch nochmal mehrere User in die Tabelle schreiben wollen, kannst Du das mit Cookies lösen.

PHP:
<?
// Verbindung zur mySQL - Datenbank herstellen
$server = "localhost"; $user = "root"; $pass = "";
$database = "db";
$table ="news";
$newstext = $_POST['newstext'];

	$verbindung = @mysql_connect($server,$user,$pass)
	or die ("Keine Verbindung möglich");
	mysql_select_db($database, $verbindung)
	or die ("SQL-Fehler = ".mysql_error());
	
	// Ausgabe eines bereit existierenden Datensatzen wenn Cookie vorhanden
	$txt="";
	if(!empty($_COOKIE['newsid'])) {
		$sql = "SELECT * from $table where id = ".$_COOKIE['newsid'];
		$result = mysql_query ($sql);
		$data = mysql_fetch_array ($result);
		$txt = $data[1];
		mysql_free_result($result);
		
		// Link zum Löschen vom Datensatz und Cookie
		// wird nur angezeigt, wenn ein Cookie bereits vorhanden ist
		$link = '<a href="formmitcookie.php?logout=1">Eintrag loeschen</a>';
			
		if($_GET['logout'] == 1) {
			$query = mysql_query("delete from $table where id = ".$_COOKIE['newsid']);
			setcookie('newsid',"",time()-3600,"/"); 
			echo "Der Eintrag wurde geloescht";
			}
		}
		
  // Update oder insert, das ist die Frage
  // existiert ein Cookie, wird nach Abschicken des Formulars der Datensatz geändert
  // existiert noch kein Cookie, dann wird nach Abschicken des Formulares ein neuer 
  // Datensatz eingetragen. 
  // Direkt nach Eintrag wird die gerade erzeugte insert_id in das Cookie gesetzt. 
    
  if(isset($_POST['action'])) {	
  	if(!empty($_COOKIE['newsid'])) 
		{  
			 $query = mysql_query("update news set newstext = '$newstext' 
									where id = ".$_COOKIE['newsid']);
			 $aussage = "Eintrag ist geändert";										
		} else {
			$query = mysql_query("insert into news (newstext) Values ('$newstext')");
			$neueid = mysql_insert_id();
			setcookie ("newsid", $neueid,time()+60*60*24*365,"/");
			$aussage = "Es wurde ein neuer Eintrag gespeichert";	
	}	
mysql_close($verbindung);
// Aussage ausgeben
echo $aussage;

} else {
 ?>
<form name="form1" method="post" action="<? echo $_SERVER['PHP_SELF']?>">
  <textarea name="newstext"><? echo $txt; ?></textarea>
  <input type="hidden" name="action">
  <input type="submit" name="Submit" value="Abschicken">
  </form>
<? echo $link;
} ?>
 
Zuletzt bearbeitet:
Guggux,

Danke dir :), gerne, auf alle Fälle...lernt ja schließlich nie aus und vielleicht auch mal der Schritt sich überhaupt mit Keksen zu beschäftigen, aber lasses erstmal langsam angehen ^_._^
 
TearOfDragon hat gesagt.:
Guggux,

Danke dir :), gerne, auf alle Fälle...lernt ja schließlich nie aus und vielleicht auch mal der Schritt sich überhaupt mit Keksen zu beschäftigen, aber lasses erstmal langsam angehen ^_._^

Ist klar, eines nach dem anderen :)
 
Zurück