• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Beschränkter Delete

Partymaster18e

Neues Mitglied
Beschränkter Delete (*)

Hallo Community,

ich habe eine kleine und hoffendlich nicht zu dumme Frage.

Ich möchte nur einen Bestimmten wert in einer MySQL Tabelle ändern bzw. löschen.

Mit:
Code:
<?php
  $loeschen = "DELETE FROM links WHERE id = '3'";
  ?>

lösche ich aber den ganzen Datensatz der ID 3 was ich aber garnicht will sondern ich möchte das nur das Feld SW indem 1 steht wieder gelöscht wird , sprich nichts mehr drin steht.

Ist das möglich oder ist es besser bzw möglich (ich habs noch nicht getestet weil cih nicht weiß was dann passiert^^) wenn ich update mit nem leeren wert auf dem Feld ausführe ?

So und weil ich leider etwas auf dem Schlauch steh da ich mich auf dieser ebene noch nie wirklich beschäftigt habe wie kann ich Felder Updaten ?

Sprich:

Ich möchte das Feld XY in Tabelle ABC von ID 3 nen anderen inhalt bekommt.
Würde das so gehn?

Code:
UPDATE ABC Set XY = 'Ich bin der neue Inhalt' WHERE id = '3'
Und stimmt dann meine Vermutung das ich dann nur die ID ändern muss wenn ich das Selbe FELD bei einer anderen ID ändrn möchte ?


Ich weiß es sind vilee Fragen aber ich bin absoluter neuling in sachen PHP in zusammenhang mit MySQL =/

Ich bitte meine Unwissenheit zu entschuldigen.

Gruß Olli :oops:
 
Zuletzt bearbeitet:
Werbung:
macht nichts, dafür gibts solche foren ;-).

es geht, aber du musst dann noch ein weiteres argument setzen:

PHP:
<?php
$var = ''; //variable leer setzen
$id = '57'; //ID zur verdeutlichung direkt angesprochen

$sql = "UPDATE table SET column = '".$var."' WHERE id = '".$id."' ";
?>

als direkter befehl wäre das:

Code:
UPDATE table SET column = '' WHERE id = '57';

Nils aka XraYSoLo
 
Werbung:
Werbung:
THX für die Antworten =)

Gut dann werd ich mal schnell zusammenfassen bevor ich alles spränge wil ich wieder was falsch gemacht habe ^^

Formular:
Code:
<html>
<head>
</head>
<body>
<h3>Fahrtzeug erstellen</h3>
<form action="fzaendern.php" method="post">
<dl>
<dt>Wache w&auml;hlen:</dt>

<dd>
<dt>ID:</dt>
<dd><input type="text" name="id" /></dd>
<p>
<input type="submit" value="&Auml;ndern" />
<input type="reset" value="Zur&uuml;cksetzen" />
</p>
</form>

</body>
</html>
fzaendern.php

Code:
<?php

include("conf/config.php");

mysql_error();

  mysql_connect("$server",  "$benutzer", "$passwort") or die ("Keine Verbindung moeglich");

  mysql_select_db("Tabelle_FMS") or die ("Die Datenbank existiert nicht");

  $id = $_POST["id"];  

[COLOR=#000000][COLOR=#0000bb] $var [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]''[/COLOR][COLOR=#007700];[/COLOR][/COLOR]
  [COLOR=#000000][COLOR=#0000bb]$id [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]'[/COLOR][/COLOR]$_POST["id"][COLOR=#000000][COLOR=#dd0000]'[/COLOR][COLOR=#007700];[/COLOR][/COLOR]

  $eintrag = "[COLOR=#000000][COLOR=#dd0000]UPDATE table SET column = '"[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]$var[/COLOR][COLOR=#007700].[/COLOR][COLOR=#dd0000]"' WHERE id = '"[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]$id[/COLOR][COLOR=#007700].[/COLOR][COLOR=#dd0000]"' "[/COLOR][COLOR=#007700];[/COLOR][/COLOR]

  $eintragen = mysql_query($eintrag);

  mysql_close();
print("<b>FZ erfolgreich eingetragen !</b>");
?>

So versteh ich das grad ist das richtig ?

An die Beiden Poster über mir ^^
BITTE NICHT Streiten ;-)
Will nicht für den 3. Weltkrieg schuld sein *fg*
 
aber was soll dann folgender Satz?

ich hatte übersehen, dass er die syntax bereits korrekt gepostet hatte, nur daran lags ;-).

@partymaster:

du kannst die ID direkt in das SQL-statement schreiben:

PHP:
<?php
$eintrag = "UPDATE table SET column = '".$var."' WHERE id = '".$_POST['id']."' ";
?>

was ich dir da geschrieben hab', waren nur BEISPIELE. die variablendeklaration bleit dir überlassen.
zusätzlich noch "column" und "table" gegen die namen deiner spalte und tabelle eintauschen.

Nils aka XraYSoLo
 
du kannst die ID direkt in das SQL-statement schreiben:

PHP-Code:
<?php
$eintrag
= "UPDATE table SET column = '".$var."' WHERE id = '".$_POST['id']."' ";
?>

Ok das natürlich auch ok naja ich kenn es nur das ich die variable vorhe bereitstelle und dann so einlese wie in meinem Beispiel ;-)
Wieder was gelernt ^^
Noch eine kleine Frage dann geb ich auch ruhe (hoffe ich ^^)

Kann ich $var auch gegebenenfalls durchs Formular übergegeben lassen falls es mal irgendwann sein muss ?
Oder müsste ich dafür ne neue Vari machen ?

Achja und danke an euch schonmal ^^ Bevor ich das wieder im eifer des gefechts vergesse mich zu bedanken =)

Ihr habt mir bisher schon supercool geholfen =)
 
Werbung:
Klar, alles was Du im Formular an Feldern definierst, kannst du in fzaendern.php verarbeiten.

Gruß thuemmy
 
So kompletten Beitrag gekillt und neu ^^

Also ich hab jetzt noch nen prob ^^

2 Daten ^^

Formular.html

Code:
<html>
<head>
</head>
<body>
<form action="schreiben_sprechwunsch.php" method="post">
Status zuruecksetzen
<br>
<input type="hidden" name="id" value="1"/>
<br>
<input type="submit" value="Erledigt" />
</form>

</body>
</html>
schreiben_sprechwunsch.php

Code:
<?php

include("conf/config.php");

mysql_error();

  mysql_connect("$server",  "$benutzer", "$passwort") or die ("Keine Verbindung moeglich");

  mysql_select_db("FunkSpiel-Team-Hosting_FMS") or die ("Die Datenbank existiert nicht");

  $var = '';
  $id = '$_POST["id"]';

  $eintrag = "UPDATE Wache_Feuerhausen Set sprechwunsch = '' WHERE id = '$id'";

  $eintragen = mysql_query($eintrag);

  mysql_close();
print("<b>FZ erfolgreich eingetragen !</b>");
?>
So meine Frage warum wird die ID nicht vom Formular empfangen ?

Wenn ich das Formular absende bleibt die datenbank gleich =(

Änder ich im schreiben....php das WHERE id = '$id'"; in WHERE id = '1"; um dann wird der eintrag 1 so wie er soll übernommen.

Das ist allerding scheiße weil ich dann ja für alles eine datei machen muss und da hab ich mal keine lust deswegen soll es die ID ja aus dem Form übernehmen da ich mehr buttons als nur den 1 habe ...

Gruß Olli
 
Zuletzt bearbeitet:
Werbung:
Werbung:
Das ist doch egal Oo
Nun, ich meine mal gelesen zu haben, das "echo" gegenüber "print" eine bessere Performance erzielt. Weil Print eine Funktion ist, werden mehr Ressourcen benötigt, dafür bietet Print mehr funktionale Eigenschafften.
Ich finde grad den Artikel leider nicht, in dem ich das gelesen hatte. War aufjedenfall bei php.net.
Mfg
 
wenn es so fraegt vermutlich nicht -.-
genauen unterschied kenn ich auch nicht, doch ich vermute print kann mehr als echo, z.b. variablentyp ausgeben? (oder war das nochmal eine andere funktion).

print() ist keine wirkliche Funktion (sondern ein Sprachkonstrukt), weshalb Sie beim Aufruf nicht unbedingt Klammern um die Argumentliste setzen müssen.
Lesen Sie den FAQTs Knowledge Base Article » http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40, um sich über die Unterschiede zwischen print() und echo() zu informieren.
quelle PHP: Hypertext Preprocessor
 
Werbung:
Zurück
Oben