Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] select from versch. tables als Dropdown Auswahl

Einklappen

Neue Werbung 2019

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

  • [Erledigt] select from versch. tables als Dropdown Auswahl

    Hallo,

    ich möchte für eine Kundendatenbank Vermerke speichern die sich jährlich unterscheiden.
    Also eine Tabelle mit den Kundendaten und 10 weitere (2008 - 201 mit den jeweiligen Vermerken (Datensätzen) pro Jahr.
    Auf der Ausgabeseite werden die Kundendaten abgerufen und hier müsste nun ein Dropdown hin, welches die Auswahl auf die Tabellen 2008-2018 ermöglicht und die gewählten Datensätze ausgibt.
    Ich finde nun leider keinen Ansatz dazu, wie ich dieses Dropdown mit Tabellenauswahl umsetzen kann ...
    Kann jemand helfen?

  • #2
    bitte etwas genauer... wie sieht deine tabelle aus? was hast du versucht etc.

    Kommentar


    • #3
      Zitat von JEGO Beitrag anzeigen
      bitte etwas genauer... wie sieht deine tabelle aus? was hast du versucht etc.
      Danke JEGO,

      also momentan läuft alles in einer Tabelle ab, ich möchte aber die Kunden extra ablegen nach auto ID.
      Dann möchte ich von jedem Kunden Jahr für Jahr Daten nach jeweiligem Jahr abspeichern.
      Dazu wollte ich die Tabellen 2008 - 2018 anlegen.
      Zu diesem Kunden soll dann eine Historie abrufbar sein 2008 bis 2018.
      Ich selektiere den Kunden, dann erscheinen die Kundendaten - darunter soll ein Dropdown, wo die Zusatzangaben nach Jahr abgerufen werden können.
      Ich brauche also ein Dropdown, mit select * FROM:
      2008
      2009
      2010
      usw.
      Also je nach Auswahl eine andere Tabelle abrufen nach der Kunden ID.

      Da hänge ich nun fest, wie kann man so etwas umsetzen?

      Kommentar


      • #4
        Du hast also in einer Tabelle alle Einträge die einem Jahr und einem Kunden zugeordnet sind? Dann kannst du doch einfach diese Tabelle auslesen wo eben die Kunden ID gleich der ID ist dessen Seite gerade angezeigt werden soll. Dann bekommste in der Liste eben alle Einträge in dieser Tabelle 2008-2018. Wenn du nur die Jahreszahlen auslesen willst kannst du auch noch nach den Jahreszahlen gruppieren.

        Kommentar


        • #5
          Zitat von Flor1an Beitrag anzeigen
          Du hast also in einer Tabelle alle Einträge die einem Jahr und einem Kunden zugeordnet sind? Dann kannst du doch einfach diese Tabelle auslesen wo eben die Kunden ID gleich der ID ist dessen Seite gerade angezeigt werden soll. Dann bekommste in der Liste eben alle Einträge in dieser Tabelle 2008-2018. Wenn du nur die Jahreszahlen auslesen willst kannst du auch noch nach den Jahreszahlen gruppieren.
          Erst nur den Kunden > dann die Auswahl des Jahres (Tabelle 2008 oder andere) in den Jahres Tabellen sind in verschiedenen Spalten die Vermerke.
          Also für jedes Jahr andere Vermerke ...
          Die Auswahl des Jahres soll also per Dropdown nach Auswahl des Kunden möglich sein.

          2008 > Vermerk1 > Vermerk2 > Vermerk3 > Vermerk4
          2009 > Vermerk1 > Vermerk2 > Vermerk3 > Vermerk4
          2010 > Vermerk1 > Vermerk2 > Vermerk3 > Vermerk4
          ...

          also quasi eine dynamische Tabellen Selektion per Dropdown ...

          Kommentar


          • #6
            das solltest du wirklich trennen. 1tabelle mit kundendaten. 1 Tabelle mit jahr und dazugehöriger Notiz und wie Flor1an schon sagt, anhand der ID zuordnen.

            kid | jahr | vermerk |etc.
            1 | 2008| bla bla | etc.
            1 | 2009| blubb |etc.
            2 | 2008| bla blubb| etc.

            Kommentar


            • #7
              Zitat von JEGO Beitrag anzeigen
              das solltest du wirklich trennen. 1tabelle mit kundendaten. 1 Tabelle mit jahr und dazugehöriger Notiz und wie Flor1an schon sagt, anhand der ID zuordnen.

              kid | jahr | vermerk |etc.
              1 | 2008| bla bla | etc.
              1 | 2009| blubb |etc.
              2 | 2008| bla blubb| etc.

              Vom Aufbau wollte ich es ja so machen
              Nur das Problem dabei ist das Dropdown welches die Tabellen 200x usw. selektiert (switcht) ...
              Damit komme ich nicht weiter und bräuchte einen Ansatz.

              Kommentar


              • #8
                das sind keine tabellen, das ist eine Tabelle.

                Das kannst du mit Bedingungen abfragen.

                PHP-Code:
                $sql "SELECT was, du, willst FROM tabelle WHERE kid = '".$kid."' AND jahr = '".$jahr."'"
                damit erhälst du dann die Vermerke vom jahr und Kunden.

                Du kannst auch alles über Join machen.

                Kommentar


                • #9
                  Zitat von JEGO Beitrag anzeigen
                  das sind keine tabellen, das ist eine Tabelle.

                  Das kannst du mit Bedingungen abfragen.

                  PHP-Code:
                  $sql "SELECT was, du, willst FROM tabelle WHERE kid = '".$kid."' AND jahr = '".$jahr."'"
                  damit erhälst du dann die Vermerke vom jahr und Kunden.

                  Du kannst auch alles über Join machen.
                  Danke JEGO,

                  sorry - habe mein Problem nicht gut formuliert
                  Ich brauche eine Auswahl der Jahres Vermerke über Dropdown:
                  <select name="select">
                  2008 > select querie auf table 2008
                  2009 > select querie auf table 2009
                  2010 > select querie auf table 2010
                  </select>

                  Dabei soll unter der Kundenadresse die jeweils selektierte Ausgabe angezeigt werden.
                  Das was mir hier fehlt, ist nur das Dropdown Feld in PHP ...
                  also select wie oben nur für die verschiedenen Jahre ....
                  so in etwa ... klappt aber nicht wirklich

                  Code:
                  <?php
                  function db_createlist($linkID,$default,$query,$blank)
                  {
                      if($blank)
                      {
                          print("<option select value=\"0\">$blank</option>");
                      }
                  
                      $resultID = pg_exec($linkID,$query);
                      $num       = pg_numrows($resultID); 
                      
                      for ($i=0;$i<$num;$i++)
                      {
                          $row = pg_fetch_row($resultID,$i);
                          
                          if($row[0]==$default)$dtext = "selected";
                          else $dtext = "";
                      
                          print("<option $dtext value=\"$row[0]\">$row[1]</option>");
                      }
                  }
                  ?>
                  Code:
                  <select name="select">
                  <?php 
                      // default is 0, no entry will be selected.
                      db_createlist($linkID,0,
                              "select id,description from list","Please select one ...");
                  ?>
                  </select>

                  Kommentar


                  • #10
                    wieso legst du für jedes Jahr neue Tabellen an?

                    Kommentar


                    • #11
                      Zitat von JEGO Beitrag anzeigen
                      wieso legst du für jedes Jahr neue Tabellen an?
                      sorry habe Spalten gemeint

                      Kommentar


                      • #12
                        Das ist nicht vorteilhaft wie du bereits gemerkt hast.

                        Besser ist es wenn du genau eine Spalte "Jahr" hast und und dort dann immer das Jahr dazu abspeicherst also 2008 oder 2010 etc.

                        Kommentar


                        • #13
                          Zitat von Flor1an Beitrag anzeigen
                          Das ist nicht vorteilhaft wie du bereits gemerkt hast.

                          Besser ist es wenn du genau eine Spalte "Jahr" hast und und dort dann immer das Jahr dazu abspeicherst also 2008 oder 2010 etc.
                          O.K. ich werde erst mal die neue Struktur erstellen und danach überlegen wie das mit dem Dropdown select from klappt.

                          Kommentar


                          • #14
                            Habe nun die Tabelle für die Vermerke extra angelegt, mit dem insert klappt auch alles soweit.
                            Habe jetzt nur ein Problem mit der Ausgabe (select) ...
                            Ich habe in beiden Tabellen das Feld ID die beim insert einen gleichen Wert erhalten.
                            In der Tabelle data sind die Kunden und in year die Vermerke.
                            Die Ausgabe soll in eine textarea per php echo:

                            Code:
                            <?php
                            include ("dbconnect.php");
                            $result=mysql_query("SELECT * FROM data, year WHERE data.id = id");
                            $myrow = mysql_fetch_array($result);
                            ?>
                            
                            <textarea id="3" name="material" cols="75" rows="2"><?php echo $myrow["material"]?> /textarea>
                            #EDIT#
                            habs hinbekommen
                            $result=mysql_query("SELECT * FROM year WHERE id='$id'");

                            Kommentar


                            • #15
                              Was mache ich falsch bzw. wie geht es richtig
                              Fehler auslesen und Verstehen lernen.
                              Fehler hier posten.

                              Kommentar

                              Lädt...
                              X