Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Formularfeld mit mssql Feld vergleichen und daten in anderes Feld speichern

Mitglied: helmuthelmut2000

helmuthelmut2000 (Level 2) - Jetzt verbinden

01.12.2012 um 21:44 Uhr, 3070 Aufrufe, 9 Kommentare

Hallo,

Ich habe eine Tabelle mit php und mssql.
Mit einem Formlar werden da Daten in eine mssql DB gespeichert.
Mit einer Seite kann man die Daten verändern.

Jetzt hätte ich gern, das wenn man einen Wert verändert und den zurückspeichert,
sollte der dann Farbig unterlegt sein.

Ich dachte mir da sollte das Eingabe Feld mit dem DB Feld verglichen werden und
wenn was unterschiedlich ist, sollte eine Farbe in ein anders Feld geschrieben werden.

Kann mir da jemand einen Tipp geben wie und mit welchen Befehlen ich das Eingebefeld
mit dem DB-Feld vergleiche?

Gruß
Helmut
Mitglied: nxclass
02.12.2012 um 12:43 Uhr
... ich verstehe das nicht so ganz wie du das willst.
Aber ich würde sagen, du musst vor dem UPDATE einfach nochmal ein SELECT über alle Felder machen und den Vergleich in PHP durchführen und zwischen speichern bis dein Formular wieder aufgebaut wird.

also für den Speichervorgang:
  • Form Daten empfangen
  • SELECT ausführen
  • Daten vergleichen und Ergebniss speichern
  • UPDATE ausführen
  • Formular mit Daten und Ergebniss anzeigen
Bitte warten ..
Mitglied: Guenni
02.12.2012 um 16:18 Uhr
Hi,

leider verrätst du die Strategie nicht, die du mit dem Vorhaben verfolgst, eine Änderung farblich zu hinterlegen.

Ergebnis wäre ja z.B., ich würde deine Seite aufrufen, da erscheint ein Wert in rot. Was sagt mir das?

Und selbst wenn ich weiß, dass die Farbe rot eine Änderung kennzeichnet, was hab' ich davon?

Der alte Wert ist futsch, weil er überschrieben wurde.


Dann hast du eine Tabelle, die ja sicherlich mehr als eine Spalte enthält. Somit stellt sich noch die Frage,

willst du den Datensatz kennzeichnen und eine Farbe hinterlegen oder willst du tatsächlich für jedes Feld ein Farbfeld hinterlegen.

Beispiel 1:

id Vorname Nachname Telefon Satz_geändert
1 Wilhelm Busch 0123/4567 Farbangabe

oder Beispiel 2:

id Vorname Nachname Telefon id_geändert Vorname_geändert Nachname_geändert Telefon_geändert
1 Wilhelm Busch 0123/4567 Farbangabe Farbangabe Farbangabe Farbangabe


Ich würde im Änderungsformular die Daten ausgeben, die Daten zum Ändern nochmals in Textfelder ausgeben, damit die Felder schon mal

mit Werten vorbelegt sind und man nicht jedes Feld neu eingeben muß, und zusätzlich die Daten noch in Hiddenfelder speichern.

Dann kannst du mit dem Trinitäts-Operator die Textfelder mit den Hiddenfeldern vergleichen, und den Variablen für dein Update den Wert zuweisen.

Beispiel:

$var_vorname = $_Post['text_feld_vorname_neu'] == $_Post['hidden_feld_vorname_alt'] ? $_Post['hidden_feld_vorname_alt'] : $_Post['text_feld_vorname_neu'];


Um Änderungen zu verfolgen, würde ich das jedoch anders machen. Eine Tabelle, in der gespeichert wird . . .

- welche Tabelle wurde geändert
- welches Feld wurde geändert
- den alten Wert
- den neuen Wert
- wann fand die Änderung statt
- wer hat die Änderung vorgenommen

id_tabellen_datensatz tabellenname Feld Alter_Wert Neuer_Wert Änderungsdatum von_wem_geändert
1 Dichter Vorname Wilhelm Willimaus 01.04.1910 Max und Moritz
2 Dichter Vorname Willimaus Wilhelm 02.04.1910 Wilhelm Busch


Gruß
Günni
Bitte warten ..
Mitglied: helmuthelmut2000
03.12.2012 um 19:44 Uhr
Hallo Günni,

Das ist eine Tabelle wo die Aufträge von Kunden verwaltet werden. Und sollte sich da eine Stückzahl
ändern, sollte das Farblich hervorgehoben sein. Jetzt hab ich da eine Spalte in meiner DB hinzugefügt
mit dem Namen Markierung.
Wenn ich das Änderungsformular aufrufe, dann sind die Textfelder schon vorbelegt.

Jetzt möchte ich das mit dem Trinitäts-Operator hinbekommen, das der Farbwert nur bei einer Änderung
im Stückzahl Feld in die DB geschrieben wird.

Gruß
Helmut
Bitte warten ..
Mitglied: helmuthelmut2000
05.12.2012 um 13:23 Uhr
Hallo Günni,

Ich bin da jetzt ein Stück weitergekommen, komme aber nicht ans Ziel.
Kannst Du mir da noch ein Weiterhelfen?

Ich hab das jetzt so, das wenn ich 2 Unterschiedliche Zahlen habe, werden mir 2
Unterschiedliche Texte in en DB Feld geschrieben.

$a = 3;
$b = 4;
if ($a == $b) echo "<input type='hidden' value='1000' name='markieren_stueck' id='markieren_stueck' />";
if ($a != $b) echo "<input type='hidden' value='2000' name='markieren_stueck' id='markieren_stueck' />";

Wenn ich $a = $b gleich mach dann wird die Zahl 1000 geschrieben und bei Unterschiedlichen Zahlen die Zahl 2000.

Jetzt hab ich das Problem mit dem Textfeld $a = 3 und das was in der DB steht $b = 4.

Wie bringt man das noch hin?

mfG
Helmut
Bitte warten ..
Mitglied: Guenni
10.12.2012 um 11:26 Uhr
Hi Helmut,

also irgendwie versteh' ich nicht, worauf du hinaus willst.

Gehen wir mal nur von deiner Stückzahl aus.

Also du fragst eine Tabelle nach Feld Stückzahl ab.

Dann zeigst du ein Formular mit . . .

- Textfeld, Inhalt (value) = Stückzahl, User gibt neuen Wert ein

- Hiddenfeld, Inhalt (value) = Stückzahl aus einer Tabelle

Nach Absenden prüfst du einfach, ob der Wert des Textfeldes mit dem Wert des Hiddenfeldes übereinstimmt.

01.
<?php 
02.
if(isset($_POST['cmd'])){ 
03.
	$stueck = $_POST['txt_stueck'] == $_POST['hidden_txt_stueck'] ? $_POST['hidden_txt_stueck'] : $_POST['txt_stueck']; 
04.
	$query='update tabelle set stueck = '.$stueck.' where id = 1'
05.
06.
echo $query
07.
?> 
08.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
09.
<html> 
10.
<head> 
11.
<title>Untitled</title> 
12.
</head> 
13.
<body> 
14.
<?php 
15.
/* 
16.
* Stückzahl aus einer Tabelle 
17.
*/ 
18.
$stueck=98; 
19.
?> 
20.
<form action="" method="post"
21.
<p>Stückzahl <input type="text" name="txt_stueck" value="<?php echo $stueck  ?>" /></p> 
22.
<p><input type="hidden" name="hidden_txt_stueck"  value="<?php echo $stueck; ?>" /></p> 
23.
<p><input type="submit" name="cmd" value="Edit" /></p> 
24.
</form> 
25.
</body> 
26.
</html>
Genauso setzt du dann den Farbwert, wenn etwas geändert wurde.

Gruß
Günni
Bitte warten ..
Mitglied: helmuthelmut2000
12.12.2012 um 22:57 Uhr
Hallo Günni,

Wo setzt ich da den Farbwert?

Gruß
Helmut
Bitte warten ..
Mitglied: Guenni
14.12.2012, aktualisiert 08.03.2013
Zitat von helmuthelmut2000:
Hallo Günni,

Wo setzt ich da den Farbwert?

Gruß
Helmut


Hi Helmut,

"da" nicht.

Ich hatte geschrieben Genauso setzt du dann den Farbwert, wenn etwas geändert wurde.,

und gedacht, das würde dich inspirieren, mal etwas auszuprobieren.


Da du den Farbwert ja in der Tabelle speichern willst, würde ich diesen auch auslesen und . . .

- als "Style" im Textfeld verwenden
- in einem Hiddenfeld speichern

Um einen neuen Farbwert zu setzen, könnte man diesen z.B. in einem select-Feld auswählen.

01.
<?php 
02.
if(isset($_POST['cmd'])){ 
03.
	$stueck = $_POST['txt_stueck'] == $_POST['hidden_txt_stueck'] ? $_POST['hidden_txt_stueck'] : $_POST['txt_stueck']; 
04.
	$farbwert = $_POST['txt_stueck'] == $_POST['hidden_txt_stueck'] ? $_POST['hidden_txt_farbwert'] : $_POST['sel_farbwert']; 
05.
	$query='update tabelle set stueck = '.$stueck.', farbwert = '.$farbwert.' where id = 1'
06.
07.
echo $query
08.
?> 
09.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
10.
<html> 
11.
<head> 
12.
<title>Untitled</title> 
13.
</head> 
14.
<body> 
15.
<?php 
16.
/* 
17.
* Stückzahl aus einer Tabelle 
18.
*/ 
19.
$stueck=98; 
20.
/* 
21.
* Farbwert aus einer Tabelle 
22.
*/ 
23.
//$farbwert='white'
24.
?> 
25.
<form action="" method="post"
26.
<p>Stückzahl <input type="text" style="background-color: <?php echo $farbwert; ?>;"  name="txt_stueck" value="<?php echo $stueck  ?>" /></p> 
27.
<p><input type="hidden" name="hidden_txt_stueck"  value="<?php echo $stueck; ?>" /></p> 
28.
<p>Farbwert <select name="sel_farbwert"
29.
<option value="<?php echo $farbwert; ?>"> -- Farbwert wählen -- </option> 
30.
<option value="red">Rot</option> 
31.
<option value="lightgreen">Grün</option> 
32.
</select></p> 
33.
<p><input type="hidden" name="hidden_txt_farbwert"  value="<?php echo $farbwert; ?>" /></p> 
34.
<p><input type="submit" name="cmd" value="Edit" /></p> 
35.
</form> 
36.
</body> 
37.
</html>
Gruß
Günni
Bitte warten ..
Mitglied: helmuthelmut2000
03.03.2013 um 13:54 Uhr
Hallo Günni,

Ich hatte leider einige Zeit etwas anderes zu tun und konnte an dem Thema nicht
weiter Arbeiten.

Ich muß ich die Sache erneut angehen und mal zu Ende bringen.

Kannst Du mir bitte das obige script etwas näher Erklären?
Ich komm da nicht so ganz klar.
Wo schreib ich denn da den DB Wert rein?

Danke.
Bitte warten ..
Mitglied: Guenni
08.03.2013 um 23:39 Uhr
Zitat von helmuthelmut2000:
Hallo Günni,

Ich hatte leider einige Zeit etwas anderes zu tun und konnte an dem Thema nicht
weiter Arbeiten.

Ich muß ich die Sache erneut angehen und mal zu Ende bringen.

Kannst Du mir bitte das obige script etwas näher Erklären?
Ich komm da nicht so ganz klar.
Wo schreib ich denn da den DB Wert rein?

Danke.

Hi Helmut,

das ist ja nur ein kleines Beispiel.

In Stückzahl würdest du den neuen Wert eintragen, mit Farbwert wählst du eine

neue Farbe für den Hintergrund des Stückzahl-Felds.

Der alte Stückzahlwert steht außerdem in einem Hiddenfeld.

Das Script vergleicht nun den neuen mit dem alten Wert. Bei Ungleichheit(Änderung) wird der

neu gewählte Farbwert für den Hintergrund gesetzt.


Gruß
Günni
Bitte warten ..
Ähnliche Inhalte
JavaScript

PDF Formularfelder schützen nach Eingabe und Speichern

Frage von Ohh33sJavaScript1 Kommentar

Hallo, Ich habe mir ein PDF Formular gebaut (Acrobat DC) und dieses Formular soll nun zu einem Kollegen, der ...

Microsoft Office

Word Formularfelder füllen mit Daten aus Excel

gelöst Frage von bluepythonMicrosoft Office15 Kommentare

Hallo, in einer Wordvorlage sollen bestimmte Felder wie Name, Vorname, Durchwahl, etc. automatisch gefüllt werden. Die benötigten Daten stehen ...

Batch & Shell

Daten aus dem Feld "date sent" in den Titel schreiben

Frage von ellocko94Batch & Shell2 Kommentare

Hallo zusammen, ich habe folgendes Problem: Ich habe eine große Sammlung von .EML Dateien, die nicht aussagekräftig benannt sind. ...

Datenbanken

MSSQL Daten in Zeitraum eingrenzen und addieren

gelöst Frage von nutzloser-userDatenbanken3 Kommentare

Hallo Community, ich habe ein kleines Projekt angenommen und versuche mich derzeit ein bisschen damit zurecht zu finden. Leider ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 1 TagHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 2 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Router & Routing
Mikrotik: Routing zwischen Interfaces mit Geräten ohne Gateway
Frage von TonLichtVideoRouter & Routing20 Kommentare

Hallo zusammen, ich komme aus dem Veranstaltungstechnik Bereich und habe zwei Netze um verschiedene Hardware zu Remoten. CONTROL1 192.168.1.0/24 ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk14 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

Vmware
Server 2008 r2 vmware terminalserver
Frage von MasterCVmware11 Kommentare

Guten Abend zusammen, ich hoffe , dass einer von euch mir weiterhelfen kann ,bei meinem kack Problem ! Ist ...

VB for Applications
VBScript mit WINscp für einfachen FTP Transfer und nachträglichem verschieben der Datei in ein erledigt Verzeichnis
Frage von KeiosIDVB for Applications9 Kommentare

Hallo, leider soll ich auf den neueren Servern(Win2016R2) keine *.Bat Dateien mehr laufen lassen. Hier soll nun alles über ...