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

Frage Entwicklung PHP

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, 3060 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
Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 12 StundenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 13 StundenSicherheit7 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 14 StundenSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Sicherheit

Meltdown und Spectre: Die machen uns alle was vor

Information von Frank vor 14 StundenSicherheit12 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Heiß diskutierte Inhalte
Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von 92943Windows 1031 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
gelöst Frage von IngenieursBatch & Shell29 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
Frage von Windows10GegnerNetzwerkgrundlagen20 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...