dynamische Listenfelder

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

  • #31
    Hi Du

    Das mit dem mysql_error() habe ich bislang nicht geändert, nicht weil ich Dich ärgern will, sondern weil ich nicht genau weiss was ich da ändern soll. Bin eben Newby. Bei fehlerhaftem Code kommt doch schon eine parse Fehlermeldung.

    Gruß
    K Man

    Kommentar


    • #32
      Original geschrieben von KMan
      Bei fehlerhaftem Code kommt doch schon eine parse Fehlermeldung.
      ja. aber nur bei php-code. bei sql liefert dir eben mysql_error() die meldung.

      und jetzt lies mal, in welchem forum du bist.
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #33
        Hi Du

        Aber ich habe doch diese mysql_error() Anwesiung im code drin, oder nicht?
        Habe auch in meinem PHP Buch nachgeschaut, da kommt auch nicht mehr drüber als die Unterscheidung zwischen mysql_error() und mysql_errno(). Ich weiss jetzt nicht was Du damit genau meinst. Muss da noch was dazu?

        Gruß K Man

        Kommentar


        • #34
          Original geschrieben von KMan
          Aber ich habe doch diese mysql_error() Anwesiung im code drin, oder nicht?
          ja, beim aufbauen der verbindungen zur DB.

          viel wichtiger ist es allerdings beim ausführen der queries, damit du angezeigt bekommst, ob da fehler drin sind:

          $blah = mysql_query(...) or die(mysql_error());



          btw: bitte editiere deine älteren beiträge, und füge die [ php ]-tags hinzu.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #35
            Hi

            Ok, hab's geändert und hab auch das Prob hinbekommen, dass auch das 3. Listenfeld richtig reagiert. Auf Wunsch stelle ich es hier rein.
            Gruß
            K Man
            Zuletzt geändert von KMan; 05.03.2004, 13:27.

            Kommentar


            • #36
              Hallo K Man,

              sorry das ich mich nicht früher gemeldet habe - hatte einfach zu viel um die Ohren ... keine böse Absicht. Aber wie ich sehe hast du es jetzt ja hinbekommen

              Ich habe das Script nochmals überarbeitet, damit die Funktion nicht für jedes Listenfeld neu erstellt werden muss. Das war so nicht im TUT - insofern etwas unsauber von mir, aber das TUT sollte ja auch nur die Möglichkeit aufzeigen ...

              Lange Rede, kurzer Sinn, hier die überarbeitete Version:

              PHP-Code:
              <html>
              <head>
              <title>Untitled Document</title>
              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

              <script type="text/javascript">
              <!--
              <?php
              /* Verbindung aufbauen, auswählen einer Datenbank */
                  
              $link mysql_connect("localhost""root@localhost""")
                  or die(
              "Keine Verbindung möglich: " mysql_error());
                  
              mysql_select_db("patrick1") or die("Auswahl der Datenbank fehlgeschlagen");
                  
              // abhängiges Kombifeld 'drp2 aka liste2' erzeugen
                  
              $rs=mysql_query("select * from tbl_artikel") or die(mysql_error());
                  
              $rows=mysql_num_rows($rs);
                  echo 
              "\tvar liste2=new Array($rows)\n"
                  
              "\tfor(var i=0;i<liste2.length;i++)\n"
                  
              "\t\tliste2[i]=new Array(2);\n";
                  
              $n=0;
                  while(
              $zeile=mysql_fetch_assoc($rs)) {
                      echo 
              "\tliste2[$n][0]=".$zeile['art_id'].";\n"
                      
              "\tliste2[$n][1]='".$zeile['art_bez']."';\n"
                      
              "\tliste2[$n][2]=".$zeile['art_grp'].";\n";
                      
              $n++;
                  }
                  
              // abhängiges Kombifeld 'drp3 aka liste3' erzeugen
                  
              $rs=mysql_query("select * from tbl_hersteller") or die(mysql_error());
                  
              $rows=mysql_num_rows($rs);
                  echo 
              "\tvar liste3=new Array($rows)\n"
                  
              "\tfor(var i=0;i<liste3.length;i++)\n"
                  
              "\t\tliste3[i]=new Array(2);\n";
                  
              $n=0;
                  while(
              $zeile=mysql_fetch_assoc($rs)) {
                      echo 
              "\tliste3[$n][0]=".$zeile['id'].";\n"
                      
              "\tliste3[$n][1]='".$zeile['hersteller']."';\n"
                      
              "\tliste3[$n][2]=".$zeile['artikel'].";\n";
                      
              $n++;
                  }
              ?>
              function update_select(strSelect, strListe, strQuelle) {
                  var x=document.frm_auswahl(strSelect).length;
                  for(var n=0; n<x; n++)
                      document.frm_auswahl(strSelect).options[0]=null;
                  for(n=0; n<eval(strListe).length; n++) {
                      if(eval(strListe)[n][2]==document.frm_auswahl(strQuelle).value) {
                          var NeuerEintrag=new Option(eval(strListe)[n][1], eval(strListe)[n][0]);
                          document.frm_auswahl(strSelect).options[document.frm_auswahl(strSelect).length]=NeuerEintrag;
                      }
                  }
              }
              -->
              </script>
              </head>
              <body>
              <form name="frm_auswahl" action="">
                <select name="drp1" size="30" onChange="update_select('drp2', 'liste2', 'drp1')
                ;update_select('drp3', 'liste3', 'drp2')">
                  <?php

              /* Verbindung aufbauen, auswählen einer Datenbank */
              $link mysql_connect("localhost""root@localhost""")
                 or die(
              "Keine Verbindung möglich: " mysql_error());
              echo 
              "";
              mysql_select_db("patrick1") or die("Auswahl der Datenbank fehlgeschlagen");


                      
              $rs=mysql_query("select * from tbl_art_gruppen") or die(mysql_error());
                      while(
              $zeile=mysql_fetch_assoc($rs)) {
                          echo 
              "<option value=\"".$zeile['art_grp_id']
                          . 
              "\">".$zeile['art_gruppe']."</option>\n";
                      }
                  
              ?>
                </select>
                <select name="drp2" size="30" onChange="update_select('drp3', 'liste3', 'drp2')">
                  <option>Start</option>
                </select>
                <select name="drp3" size="30">
                    <option>Start</option>
                </select>
              </form>
              <script type="text/javascript">
              <!--
                  update_select('drp2', 'liste2', 'drp1');
                  update_select('drp3', 'liste3', 'drp2');
              -->
              </script>

              </body>
              </html>
              und hier noch der SQL-Dump für die Test-Datenbank:

              # phpMyAdmin SQL Dump
              # version 2.5.5-pl1
              # http://www.phpmyadmin.net
              #
              # Host: 127.0.0.1
              # Erstellungszeit: 25. März 2004 um 10:58
              # Server Version: 4.0.17
              # PHP-Version: 4.3.2
              #
              # Datenbank: `patrick1`
              #

              # --------------------------------------------------------

              #
              # Tabellenstruktur für Tabelle `tbl_art_gruppen`
              #

              CREATE TABLE `tbl_art_gruppen` (
              `art_grp_id` int(11) NOT NULL auto_increment,
              `art_gruppe` varchar(30) NOT NULL default '',
              PRIMARY KEY (`art_grp_id`)
              ) TYPE=MyISAM AUTO_INCREMENT=3 ;

              #
              # Daten für Tabelle `tbl_art_gruppen`
              #

              INSERT INTO `tbl_art_gruppen` VALUES (1, 'Monitore');
              INSERT INTO `tbl_art_gruppen` VALUES (2, 'Festplatten');

              # --------------------------------------------------------

              #
              # Tabellenstruktur für Tabelle `tbl_artikel`
              #

              CREATE TABLE `tbl_artikel` (
              `art_id` int(11) NOT NULL auto_increment,
              `art_bez` varchar(30) NOT NULL default '',
              `art_grp` int(11) NOT NULL default '0',
              PRIMARY KEY (`art_id`)
              ) TYPE=MyISAM AUTO_INCREMENT=8 ;

              #
              # Daten für Tabelle `tbl_artikel`
              #

              INSERT INTO `tbl_artikel` VALUES (1, '17 Zoll', 1);
              INSERT INTO `tbl_artikel` VALUES (2, '19 Zoll', 1);
              INSERT INTO `tbl_artikel` VALUES (3, '21 Zoll', 1);
              INSERT INTO `tbl_artikel` VALUES (4, '80 GB', 2);
              INSERT INTO `tbl_artikel` VALUES (5, '120 GB', 2);
              INSERT INTO `tbl_artikel` VALUES (6, '160 GB', 2);
              INSERT INTO `tbl_artikel` VALUES (7, '200 GB', 2);

              # --------------------------------------------------------

              #
              # Tabellenstruktur für Tabelle `tbl_hersteller`
              #

              CREATE TABLE `tbl_hersteller` (
              `id` int(11) NOT NULL auto_increment,
              `hersteller` varchar(30) NOT NULL default '',
              `artikel` int(11) NOT NULL default '0',
              PRIMARY KEY (`id`)
              ) TYPE=MyISAM AUTO_INCREMENT=14 ;

              #
              # Daten für Tabelle `tbl_hersteller`
              #

              INSERT INTO `tbl_hersteller` VALUES (1, 'NoName', 1);
              INSERT INTO `tbl_hersteller` VALUES (2, 'Siemens', 1);
              INSERT INTO `tbl_hersteller` VALUES (3, 'NoName', 2);
              INSERT INTO `tbl_hersteller` VALUES (4, 'Siemens', 2);
              INSERT INTO `tbl_hersteller` VALUES (5, 'NoName', 3);
              INSERT INTO `tbl_hersteller` VALUES (6, 'Eizo', 3);
              INSERT INTO `tbl_hersteller` VALUES (7, 'WD', 4);
              INSERT INTO `tbl_hersteller` VALUES (8, 'Seagate', 4);
              INSERT INTO `tbl_hersteller` VALUES (9, 'Maxtor', 5);
              INSERT INTO `tbl_hersteller` VALUES (10, 'IBM', 5);
              INSERT INTO `tbl_hersteller` VALUES (11, 'Seagate', 6);
              INSERT INTO `tbl_hersteller` VALUES (12, 'IBM', 6);
              INSERT INTO `tbl_hersteller` VALUES (13, 'WD', 7);

              Kommentar

              Lädt...
              X