PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

01-12-2006, 14:14
|
jongjo
Newbie
|
|
Registriert seit: Dec 2006
Beiträge: 2
|
|
Werte zwischen Formularfeldern transferieren
Hallo von einem Forenneuling,
die Mitarbeiterverwaltung unserer Kirchengemeinde wird mit Hilfe eines von mir entwickelten PHP/MySQL-Systems realisiert. Es läuft in einigen Bereichen schon ganz gut, aber mit den realisierten Möglichkeiten wachsen auch die Begehrlichkeiten.
Nun zum Anliegen: Ich kann in einem Formular aus der Liste aller Mitarbeiter mehrere Mitarbeiter auswählen, die einem bestimmten Dienst zugeordnet werden (der Dienst wird eine Seite vorher ausgewählt). Diese Liste ist natürlich ziemlich lang, und die Auswahl geht mit gedrückter STRG-Taste.
Mein Hauptanwender findet das unpraktisch und wünscht folgende Lösung: zwei Listen, eine mit den Mitarbeitern, die dem Dienst nicht zugeordnet sind, und eine mit den anderen. Nun möchte er Mitarbeiter per Mausklick von der jeweils einen zu der anderen Liste verschieben (also Mitarbeiter neu zuordnen oder aus einer Zuordnung entfernen).
Von PHP hab ich ja schon ein wenig Ahnung, aber um so etwas zu realisieren, weiß ich noch nicht einmal, wonach ich genau suchen muss.
Wer hilft mir?
Vielen Dank und Grüße
Jochen
|

01-12-2006, 14:23
|
Mathis
Registrierter Benutzer
|
|
Registriert seit: Nov 2006
Beiträge: 119
|
|
Das dürfte sich mit php wohl kaum realisieren lassen, da php ein serverbasierte Sprache ist. Das bedeutet, dass Daten die einmal an den Clienten übermittelt wurden, nicht mehr von dem php-Script beeinflussbar sind. Du kannst mal recherchieren, ob sich sowas mit Javascript realisieren kann.
Die einzige Möglichkeit das mit php zu machen wäre wohl, dass die Seite bei jeder Transferaktion neu geladen wird (weil dann ja wieder das php-Script ins Spiel kommt). Das ist vielleicht nicht unbedingt so wünschenswert, oder??
|

01-12-2006, 14:35
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.800
|
|
eine weitere möglichkeit wäre, das mit ajax zu lösen. habe mal ein kleines tutorial zum thema ajax verfaßt. vielleicht hilft das weiter.
gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

01-12-2006, 14:54
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
OffTopic: @peter: wann gibts deine seite eigentlich mal in hell?
|

01-12-2006, 14:58
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.800
|
|
Zitat:
Original geschrieben von TobiaZ
OffTopic: @peter: wann gibts deine seite eigentlich mal in hell?
|
OffTopic: naja, das grunddesign habe ich letzten winter abends zu hause gemacht. wenn es draussen schön dunkel ist und hast deine zimmerbeleuchtung heruntergedimmt, dann kann man das wunderbar lesen. vielleicht dergel ich das irgendwann mal um
gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

01-12-2006, 15:00
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
OffTopic: vielleicht schneit es diesen winter. 
|

01-12-2006, 15:06
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.800
|
|
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

01-12-2006, 16:01
|
Mathis
Registrierter Benutzer
|
|
Registriert seit: Nov 2006
Beiträge: 119
|
|
Noch mal zu meine Beitrag vorhin:
Wenn du es mit php lösen möchtest, würde ich es folgendermaßen machen:
PHP-Code:
//starte Session, in die nachher die temporären Daten geschieben werden
session_start();
function init () {
//Initialisiert die Ausgangskonfiguration der Mitarbeiter und schreibt sie in die Session
$_SESSION['ma1'] = "l"; //ma1 steht für Mitarbeiter 1 und l für links (linke Liste)
$_SESSION['ma2'] = "r";
$_SESSION['ma3'] = "r";
//und so weiter
}
function namen ($nr) {
//Ordnet jeder Mitarbeiternr einen Mitarbeiternamen zu
$namen = array('Name des 1. MAs','Name des 2. MAs', '...');
return $namen[$nr];
}
function lese_session () {
$ma = array();
$i = 0;
//liest die aktuelle Mitarbeiterkonf aus der Session und gibt sie in einem Array zurück
while (isset($_SESSION['ma'.$i])) {
$ma[$i] = $_SESSION['ma'.$i];
++$i;
}
return $ma;
}
function verschiebe_ma ($mitarbeiter, $ziel) {
//Verschiebt einen Mitarbeiter ($mitarbeiter als Nummer) zum $ziel (l oder r)
$_SESSION['ma'.$mitarbeiter] = $ziel;
}
function gen_linke_liste () {
//Generiert den HTML-Code der linken Liste und gibt ihn zurück
$ma = lese_session ();
$liste = '<select name="linke_liste">\r\n';
while (isset($liste[$i])) {
if ($liste[$i]=="l") {
$name = namen ($i);
$liste .= '<option value="'.$i.'">'.$name.'</option>\r\n';
}
}
$liste .= '</select>\r\n';
return $liste;
}
function gen_rechte_liste () {
//Generiert den HTML-Code der linken Liste und gibt ihn zurück
$ma = lese_session ();
$i = 0;
$liste = '<select name="rechte_liste">\r\n';
while (isset($liste[$i])) {
if ($liste[$i]=="r") {
$name = namen ($i);
$liste .= '<option value="'.$i.'">'.$name.'</option>\r\n';
++$i;
}
}
$liste .= '</select>\r\n';
return $liste;
}
//Dann holst du dir einfach über $_POST['linke_liste'] bzw. $_POST['rechte_liste']
//den vom Benutzer ausgewählten Namen und führst die entprechenden Funktionen aus
Hab das gerade einfach mal so runtergetippt. Weiß daher nicht, ob da noch irgendwelche Fehler drin sind. Das ist auch nur nen Ansatz, keine fertige Lösung. Ich hoffe, dass meine Kommentare ausreichen... Wenn du Fragen hast, dann einfach stellen!
|

01-12-2006, 16:59
|
jongjo
Newbie
|
|
Registriert seit: Dec 2006
Beiträge: 2
|
|
Hi Mathis,
die Funktionen würden aber auch nur nach einem Reload der Seiten funktionieren, oder? Wahrscheinlich müsste man wirklich Javascript und Konsorten bemühen :-(.
Danke aber für das Skript, das sieht allgemein sehr interessant aus. :-).
Beste Grüße
Jochen
|

01-12-2006, 22:58
|
Mathis
Registrierter Benutzer
|
|
Registriert seit: Nov 2006
Beiträge: 119
|
|
Du könntest ja die beiden Listen in einen extra-Frame machen, der kein Bilder etc. enthält. Dann ginge ein Neuladen sehr schnell, aber wenn das mit Javascript geht, dann ist das natürlich einfacher!
Wobei du bei einer solchen php-Lösung den Vorteil hättest, das der Server jede Änderung mitbekommt (und bei Bedarf gleich an die Datenbank schicken kann). Wenn du das mit Javascript machst, müsstest du erstmal noch rausfinden, wie du die gesamten Listen an php übergeben kannst. Denn normalerweise übergibt der ja nur die jeweils ausgewählte Spalte...
Geändert von Mathis (01-12-2006 um 23:01 Uhr)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
Aktuelle PHP Scripte
Homepagetools 2022
Kostenloses Gästebuch und Homepagetools für die eigene Homepage.
Bei GuxDu kann man sich kostenlos die Websitetools auf die vorhandene Website einbauen. Zudem kann man bei GuxDU auch eine eigene Homepage mit 3D Effekten erstellen. GuxDu ist kostenlos.
29.04.2022
freepler | Kategorie: PHP/ Gaestebuch
|
SF-Shopsystem V1.0
Hier haben wir ein einzigartiges Shopsystem in PHP.
Die Anzahl der Artikel ist unbegrenzt, einfach zu bedienen und erklärt sich.
Ausführliche Beschreibung weiter unten.
28.04.2022
Speedcrawler | Kategorie: PHP/ Shops
|
Anzeigen Markt mit PayPal Bezahl System
Anzeigen Markt Script
mit PayPal Bezahl System
Der Benutzer hat die Möglichkeit sofort nach Bezahlung mit PayPal
seine Anzeigen zu schalten, je nach seinem Guthaben.
27.04.2022
Webace_de | Kategorie: PHP/ Anzeigenmarkt
|
Alle PHP Scripte anzeigen
|