mal wieder drop-downs verknüpfen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mal wieder drop-downs verknüpfen

    Hallo,

    ich hoffe, hier kann mir geholfen werden... Ich bin kein php-ler und versuch mein Glück einfach mal.... daher bitte möglichst einfach schreiben, was ich machen muß....

    Mein Problem:

    Auf einer php-erzeugten Seite sind unter anderem 2 Dropdown-Menüs vertreten...
    1. hat festgelegte Variablen:
    Code:
    <font size='1'>Bestätigungsfrist:</font></td><td><select name='btime' size='1'>
    
    <option value='3600'>1 Stunde</option>
    <option value='7200'>2 Stunden</option>
    <option value='14400'>4 Stunden</option>
    <option value='28800'>8 Stunden</option>
    <option value='43200'>12 Stunden</option>
    <option value='86400'>1 Tag</option>
    <option value='172800'>2 Tage</option>
    <option value='259200'>3 Tage</option>
    <option value='345600'>4 Tage</option>
    <option value='432000'>5 Tage</option>
    <option value='518400'>6 Tage</option>
    <option value='604800'>7 Tage</option>
    </select>
    Das 2. holt sich die Namen der Auswahl aus einer config-Datei (php) und Werte aus der Datenbank (Anzahl Mitglieder, die diese Interessengruppe gewählt haben):

    Dropdown:

    Code:
    <select name='zielkategorie' size='1'>
    
    <option value='k0'>Alle $dienstname Mitglieder($k0)</option>
    <option value='k1'>$interessengebiet1($k1)</option>
    <option value='k2'>$interessengebiet2($k2)</option>
    <option value='k3'>$interessengebiet3($k3)</option>
    <option value='k4'>$interessengebiet4($k4)</option>
    <option value='k5'>$interessengebiet5($k5)</option>
    <option value='k6'>$interessengebiet6($k6)</option>
    <option value='k7'>$interessengebiet7($k7)</option>
    <option value='k8'>$interessengebiet8($k8)</option>
    <option value='k9'>$interessengebiet9($k9)</option>
    <option value='k10'>$interessengebiet10($k10)</option>
    <option value='k11'>$interessengebiet11($k11)</option>
    <option value='k12'>$interessengebiet12($k12)</option>
    <option value='k13'>$interessengebiet13($k13)</option>
    <option value='k14'>$interessengebiet14($k14)</option>
    <option value='k15'>$interessengebiet15($k15)</option>
    <option value='k16'>$interessengebiet16($k16)</option>
    <option value='k17'>$interessengebiet17($k17)</option>
    <option value='k18'>$interessengebiet18($k18)</option>
    <option value='k19'>$interessengebiet19($k19)</option>
    <option value='k20'>$interessengebiet20($k20)</option>
    <option value='k21'>$interessengebiet21($k21)</option>
    <option value='k22'>$interessengebiet22($k22)</option>
    <option value='k23'>$interessengebiet23($k23)</option>
    </select>
    SQL-Anweisung:

    PHP-Code:
    $res mysql_query("select * from interessen WHERE $time> letztemail order by letztemail asc");
    $k0 mysql_affected_rows();
    $res mysql_query("select * from interessen where k1 = 1 AND $time> letztemail AND accountsperren='aktiv' order by letztemail asc");
    $k1 mysql_affected_rows(); 
    usw. bis $k23
    Die Anzahl der Mitglieder ist hierbei $k0 bis $k23.
    Wenn k1 (nicht zu verwechseln mit $k1 ) =1 ist, bedeutet es, daß das Mitglied diese Zielkategorie ausgewählt hat.
    Die Bestätigungszeit, die jedes einzelne Mitglied wählen kann, ist in der interessen-Tabelle mit der Variablen besttime festgelegt.

    Ich möchte nun gerne, daß mit onchange die 2. Dropdown-Liste mit der aktuellen Anzahl der Mitglieder angezeigt wird, die diese Zielkategorie mit der entsprechenden Zeit ausgewählt haben.

    Wie kann ich das realisieren?

    Ich hoffe, der Code ist genug und meine Frage verständlich genug!

    Für Hilfe wäre ich dankbar, denn andere Ansätze, die ich gegoogelt habe, haben irgendwie nicht so ganz gepaßt....

  • #2
    Also wenn ich dich richtig verstehe, dann willst du dass je nach Auswahl
    aus Liste 1 und Liste 2 eine weitere Liste erstellt wird, die alle Mitglieder anzeigt, die dieselbe Auswahl getroffen haben ?
    Wenn du nicht willst, dass das ganze Formular verschickt werden soll, dann solltest du mal nach AJAX googeln.
    Hier eine sehr informative Einführung http://ajaxpatterns.org/XMLHttpRequest_Call oder http://jibbering.com/2002/4/httprequest.html
    Grundsätzlich musst du mittels AJAX die Infos an der Server übertragen,
    welcher die DB Abfrage nach Usern mit gleicher Auswahl tätigt und dem JS die Usernamen zurückliefert. Diese baust du dann mittels js
    (z.B. innerHTML) in deinen Code ein.

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      nicht ganz....

      Hallo,

      erstmal lieben Dank für die schnelle Antwort....

      Also eine weitere Liste brauch ich eigentlich nicht.... es reicht, wenn in der 2. Dropdown-Liste in den Klammern die Anzahl der Mitglieder steht, die diese Zielkategorie ausgewählt haben.... hm... oder zählt das jetzt schon als Liste? Eigentlich ja nicht, oder hab ich einen Denkfehler?

      Mit Ajax kenn ich mich überhaupt nicht aus, wußte bis heut nacht, wo ich gegoogelt habe, nicht mal, daß es das gibt.
      Wie gesagt, auch php kann ich nicht wirklich, schiebe eher Code hin- und her.. google wenns net funzt und mach und tu, bis es funzt... nur hier stoß ich leider an meine Grenzen....

      Also:
      Aus der 1. Dropdown-Liste (Bestätigungszeit) soll die Zeit ausgewäht werden und dann in der 2. Dropdown (wo Zielkategorie steht und in Klammern die Anzahl Mitglieder, die diese empfangen wollen) soll die Anzahl der Mitglieder aktualisiert werden, die diese Zielkategorie mit der entsprechenden Bestätigungszeit ausgewählt haben.

      Den Wert (Anzahl der Mitglieder) trägt man manuell unterhalb der Dropdown-Listen ein, da man evtl. nicht an alle etwas verschicken will (z.B. 200 Mitglieder, wo alles paßt, aber nur 100 verschicken will).

      Hoffe, es ist deutlicher geworden, was geleistet werden soll per onchange....

      Liebe Grüße,

      Gerda

      Kommentar


      • #4
        Wenn du in der zweiten Liste etwas von der DB aktualisieren willst, dann hast du nur zwei Möglichkeiten. JS oder nicht...
        1. du sendest das Form an den Server und dieser baut das Menu entsprechend deiner Vorstellung auf --> Vorteil reines HTML und php also nix JS
        2. du sendest nur eine Info an den Server nach was er in der DB suchen soll. Dies gibt er an den Browser zurück und dieser baut es in den Quellcode ein.
        Das geht dann aber nur mit AJAX & Co. Normales JS kann keinen Request an den Server absetzen, sondern würde das Form auch
        nur an den Server senden. --> dann brauchst du aber AJAX
        3. du schreibst serverseitig alle User und die entsprechenden Zeiten in den Quellcode (in eine JS Variable/Array).
        Dann kann JS je nach Auswahl des Users die entsprechenden Werte aus dem Array lesen und Liste 2 aktualisieren
        --> Reines JS ohne AJAX Nachteil --> du musst alle Daten in den Quelltext schreiben, was diese aufbläht und ggf auch vom sicherheitstechnischen
        Aspekt her nicht unbedingt passt

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Wie gesagt, auch php kann ich nicht wirklich, schiebe eher Code hin- und her..
          google wenns net funzt und mach und tu, bis es funzt... nur hier stoß ich leider an meine Grenzen....
          so ist es, an diesem Punkt ist Schluß mit rumpfuschen bis es "funzt",

          google mal nach chained select - es gibt javascripts die die Felder
          dynamisch in Abhängigkeit voneinander erstellen.

          Da Du aber ein php-Script hast und nicht wirklich ne Ahnung hast von dem was Du tust,
          würd ich mir das Programmieren lassen.

          Kommentar


          • #6
            Original geschrieben von Koala
            Da Du aber ein php-Script hast und nicht wirklich ne Ahnung hast von dem was Du tust,
            würd ich mir das Programmieren lassen.
            Hat dich ja nicht wirklich zu Interessieren, oder?!
            Leute deines Kalibers sind der Grund, wieso andere Foren bevorzugt werden.
            Die Mods sollten mal gegen Leute wie dich was tun!

            Kommentar


            • #7
              ok.

              Zuerst zum Problem....

              - Das mit Ajax... sorry, da kapituliere ich im Moment, ist mir zu kompliziert.

              Kann man das evtl. damit lösen, daß man in die Dropdown-Liste für die Bestätigungszeit ein refresh einbaut (die Seite ist ein frame!)? Wie wird das dann realisiert? Kann man mit einem refresh trotzdem bisher eingegebene Daten übernehmen oder muß man das dann alles in hidden-Felder packen?

              Zu Koala:

              1. Du hast keine Ahnung, was es für ein Script ist
              2. Du hast keine Ahnung, WAS ich schon alles verändert habe
              3. Habe ich selbst von Leuten, die php beherrschen ein großes Lob für meine Arbeit gekriegt, als ich erzählte, WIE ich "programmiere"....

              Ich kann meiner/meinem Vorgänger/in nur Recht geben.... nur gut, daß ich nicht zu den Leuten gehöre, die sich von solchen Leuten wie Dir entmutigen lasse!

              PS: Immerhin bin ich schlau genug zu googlen und Ergebnisse, wenn sie auch nicht voll dem entsprechen, was ich brauche, einzufügen.... bisher hat IMMER alles geklappt, was ich wollte!

              Gerda

              Für Hilfen bin ich weiterhin sehr dankbar!

              Kommentar


              • #8
                Das ist doch Quark -

                ich habs nur gut gemeint.

                Du erwartest doch nicht wirklich, daß jemand hier
                umsonst Dein Script schreibt.

                Und bei dem von Dir gewünschten Code ist es
                eben nicht ein Schnippsel den man irgendwo einbaut
                und hin- und herschiebt bis es "funzt".

                Dieses Forum (und auch andere php-Foren) sind dazu
                da Hilfestellung beim Programmieren zu geben
                und nicht dazu da anderen Leuten die zu faul zum Lernen
                sind fertige Scripte zu liefern.

                Kannst Dich aber gerne beschweren ...

                Irgendwo wird ja ein Link zum Admin/Mod sein.

                ---------

                als Antwort zu Deinem Problem hast Du von jahlives schon eine
                ausführliche kompetente Antwort bekommen.

                Was für Antworten willst Du denn noch?

                Da steht doch alles!
                Zuletzt geändert von Koala; 06.07.2006, 09:50.

                Kommentar

                Lädt...
                X