Problem mit Übergabe von Variablen mit 2 MySQL Tabellen

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

  • #16
    Ähm ich wollte das gar nicht wissen - du sollst es DIR ausgeben lassen, um zu sehen wie die foreach-Schleife gebaut werden muß bzw. was in der listen_arr() falsch ist.

    Wieso überdenkst du eigentlich nicht erstmal deine DB-Struktur?

    Kommentar


    • #17
      Hallo nochmal,
      ich möchte mich erstmal dafür bedanken, dass ihr euch soviel Zeit für mich genommen habt, und auch den Kopf über meine Probleme zerbricht

      Also ich sollte vielleicht noch sagen, dass ich mir selbst PHP angelesen habe durch das Buch von Galileo Computing "PHP 4 Webserver-Programmierung für Einsteiger". Da wird nur in einer Übersichttabelle der Befehl "join" erklärt.

      Aber ich sollte vielleicht meine Tabellen weiter erklären.
      SCHTermine hat 5 Felder:
      Nr -> Autoinc
      Kurs -> Kurs aus SCHKursreihe
      Kursreihe -> Nr aus SCHKursreihe
      Von
      Bis

      SCHKursreihe hat 4 Felder
      Nr -> Autoinc -> Für Kursreihe in SCHTermine
      Kursreihe
      Kurs -> Für Kurs in SCHTermine
      Bezeichnung

      Hab ich euch jetzt richtig verstanden? Mit "join" ist das möglich? Ok ich probiere das jetzt mal aus, dann melde ich mich nochmal.

      mfg
      darksaber999

      Kommentar


      • #18
        Also mit Join haut das überhaupt nicht hin, und ich bin wieder auf meinen alten kurs zurück gegangen.

        PHP-Code:
                echo "<select name='kursreihe' size='1'>\n";
                
        $anzahl sizeof$arr[0]);
                for (
        $i=0;$i<$anzahl$i++){
                  echo 
        "<option value='".$arr[0][$i]."'>".$arr[2][$i]."</option>\n";
                }
                echo 
        "</select>Kursreihe<p>\n"
        Im Quelltext steht jetzt auch das Richtige als Value, und im Auswahl-Bereich:

        Code:
        <select name='kursreihe' size='1'>
        <option value='101'>1</option>
        <option value='102'>2</option>
        <option value='103'>3</option>
        <option value='120'>4</option>
        <option value='105'>5</option>
        </select>Kursreihe<p>
        Jetzt möchte sowohl das Value, als auch die "Auswahl-Nr" übergeben, also wenn ich in der DropDown-Leiste "4" auswähle, soll sowohl "4" als auch "120" übergeben werden.

        Ich dachte, es würde folgender Maßen gehen:
        PHP-Code:
              $termin->neuerdatensatz$GLOBALS[$arr[0][$i]], $GLOBALS[$arr[1][$i]],
                                       
        $GLOBALS["von"], $GLOBALS["bis"]); 
        Dann soll in der Class folgendes ankommen:
        PHP-Code:
            function neuerdatensatz$kursreihe$kurs$von$bis){

              
        $sqlab  " insert ".$this->tbname." ( Kursreihe, Kurs, Von, Bis )  ";
              
        $sqlab .= " values ( '".$kursreihe."' , '".$kurs."' , '".$von."', '".$bis."')";



              if (
        $this->debug)
                echo 
        $sqlab."<br>";
              
        $this->result mysql_query$sqlab 
        Leider bleiben im Moment die beiden Felder 'Kursreihe' und 'Kurs' leer.

        Seid ihr nochmal so lieb und helft mir?

        mfg
        darksaber999

        Kommentar


        • #19
          Original geschrieben von darksaber999

          Jetzt möchte sowohl das Value, als auch die "Auswahl-Nr" übergeben, also wenn ich in der DropDown-Leiste "4" auswähle, soll sowohl "4" als auch "120" übergeben werden.
          Nein, bei select-Tag wird value gesendet, wenn value-Angabe aber nicht existiert, dann den Text. Beides nicht. Es sei denn du nimmst JS, liest die Werte in Value und Text aus und schreibst sie in hidden-Felder, dann werden sie über die hidden-Felder gesendet. Aber was soll denn der Unfug. Eine Relation zwischen value und Text hast du doch irgendwo, denn sonst kann du die Liste ja nicht aufbereiten. Also überlege nochmals was du machst.

          Kommentar


          • #20
            OK, aber was sind "JS" ? Ich kenn mich mit den "Insider"-Abkürzungen noch nicht aus

            Kommentar


            • #21
              JavaScript
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #22
                Hallo, ich bins nochmal
                Jetzt habe ich den Code einwenig abgeändert(aber ohne JS, denn das kann ich nicht ):
                PHP-Code:
                  function termine_anlegen(){

                    require_once ( 
                "opendb.inc.php" ) ;
                    require_once (
                "class/classkursreihe.inc.php");
                    
                $kursreihe = new dbkursreihe$GLOBALS["db"] ) ;

                    
                $arr $kursreihe->listen_arr($auswahl);

                    
                error_reporting(E_ALL);
                    echo 
                "<p>Fehler:".error_reporting(E_ALL)."<p>";


                    echo 
                "\n<p>Geben Sie einen vollständigen Datensatz ein und senden Sie das Formular ab:\n";
                  

                echo 
                "<form  method='post' action=termine.php?show=".$arr[0][$i].">";

                        echo 
                "<select name='kursreihe' size='1'>\n";
                        
                $anzahl sizeof$arr[0]);
                        for (
                $i=0;$i<$anzahl$i++){
                          echo 
                "<option value='".$arr[0][$i]."'>".$arr[2][$i]."</option>\n";
                        }
                        echo 
                "</select>Kursreihe<p>\n";


                        echo 
                "</form>\n";


                        echo 
                "<form action = 'termine.php?id=8' method = 'post'>\n";

                        echo 
                "<input name='von'>Von (Form: JJJJ-MM-TT SS:MM)<p>\n";
                        echo 
                "<input name='bis'>Bis (Form: JJJJ-MM-TT SS:MM)<p>\n";

                        echo 
                "<input type='Submit' name='gesendet'\n";
                        echo 
                "<input type='reset'>\n";

                      echo 
                "</form>\n"
                Aber jetzt bekomme ich folgenden Fehler:
                Code:
                Notice: Undefined variable: i in /srv/www/praktikant/schulung/termine.php on line 221
                
                Notice: Undefined index: in /srv/www/praktikant/schulung/termine.php on line 221
                Das ist beim ersten <form>. Aber versteh nicht warum die undefiniert ist, es wird doch das Array aufgerufen am Anfang.

                mfg
                darksaber999

                Kommentar


                • #23
                  Original geschrieben von darksaber999
                  Aber versteh nicht warum die undefiniert ist, es wird doch das Array aufgerufen am Anfang.
                  *seufz*

                  wo bitte ist zu dem zeitpunkt, wo du
                  PHP-Code:
                  echo "<form  method='post' action=termine.php?show=".$arr[0][$i].">"
                  stehen hast, $i definiert ...?
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #24
                    ...OK, gutes Argument
                    Aber wie bekomme ich 2 forms sonst unter, wenn nicht nacheinander? Ineinander geht nicht, schon probiert.

                    Falls das eine dumme Anfängerfrage sein sollte, tut es mir Leid, aber ich habe PHP nur aus Büchern gelernt, namentlich:

                    PHP4 Webserver-Programmierung für Einsteiger von Galileo Computing

                    und zum zusätzlichen nachschlagen habe ich:

                    php 4 dynamische webauftritte professionell realisieren von Markt & Technik


                    mfg
                    darksaber999


                    edit: Das ist jetzt auch einwenig anders von mir gedacht. In der DropDown-Leiste suche ich noch immer die Nr aus, dann soll aber die Seite neugeladen werden, und die das Value soll schon mal zwischengespeichert, damit es später als Variable verarbeitet werden kann.
                    Zuletzt geändert von darksaber999; 21.03.2005, 17:02.

                    Kommentar


                    • #25
                      Entweder eine Datei, um die Select-Box auszugeben und eine zweite, an die die Daten gesendet werden oder beides in einem Script mit
                      PHP-Code:
                      if (!isset($_POST['kursreihe'])) {
                          
                      // Form 1 ausgeben
                      } else {
                          
                      // Form 2 ausgeben

                      Kommentar


                      • #26
                        Hallo, ich bins schon wieder

                        Ich habe mal im PHP-Handuch nachgesehen, was if(!isset..) bewirkt. Wenn das richtig verstanden habe, dann überprüft das, ob eine Variable gesetzt ist, und setzte diese dann auf 'true'. Aber was brinkt mir das bei meinem Problem? Das die zweite Variable nicht ist, weiß ich auch so

                        Naja, gestern kam der Chefprogrammierer (bin ja nur Praktikant und arbeite an diesem Programm, was nicht(!) kommerziel genutzt wird, da es nur eine Übung ist ) ausnahmsweise mal rein... und sagt mir, dass es auch Blödsinn sei, was ich da mach. (Kursreihe)Nr soll doch gar nicht auf (Termine)Kursreihe verweisen, sondern (Kursreihe)Kursreihe auf (Termine)Kursreihe. Dabei hat er extra auf einen Zettel dass (Termine)Kursreihe die Nr der (Kursreihe) ist,...aber egal

                        Also hat sich die Tablle folgend verändert:

                        SCHTermine hat 5 Felder:
                        Nr -> Autoinc
                        Kurs -> Kurs aus SCHKursreihe
                        Kursreihe -> Kursreihe aus SCHKursreihe
                        Von
                        Bis

                        SCHKursreihe hat 4 Felder
                        Nr -> Autoinc
                        Kursreihe -> Für Kursreihe in SCHTermine
                        Kurs -> Für Kurs in SCHTermine
                        Bezeichnung

                        In Kursreihe steht drin, ob der Kurs im Frühjahr, Sommer, usw. stattfindet. Denn der Kurs 105 im Frühjahr ist auch der Kurs 105 im Sommer. Somit hat ganze jetzt auch endlich mehr Sinn erhalten

                        mfg
                        darksaber999

                        Kommentar


                        • #27
                          Ich habe mich eurem Rat angeschlossen, und dem Chef mal gesagt, dass die Tabellenstruktur nicht gut gewählt ist. Er war zuerst beleidigt(war schließlich seine Idee), dann hat er aber eingesehen, dass die Tabellen schlecht designed sind.

                          Jetzt habe ich hier eine (beinah) ganz andere Bedingungen, die sogar für mich Lösbar erscheinen

                          Ich möchte mich bei allen bedanken, die mir geholfen haben

                          mfg
                          darksaber999

                          PS: Wenn ich wieder mal Hilfe brauche, werde ich mich wieder an euch wenden, und wenn ich sehen, dass jemand ein Problem hat und ich dazu die Lösung erkenne, dann werde ich diesem jemand auch helfen

                          Kommentar

                          Lädt...
                          X