Ankündigung

Einklappen
Keine Ankündigung bisher.

Von Javascript nach PHP

Einklappen

Neue Werbung 2019

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

  • Von Javascript nach PHP

    Habe Zwei Tabellen
    Namens Gruppe und Untergruppe
    Die Tabelle Gruppe ist, mittels Gruppe_ID, mit der Tabelle Untergruppe Verknüpft

    Siehe Tabellen Struktur
    Code:
    --
    -- Tabellenstruktur für Tabelle `gruppe`
    --
    
    CREATE TABLE IF NOT EXISTS `gruppe` (
      `Gruppe_ID` int(20) NOT NULL AUTO_INCREMENT,
      `Gruppe` varchar(35) NOT NULL,
      PRIMARY KEY (`Gruppe_ID`),
      UNIQUE KEY `Gruppe` (`Gruppe`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
    
    -- --------------------------------------------------------
    
    --
    -- Tabellenstruktur für Tabelle `untergruppe`
    --
    
    CREATE TABLE IF NOT EXISTS `untergruppe` (
      `Untergruppe_ID` int(20) NOT NULL AUTO_INCREMENT,
      `Gruppe_ID` int(20) NOT NULL,
      `Untergruppe` varchar(45) NOT NULL,
      `Lager` enum('N','J') NOT NULL,
      PRIMARY KEY (`Untergruppe_ID`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=29 ;
    Jetzt sollen in einem Auswahl Formular wenn ein Wert in der Dropdown Liste
    Gewählt wurde die Dazupassenden Werte in der Dropdownliste Untergruppe
    und nur die Dazupassenden Werte aufgelistet werden

    Bis jetzt verwende ich dazu JAVASCRIPT

    PHP-Code:
    <SCRIPT LANGUAGE=Javascript>
        var texte = new Array(
        new Array("Bitte Waehlen")
               
        <?PHP
            $SQL
    ="SELECT * FROM gruppe ORDER BY Gruppe_ID";
            
    $Result=SQL_QUERY($SQL);
            WHILE (
    $ROW=SQL_ARRAY($Result))
            {
                
    $Gruppe_ID    =$ROW['Gruppe_ID'];
                
    $Gruppe        =$ROW['Gruppe'];
                
    $SQL="SELECT * FROM untergruppe WHERE Gruppe_ID=$Gruppe_ID";
                
    $Result_UG=SQL_QUERY($SQL);
                
    ?>
                , new Array("Bitte Waehlen"<?PHP while ($ROW_UG=SQL_ARRAY($Result_UG)){ echo ', "'.$ROW_UG['Untergruppe'].'"'; } ?>)
                <?PHP
            

        
    ?> 
        );
        function zeige(auswahl)
        {
               var kategorienr = auswahl.selectedIndex;
               auswahl.form.elements["Untergruppe"].length = 0;
               for (var i=0; i<texte[kategorienr].length; i++)         
            {
                  auswahl.form.elements["Untergruppe"].options[i] = new Option(texte[kategorienr][i]);
               }
               auswahl.form.elements["Untergruppe"].selectedIndex = 0;
        }
    </SCRIPT>

    Gruppe:<SELECT NAME=Gruppe_ID onchange="zeige(this)" ID=Form_Text>
    <OPTION VALUE=0>Bitte Waehlen</OPTION>
    <?PHP
    $SQL
    ="SELECT * FROM gruppe ORDER BY Gruppe_ID";
    $Result=SQL_QUERY($SQL);
    WHILE (
    $ROW=SQL_ARRAY($Result))
    {
        
    $Gruppe_ID    =$ROW['Gruppe_ID'];
        
    $Gruppe        =$ROW['Gruppe'];
        echo 
    "<OPTION VALUE=$Gruppe_ID>$Gruppe</OPTION>";
    }
    ?>
    </SELECT>
    <BR>
    Untergruppe:<SELECT NAME=Untergruppe ID=Form_Text>
    <OPTION VALUE=0>Bitte Waehlen</OPTION>
    </SELECT>
    Dies würde ja jetzt besser in PHP sein falls dies möglich ist
    wenn ja Bitte einen Konkreten Lösungsvorschlag

    Oder auch sagen das dies nicht möglich sein.
    Manchmal aber nur Manchmal sehe ich den Wald vor lauter Bäumen nicht mehr


  • #2
    Warum postest du das unter „php.de Intern > Off-Topic Diskussionen“?
    Bitte bemühe dich künftig, den passenden Themenbereich zu wählen.

    Zitat von Lucifer Beitrag anzeigen
    Dies würde ja jetzt besser in PHP sein falls dies möglich ist
    wenn ja Bitte einen Konkreten Lösungsvorschlag
    Lösungsvorschlag: Setze es in PHP um.

    Wenn du Probleme damit hast - dann beschreibe du diese bitte konkret.

    Oder auch sagen das dies nicht möglich sein.
    Warum sollte es denn nicht möglich sein?

    PHP benutzt du ja jetzt schon, um die Daten zu ermitteln.
    Derzeit gibst du sie nur als JavaScript-Datenobjekt aus.
    Stattdessen direkt mit PHP entsprechendes HTML zu erzeugen, sollte doch wohl kein Problem sein.

    Dass das Formular nach jeder Auswahl abgeschickt werden muss, damit PHP wieder aktiv werden kann, sollte ja wohl absolut klar sein, wenn ein bisschen Grundlagenwissen über HTTP-Client-Server-Kommunikation vorhanden ist.

    Kommentar


    • #3
      Warum postest du das unter „php.de Intern > Off-Topic Diskussionen“?
      Dies wäre dann Einmal Off Topic PHP Fortgeschrittene und Javascript

      Von mir mal nur ein Ausschnitt in PHP umgesetzt

      PHP-Code:
      <?PHP
      ECHO "<SCRIPT LANGUAGE=Javascript>";
          ECHO 
      "var texte = new Array(
          new Array('Bitte Waehlen')"
      ;
                 

              
      $SQL="SELECT * FROM gruppe ORDER BY Gruppe_ID";
              
      $Result=SQL_QUERY($SQL);
              WHILE (
      $ROW=SQL_ARRAY($Result))
              {
      Dass das Formular nach jeder Auswahl abgeschickt werden muss, damit PHP wieder aktiv werden kann, sollte ja wohl absolut klar sein, wenn ein bisschen Grundlagenwissen über HTTP-Client-Server-Kommunikation vorhanden ist.
      Das ist klar heist aber für mich das dies mit PHP keinen Sinn macht
      wenn es mit einer anderen Sprache effektiver geht einfacher ist.
      Manchmal aber nur Manchmal sehe ich den Wald vor lauter Bäumen nicht mehr

      Kommentar


      • #4
        Zitat von Lucifer Beitrag anzeigen
        Dies wäre dann Einmal Off Topic PHP Fortgeschrittene und Javascript
        Was soll daran „fortgeschritten“ sein, wenn du nicht einmal eine vernünftige Fragestellung postest?

        Das ist klar heist aber für mich das dies mit PHP keinen Sinn macht
        wenn es mit einer anderen Sprache effektiver geht einfacher ist.
        Vorher schriebst du noch
        Dies würde ja jetzt besser in PHP sein
        Du widersprichst dir.

        Ausserdem geht es nicht primär um „einfacher“, sondern darum, dass eine Seite auch ohne JavaScript noch benutzbar sein sollte (von Spezialfällen mal abgesehen).
        Deshalb wird man vernünftigerweise beides umsetzen - einmal die JavaScript benutzende Variante, um es für den Nutzer komfortabler zu machen; und als Fallback noch die rein serverseitige Variante, damit es auch jeden Fall benutzbar bleibt.
        Und das gilt übrigens generell und pauschal, nicht nur für das Beispiel, das hier konkret vorliegt.

        Kommentar


        • #5
          Da die Selectfelder auf Client-Seite sind und die Datenbank auf dem Server, kannst Du Dir selbst ausrechnen, dass das nicht eine Sprache alleine kann.
          --

          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


          --

          Kommentar

          Lädt...
          X