Ergebnis 1 bis 10 von 19

Thema: Wie kann ich ein Javascript-Array mit MySQL-Daten belegen?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    So in etwa, ohne Garantie

    PHP-Code:
    <!--SELECT dynamisch belegen-->
    <script type="text/javascript">
    var valuesSec = new Array(
      new Array("--"),
    <?php
    $outc 
    1;
     
    $uhol mysql_query("SELECT * FROM rubriken WHERE rubrik_parent_id = '0' ORDER BY rubrik_bezeichnung");
     while (
    $anzeige mysql_fetch_array($uhol)) {
    ?>
      new Array(
    <?php
    $inc 
    1;
      
    $subhol mysql_query("SELECT * FROM rubriken WHERE rubrik_parent_id = '".$anzeige['rubrik_id']."' ORDER BY rubrik_bezeichnung");
       while (
    $subanzeige mysql_fetch_array($subhol)) {
    ?>
        new Array("<?php echo $subanzeige['rubrik_bezeichnung'];?>", "<?php echo $subanzeige['rubrik_id'];?>")<?php if($inc<mysql_num_rows($subhol)) echo ',';?> 
    <?php
    $inc
    ++;
        }
    ?>
      ) <?php if($outc<mysql_num_rows($uhol)) echo ',';?>
    <?php
    $outc
    ++;
    }
    ?>
    );

    function setSecondary() {
      nPos = document.myForm.firstSel.selectedIndex;
      nOldLength = document.myForm.secondSel.length;
      nNewLength = valuesSec[nPos].length;
      for(i=0; i<nNewLength; i++) {
        document.myForm.secondSel.options[i] = new Option(valuesSec[nPos][i][1]);
        document.myForm.secondSel.options[i].value = valuesSec[nPos][i][0];
        if (i==0) document.myForm.secondSel.selectedIndex = 0;
      }
      for(i=nOldLength; i>nNewLength; ) document.myForm.secondSel.options[--i] = null;
    }
    </script>
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  2. #2
    Erfahrener Benutzer
    Registriert seit
    03.01.2007
    Beiträge
    272
    hmm, danke, jpwfour,
    aber irgendwie zeigt der Code grad gar nix an..

    edit: ich hab grad noch bissel damit rumgebastelt, leider bisher erfolglos.. im Netz hab ich noch den Hinweis gefunden, daß javascript kein php beinhalten kann, aber php kann javascript ausgeben.. leuchtet mir ein, aber beim basteln stieß ich auf ein neues Problem: wie kann ich die komplette Funktion als Javascript übergeben, so daß dann das for() als javascript und nicht als php ausgeführt wird?

    bitte kann das jemand fertig schrauben?
    ich will das doch nur fix einbaun..

  3. #3
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    ? Javascript /PHP?

    Ich gehe davon aus, dass der Code in eine php Datei so eingesetzt wird, indem Fall parst PHP das und generiert normalen Text daraus, der dann später als JS ausgeführt wird.

    Wie sieht die Ausgabe (also der Quelltext der Datei im Browser) denn aus wenn du den Code einbaust?
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  4. #4
    Erfahrener Benutzer
    Registriert seit
    03.01.2007
    Beiträge
    272
    das is der Code hinter ner weißen Seite..

    Code:
    <!--SELECT dynamisch belegen-->
    <script type="text/javascript">
    var valuesSec = new Array(
      new Array("--"),
      new Array(
        new Array("Einkaufsberatung", "2"), 
        new Array("Finanzen &amp; Steuern", "3"), 
        new Array("Gesundheitsberatung", "4"), 
        new Array("Lebensberatung", "5"), 
        new Array("Mode- &amp; Stilberatung", "6"), 
        new Array("Rechtsberatung", "7"), 
        new Array("Technische Beratung", "8"), 
        new Array("Versicherungen", "53") 
      ) ,  new Array(
        new Array("Babysitting", "10"), 
        new Array("Ersatzgroßeltern", "11"), 
        new Array("Krankenpflege", "12"), 
        new Array("Seniorenbetreuung", "13"), 
        new Array("Tierbetreuung", "14") 
      ) ,  new Array(
        new Array("Bildbände", "16"), 
        new Array("Bücherkisten", "17"), 
        new Array("Comics", "18"), 
        new Array("Esoterik", "19"), 
        new Array("Hörbücher", "20"), 
        new Array("Jugendbücher", "22"), 
        new Array("Kinderbücher", "21"), 
        new Array("Romane", "23"), 
        new Array("Sach- &amp; Fachliteratur", "24"), 
        new Array("Schulbücher", "25"), 
        new Array("Zeitschriften", "26") 
      ) ,  new Array(
        new Array("Büroarbeiten", "28"), 
        new Array("Büromöbel", "29"), 
        new Array("Bürotechnik", "30"), 
        new Array("Fachlicher Rat", "31"), 
        new Array("Schreibwaren", "32"), 
        new Array("Übersetzung", "33") 
      ) ,  new Array(
        new Array("Apple &amp; Zubehör  ", "35"), 
        new Array("Computer-Literatur", "36"), 
        new Array("Computer-Nostalgie", "37"), 
        new Array("Desktop-PC", "38"), 
        new Array("Drucker &amp; Scanner", "43"), 
        new Array("Festplatten", "40"), 
        new Array("Grafikkarten", "39"), 
        new Array("Kabel und Adapter", "41"), 
        new Array("Laufwerke aller Art", "52"), 
        new Array("Monitore", "51"), 
        new Array("Netzwerk &amp; Zubeh&ouml;r", "44"), 
        new Array("Notebook / Laptop", "45"), 
        new Array("PC-Hilfe &amp; Unterricht", "46"), 
        new Array("Software", "47"), 
        new Array("Sonstiges Zubehör", "48"), 
        new Array("Speicher &amp; CPU", "42"), 
        new Array("Spiele aller Art", "49"), 
        new Array("Spielkonsolen", "50") 
      ) ,  new Array(
        new Array("Audio &amp; HiFi", "55"), 
        new Array("Car-HiFi &amp; Elektronik", "56"), 
        new Array("Handys, Navi &amp; PDA", "57"), 
        new Array("Haustechnik", "58"), 
        new Array("Heimkino", "59"), 
        new Array("Portable Player", "60"), 
        new Array("Technik für Bastler", "61"), 
        new Array("Telefon &amp; -anlagen", "62"), 
        new Array("TV &amp; Video", "63") 
      ) ,  new Array(
        new Array("Ernährungsberatung", "66"), 
        new Array("Genussmittel", "67"), 
        new Array("Kochen &amp; Backen", "68"), 
        new Array("Lebensmittel", "69"), 
        new Array("Reifen &amp; Zubehör", "76") 
      ) ,  new Array(
        new Array("Autos", "71"), 
        new Array("Fahrrad &amp; Zubehör", "72"), 
        new Array("Motorräder &amp; Roller", "73"), 
        new Array("Nutzfahrzeuge", "74"), 
        new Array("Oldtimer", "75"), 
        new Array("Sonstige Fahrzeuge", "77"), 
        new Array("Stellplatz &amp; Garage", "78"), 
        new Array("Transport &amp; Umzug", "79"), 
        new Array("Tuning &amp; Ersatzteile", "80"), 
        new Array("Wohnwagen & -mobile", "81") 
      ) ,  new Array(
        new Array("Andere Medien", "83"), 
        new Array("CD&acute;s", "84"), 
        new Array("DVD&acute;s", "85"), 
        new Array("Schallplatten", "86"), 
        new Array("Videokassetten", "87") 
      ) ,  new Array(
        new Array("Außendekoration", "89"), 
        new Array("Bäume &amp; Pflanzen", "90"), 
        new Array("Gartenarbeit", "91"), 
        new Array("Gartenbau &amp; -pflege", "92"), 
        new Array("Gartengeräte", "93"), 
        new Array("Gartenmöbel", "94"), 
        new Array("Saatgut &amp; Anbau", "95") 
      ) ,  new Array(
        new Array("Alternative Heilung", "97"), 
        new Array("Duft &amp; Aroma", "98"), 
        new Array("Gesundheitsartikel", "100"), 
        new Array("Gesundheitsmöbel", "101"), 
        new Array("Gesundheitsratgeber", "102"), 
        new Array("Heilmittel", "99"), 
        new Array("Licht &amp; Wärme", "105"), 
        new Array("Massage &amp; Co.", "103"), 
        new Array("Medizintechnik", "104"), 
        new Array("Yoga &amp; Meditation", "106") 
      ) ,  new Array(
        new Array("Arbeitskleidung", "108"), 
        new Array("Arbeitsschutz", "109"), 
        new Array("Forstwirtschaft", "118"), 
        new Array("Landwirtschaft", "110"), 
        new Array("Maschinen", "117"), 
        new Array("Material", "111"), 
        new Array("Messgeräte", "112"), 
        new Array("Renovierung", "113"), 
        new Array("Reparaturen", "114"), 
        new Array("Um- &amp; Ausbau", "115"), 
        new Array("Werkzeug", "116") 
      ) ,  new Array(
        new Array("Deko &amp; Beleuchtung", "120"), 
        new Array("Feng-Shui", "121"), 
        new Array("Geschirr &amp; Besteck", "122"), 
        new Array("Haushaltsgeräte", "123"), 
        new Array("Haushaltshilfe", "124"), 
        new Array("Haushaltswaren", "125"), 
        new Array("Möbel &amp; Einrichtung", "126"), 
        new Array("Reparatur & Wartung", "127"), 
        new Array("Zimmerpflanzen", "128") 
      ) ,  new Array(
        new Array("Bastelarbeiten", "130"), 
        new Array("Computerkunst", "131"), 
        new Array("Fotografie", "132"), 
        new Array("Handarbeit", "133"), 
        new Array("Modellbau &amp; RC", "134") 
      ) ,  new Array(
        new Array("Babykleidung", "141"), 
        new Array("Kinder-Filme", "138"), 
        new Array("Kinder-Hörspiele", "137"), 
        new Array("Kinderbücher", "136"), 
        new Array("Kindererziehung", "140"), 
        new Array("Kinderkleidung", "143"), 
        new Array("Kindermöbel", "139"), 
        new Array("Schulsachen", "144") 
      ) ,  new Array(
        new Array("Damenbekleidung", "146"), 
        new Array("Herrenbekleidung", "147"), 
        new Array("Jugendkleidung", "142") 
      ) ,  new Array(
        new Array("Gemälde & Zeichnung", "154"), 
        new Array("Musikinstrumente", "155"), 
        new Array("Skulpturen", "156"), 
        new Array("Veranstaltungen", "157") 
      ) ,  new Array(
        new Array("Fremdsprachen", "159"), 
        new Array("Nachhilfe", "160"), 
        new Array("Prüfungsvorbereitung", "161"), 
        new Array("Unterricht", "162") 
      ) ,  new Array(
        new Array("Alte Dokumente", "173"), 
        new Array("Ansichtskarten", "165"), 
        new Array("Antiquitäten", "166"), 
        new Array("Autogramme &amp; Co.", "170"), 
        new Array("Bierdeckel &amp; Co.", "167"), 
        new Array("Briefmarken", "168"), 
        new Array("Buttons &amp; Pins", "169"), 
        new Array("Feuerzeuge &amp; -hölzer", "171"), 
        new Array("Gläser &amp; Geschirr", "172"), 
        new Array("Modellautos", "176"), 
        new Array("Münzen &amp; Banknoten", "177"), 
        new Array("Puppen &amp; Figuren", "178"), 
        new Array("Sammelkarten", "190"), 
        new Array("Sticker & Bilder", "175"), 
        new Array("Technik (Antiquitäten)", "179"), 
        new Array("Telefonkarten", "180"), 
        new Array("Ü-Ei-Figuren", "181"), 
        new Array("Werbeartikel", "182") 
      ) ,  new Array(
        new Array("Accessoires", "149"), 
        new Array("Kosmetik", "151"), 
        new Array("Pflege & Hygiene", "150"), 
        new Array("Uhren &amp; Schmuck", "152") 
      ) ,  new Array(
        new Array("Ausflüge", "184"), 
        new Array("Ausrüstung", "185"), 
        new Array("Freizeit-Aktivitäten", "186"), 
        new Array("Gemeinsam spielen", "187"), 
        new Array("Tanzen / Tanzpartner", "188"), 
        new Array("Veranstaltungen", "189") 
      ) ,  new Array(
        new Array("Sportbekleidung", "192"), 
        new Array("Sportgeräte", "193"), 
        new Array("Sportzubehör", "194"), 
        new Array("Training &amp; Anleitung", "195") 
      ) ,  new Array(
        new Array("Aquaristik", "197"), 
        new Array("Hunde &amp; Katzen", "198"), 
        new Array("Kleintiere", "199"), 
        new Array("Rat &amp; Tat", "200"), 
        new Array("Rund um&acute;s Pferd", "201"), 
        new Array("Terraristik", "202"), 
        new Array("Vögel", "203") 
      ) ,  new Array(
        new Array("Gebäude", "210"), 
        new Array("Grundstücke", "205"), 
        new Array("Mitbewohner", "206"), 
        new Array("Schlafgelegenheit", "207"), 
        new Array("Wohnung", "209"), 
        new Array("Wohnung auf Zeit", "208") 
      ) ,  new Array(
        new Array("Camping", "214"), 
        new Array("Ferienwohnungen", "212"), 
        new Array("Gepäck", "215"), 
        new Array("Haushüter", "219"), 
        new Array("Leihfahrzeuge", "217"), 
        new Array("Mitfahrgelegenheit", "218"), 
        new Array("Reisetipps &amp; -führer", "216"), 
        new Array("Unterkunft", "213") 
      ) );
    
    function setSecondary() {
      nPos = document.myForm.firstSel.selectedIndex;
      nOldLength = document.myForm.secondSel.length;
      nNewLength = valuesSec[nPos].length;
      for(i=0; i<nNewLength; i++) {
        document.myForm.secondSel.options[i] = new Option(valuesSec[nPos][i][1]);
        document.myForm.secondSel.options[i].value = valuesSec[nPos][i][0];
        if (i==0) document.myForm.secondSel.selectedIndex = 0;
      }
      for(i=nOldLength; i>nNewLength; ) document.myForm.secondSel.options[--i] = null;
    }
    </script>
    ich werd das jetzt mal mit heim nehmen, mal sehn, ob ich heut abend noch bissel zum basteln komme..

  5. #5
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    Der HTML Code gehört dann natürlich auch noch dazu.

    Wenn ich das zusammen in eine Datei reinstecke, funktioniert es bei mir, einzig die 2 Felder Beschreibung und ID sind vertauscht, also so bekommt man bspw. zum 1. Eintrag dann ne Liste mit 2,3,4,5,6,7,8,53.


    Dazu einfach dann:
    rubrik_bezeichnung und rubrik_id
    austauschen.
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  6. #6
    Erfahrener Benutzer
    Registriert seit
    03.01.2007
    Beiträge
    272
    der html-code, wie ich ihn oben hatte? kann ich das so zusammenbasteln? mal sehn..

  7. #7
    Erfahrener Benutzer
    Registriert seit
    03.01.2007
    Beiträge
    272
    oki, nu habsch das zusammengefügt, hier der Code:

    Code:
    <!--SELECT dynamisch belegen-->
    <script type="text/javascript">
    var valuesSec = new Array(
      new Array("--"),
    <?php
       $outc = 1;
       $uhol = mysql_query("SELECT * FROM rubriken WHERE rubrik_parent_id = '0' ORDER BY rubrik_bezeichnung");
       while ($anzeige = mysql_fetch_array($uhol)) {
    ?>
         new Array(
    <?php
         $inc = 1;
         $subhol = mysql_query("SELECT * FROM rubriken WHERE rubrik_parent_id = '".$anzeige['rubrik_id']."' ORDER BY rubrik_bezeichnung");
         while ($subanzeige = mysql_fetch_array($subhol)) {
    ?>
           new Array("<?php echo $subanzeige['rubrik_id'];?>", "<?php echo $subanzeige['rubrik_bezeichnung'];?>")
    <?php  if ($inc<mysql_num_rows($subhol)) echo ','; ?>
    <?php  $inc++;
          }
    ?>
      ) <?php if($outc<mysql_num_rows($uhol)) echo ',';?>
    <?php
          $outc++;
       }
    ?>
    );
    
    function setSecondary() {
      nPos = document.myForm.firstSel.selectedIndex;
      nOldLength = document.myForm.secondSel.length;
      nNewLength = valuesSec[nPos].length;
      for(i=0; i<nNewLength; i++) {
        document.myForm.secondSel.options[i] = new Option(valuesSec[nPos][i][1]);
        document.myForm.secondSel.options[i].value = valuesSec[nPos][i][0];
        if (i==0) document.myForm.secondSel.selectedIndex = 0;
      }
      for(i=nOldLength; i>nNewLength; ) document.myForm.secondSel.options[--i] = null;
    }
    </script>
    
    
    
    <div align="center">
     <form id="myForm" name="myForm" action="" method="POST">
      <select id="firstSel" name="firstSel" onChange="setSecondary();">
       <option>Bitte wähle:</option>
       <option value="<?php echo $anzeige['rubrik_id'];?>" <?php if ($_POST['rubrik'] == $anzeige['rubrik_id']) echo 
    
    'selected';?>>&nbsp;&nbsp;&nbsp;<?php echo $anzeige['rubrik_bezeichnung'];?></option>
      </select>
      <select id="secondSel" name="secondSel">
       <option>--</option>
       <option value="<?php echo $anzeige['rubrik_id'];?>" <? if ($_POST['rubrik'] == $anzeige['rubrik_id']) echo 
    
    'selected';?>>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<?php echo $subanzeige['rubrik_id'];?>&nbsp;&nbsp;&nbsp;<?php echo 
    
    $subanzeige['rubrik_bezeichnung'];?></option>
      </select>
      <input type="submit" value="Ab die Post">
     </form>
    </div>
    jetzt steht auch schon was im Formular: erst, wenn ich beide Options im ersten Select jeweils einmal ausgewählt hab, dann erscheinen im zweiten Select die subkategorien der ersten Kategorie.. (deren Bezeichnung im ersten Select aber nicht angezeigt wird, nur 'Bitte wähle' und 1x leer)

    ich glaub, die Hauptkategorien werden noch nicht eingelesen, die stehn auch noch nich im Array (Quelltext oben..)

    der Quelltext zum Formular sieht jetzt so aus:

    Code:
    <div align="center">
     <form id="myForm" name="myForm" action="" method="POST">
      <select id="firstSel" name="firstSel" onChange="setSecondary();">
       <option>Bitte wähle:</option>
       <option value="" selected>&nbsp;&nbsp;&nbsp;</option>
      </select>
      <select id="secondSel" name="secondSel">
       <option>--</option>
       <option value="" selected>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>
      </select>
      <input type="submit" value="Ab die Post">
     </form>
    </div>
    kannste da bitte nochmal drüber schaun?
    oder sieht jmd anders den nächsten Schritt?

Ähnliche Themen

  1. MYSQL Fehler nach MySQL Version update
    Von Neuroblastom im Forum [HD] Programmieren
    Antworten: 2
    Letzter Beitrag: 19.01.2016, 23:51
  2. Wie habt ihr PHP, MySQL oder JavaScript gelern?
    Von Everlast3310 im Forum Talk, talk, talk...
    Antworten: 11
    Letzter Beitrag: 20.04.2010, 17:47
  3. [HTML/CSS/JS] PHP Funktionen in Javascript
    Von jpwfour im Forum [HD] Programmieren
    Antworten: 1
    Letzter Beitrag: 06.11.2009, 18:49
  4. VMS1.2 $_POST array nicht rekursiv
    Von djghost2001 im Forum Bug-Report
    Antworten: 3
    Letzter Beitrag: 28.01.2008, 21:31
  5. Interfacedaten Banna.de - Kann Daten nicht eingeben.
    Von Bonian im Forum [HD] Programmieren
    Antworten: 8
    Letzter Beitrag: 18.03.2007, 14:49

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •