ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
562
562
EMPFEHLEN
-
Hallo Leute,
ich hoffe mir kann einer weiterhelfen
Problemstellung:
Habe Mitglieder die mittels php aus einer MySQL-DB gelesen werden. Hier soll jetzt jedes Mitglied bewertet werden. Die Eingabe soll durch ein Tastaturfeld mit Mausklick geschehen.
Ist ein Mitglied bewertet soll das Tastaturfeld automatisch in die nächste Zeile springen und um den nächsten Bewerten zu können. (am besten dasTastenfeld mit dem Mitglied durch einen Strich oder Pfeil verbunden sein um genau zu sehen wenn man bewertet )
Da ich leider keine Ahnung habe wie das gehen soll und schon gegoogelt habe, könnt Ihr mir einen guten Lösungsansatz oder Infos geben wie ich das realisieren kann.
Viel Dank schonmal
-
Wie, was nun? Tastatur oder Maus?
Zitat von boennchen
-
also, es soll so ein Tastenfeld sein wo Noten 1.0, 1.3, usw bis 5.0 stehen diese sollen quasi wie Buttons gedrückt werden und dann soll die Note dem Mitglied zugeordnet werden.
Ich hoffe das war etwas mehr verständlich
-
Ahso.
Als Tastatur kannst du diverse Dinge nehmen...Butoons, Links,...ich würd mir wahrscheinlich ne Imagemap nehmen mit dem Bild einer Tasatatur, und auf die einzelnen Tasten die Funktionsaufrufe legen.
Die Aufrufe wären erstmal recht simpel. Angenommen du hast eine Funktion "bewertung()"...
dann
usw.Code :1 2 3
<area href="javascript:bewertung(1.0)" ....> <area href="javascript:bewertung(1.1)" ....> <area href="javascript:bewertung(1.2)" ....>
Zu den Usern selbst:
Die könntest du bspw. so ausgeben:
Code :1
<?php echo $userName;?><input type="hidden"name="userId[]"value="<?php echo $userId;?>"><input type="text" name="userNote[]" readonly>
So hast du jeweils ein Paar von Feldern userId[]/userNote[], welches du später serverseitig auswerten kannst.
Zur Funktion bewertung():
Da brauchst du erstmal einen Zähler, um zum nächsten User zu springen.... den Bringst du am Besten ausserhalb der Funktion unter und weist ihm als Wert "-1" zu.
Bei jedem Funktionsaufruf erhöhst du den Zähler erstmal um 1.
So kannst du dann bereits auf die Formularelemente zugreifen:
....umd das jeweilige Feld zu markieren, gibts dann viele Varianten, du könntest bspw. das jeweilige Feld userNote[] farblich hervorheben, oder auch eine ganze <tr>, wenn du alles in einer Tabelle hast(der Zugriff wäre ähnlich einfach, da es ja schätzungsweise genausoviel Reihen wie Formularfelder gibt):Code :1
document.formularname.elements['userNote[]'][zaehlervariable].value=bewertung.arguments[0];
Das mit den Verbindungslinien ginge auch, ist aber überaus umständlich, da sie kreuz&quer verlaufen müssten, was nicht gerade problemlos zu bewerkstelligen ist.Code :1
document.getElementById('idDerTabelle').rows[zaehlervariable].style.backgroundColor='red';
Wenn du es trotzdem willst,schau mal beim zornigen Walter rein
Jetzt musst du nur noch prüfen, ob du am Ende angelangt ist
...und kannst bspw. das Formular senden.Code :1 2 3 4
if(zaehlervariable>=document.formularname.elements['userNote[]'].length) { document.formularname.submit() }
-
Hallo,
danke schon mal für die ziemlich ausführlich Antwort.
Ich habe jetzt mal probiert dies mal in mein Script umzusetzten, und wie sollte es anderes sein, man merk das ich kein JavaScript-Profu bin.
Deshlab wäre es nett wenn mir nochmal einer Helfen könnte:
Leider tut sich nichtsHTML-Code:<script language= "JavaScript"> <!-- function bewertung() { for (var i=-1; i<"<?php echo $num; ?>"; i++ ) { document.displayFormSenden1.elements['note[]'][i].value=bewertung.arguments[0]; } } //--> </script> <?php echo "<form name="displayFormSenden1>"; // Tabellenkopf for ($t=0;$t<$num;$t++) { $vorname[$t] = htmlspecialchars(mysql_result($result,$t,"vorname")); ... echo "<tr> <td class='tableData'>$vorname[$t]<input type='hidden' name='name[$t]' value='$vorname[$t]'></td> <td class='tableData'>$m_nr[$t]<input type='hidden' name='m_nr[$t]' value='$m_nr[$t]'></td> echo "<td><input type='text' name='note[$t]' value='' size='3' readonly></td>"; echo "<td>"; $note10 = '1.0'; $note13 = '1.3'; $note17 = '1.7'; $note20 = '2.0'; $note23 = '2.3'; $note27 = '2.7'; $note30 = '3.0'; $note33 = '3.3'; $note37 = '3.7'; $note40 = '4.0'; $note50 = '5.0'; $noteNT = 'NT'; echo "<input class='tableData' type='button' value='$note10' onClick='bewertung(1.0)'>"; echo "<input class='tableData' type='button' value='$note13' onClick='bewertung(1.3)'>"; echo "<input class='tableData' type='button' value='$note17' onClick='bewertung(1.7)'>"; echo "<input class='tableData' type='button' value='$note20' onClick='bewertung(2.0)'>"; echo "<input class='tableData' type='button' value='$note23' onClick='bewertung(2.3)'>"; echo "<input class='tableData' type='button' value='$note27' onClick='bewertung(2.7)'>"; echo "<br>"; echo "<input class='tableData' type='button' value='$note30' onClick='bewertung(3.0)'>"; echo "<input class='tableData' type='button' value='$note33' onClick='bewertung(3.3)'>"; echo "<input class='tableData' type='button' value='$note37' onClick='bewertung(3.7)'>"; echo "<input class='tableData' type='button' value='$note40' onClick='bewertung(4.0)'>"; echo "<input class='tableData' type='button' value='$note50' onClick='bewertung(5.0)'>"; echo "<input class='tableData' type='button' value='$noteNT' onClick='bewertung(NT)'>"; echo "</td>"; echo "</tr>"; } echo "</table>"; ?>
Geändert von boennchen (04.10.05 um 12:30 Uhr)
Ähnliche Themen
-
Komme nicht weiter mit Tabellenabfrage
Von zwiebel im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 14.01.10, 23:14 -
Komme da nicht weiter :-(
Von Yael_17 im Forum PHPAntworten: 22Letzter Beitrag: 05.12.04, 15:24 -
Komme da nicht weiter :-(
Von nizzan im Forum PHPAntworten: 6Letzter Beitrag: 28.11.04, 00:16 -
WurmTutorial - Komme nicht weiter
Von Njul im Forum Cinema 4DAntworten: 2Letzter Beitrag: 27.01.04, 17:40 -
Komme nicht weiter
Von nixwisser im Forum ASPAntworten: 1Letzter Beitrag: 11.10.02, 12:14





Zitieren
Login




