tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
562
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    boennchen boennchen ist offline Mitglied Bronze
    Registriert seit
    Oct 2004
    Beiträge
    47
    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
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Zitat Zitat von boennchen
    Die Eingabe soll durch ein Tastaturfeld mit Mausklick geschehen.
    Wie, was nun? Tastatur oder Maus?
     

  3. #3
    boennchen boennchen ist offline Mitglied Bronze
    Registriert seit
    Oct 2004
    Beiträge
    47
    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
     

  4. #4
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    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
    Code :
    1
    2
    3
    
    <area href="javascript:bewertung(1.0)" ....>
    <area href="javascript:bewertung(1.1)" ....>
    <area href="javascript:bewertung(1.2)" ....>
    usw.

    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:
    Code :
    1
    
    document.formularname.elements['userNote[]'][zaehlervariable].value=bewertung.arguments[0];
    ....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.getElementById('idDerTabelle').rows[zaehlervariable].style.backgroundColor='red';
    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.
    Wenn du es trotzdem willst,schau mal beim zornigen Walter rein


    Jetzt musst du nur noch prüfen, ob du am Ende angelangt ist
    Code :
    1
    2
    3
    4
    
    if(zaehlervariable>=document.formularname.elements['userNote[]'].length)
    {
    document.formularname.submit()
    }
    ...und kannst bspw. das Formular senden.
     

  5. #5
    boennchen boennchen ist offline Mitglied Bronze
    Registriert seit
    Oct 2004
    Beiträge
    47
    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:
    HTML-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>";
           ?>
    Leider tut sich nichts
    Geändert von boennchen (04.10.05 um 12:30 Uhr)
     

Ähnliche Themen

  1. Komme nicht weiter mit Tabellenabfrage
    Von zwiebel im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 14.01.10, 23:14
  2. Komme da nicht weiter :-(
    Von Yael_17 im Forum PHP
    Antworten: 22
    Letzter Beitrag: 05.12.04, 15:24
  3. Komme da nicht weiter :-(
    Von nizzan im Forum PHP
    Antworten: 6
    Letzter Beitrag: 28.11.04, 00:16
  4. WurmTutorial - Komme nicht weiter
    Von Njul im Forum Cinema 4D
    Antworten: 2
    Letzter Beitrag: 27.01.04, 17:40
  5. Komme nicht weiter
    Von nixwisser im Forum ASP
    Antworten: 1
    Letzter Beitrag: 11.10.02, 12:14