SQL_Abfrage

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

  • SQL_Abfrage

    Hi, wie stelle ich folgendes an das mir "$row['Charge_Ring']"
    aus der 1. Abfrage in die 2. Abfrage übernommen wird. Hab es so probiert funktioniert aber leider nicht. Es wird in der 2. Abfrage kein Wert gesetzt.

    PHP-Code:
    $_POST['FA_NR']=1212;
        
    $tb_name "ziehen";
        
    $sql "SELECT (Charge_Ring) FROM $tb_name WHERE FA_NR='" $_POST['FA_NR'] . "'";
        echo 
    $sql."<br>";
        
    $result mysql_query ($sql$link) or die ("MySQL-Fehler: " mysql_error());
        while (
    $row mysql_fetch_array($result))
        echo 
    $row['Charge_Ring']."<br>";

        
    $tb_name "vergueten";
        
    $sql "SELECT (Charge_Ring) FROM $tb_name WHERE FA_NR='" $_POST['FA_NR'] . "' 
        AND Charge_Ring='"
    .$row['Charge_Ring']."'";
        echo 
    $sql."<br>";

        
    $result mysql_query ($sql$link) or die ("MySQL-Fehler: " mysql_error());
        while (
    $row mysql_fetch_array($result))
        
    $_SESSION['Charge_Ring'] = $row['Charge_Ring'];
        echo 
    $_SESSION['Charge_Ring']."<br>"



    SQL Abfrage 1.: SELECT (Charge_Ring) FROM ziehen WHERE FA_NR='1212'


    SQL Abfrage 2.:SELECT (Charge_Ring) FROM vergueten WHERE FA_NR='1212' AND Charge_Ring=''

  • #2
    echo $row['Charge_Ring']."<br>";
    Gibt was aus? Mach auch mal n print_r($row);

    lass mal die klammern in der Query weg, die braucht man eigentlich nicht.

    Kommentar


    • #3
      So hab die Klammern entfernt und das mit print gemacht. Folgendes wird angezeigt:

      PHP-Code:
      SELECT Charge_Ring FROM ziehen WHERE FA_NR='1212'
      Array ( [0] => 001 [Charge_Ring] => 001 ) Array ( [0] => 000 [Charge_Ring] => 000 )
      SELECT Charge_Ring FROM vergueten WHERE FA_NR='1212' AND Charge_Ring='' 

      Kommentar


      • #4
        und was gibt
        PHP-Code:
        echo $row['Charge_Ring']."<br>"
        verwende in der query auch mal $row[o].

        häng an die erste Query mal ein LIMIT 1 ran.

        Schau dir auch mal JOINs an. damit sparst du eine Query.

        Kommentar


        • #5
          Als die Werte werden geliefert:

          PHP-Code:
          SELECT Charge_Ring FROM ziehen WHERE FA_NR='1212'
          Charge:001
          Charge
          :000
          SELECT Charge_Ring FROM vergueten WHERE FA_NR
          ='1212' AND Charge_Ring='' 

          Kommentar


          • #6
            Wo soll ich Limit 1 anhängen und was bezweckt dies denn?

            Kommentar


            • #7
              LIMIT 1 an die erste Query anhängen. Was das bewirkt sollte klar sein (spätestens nachdem man sich mal kurz SELBSTSTÄNDIG informiert.)

              Nur mal nebenbei: Wie sieht dein Error-reporting aus?

              Kommentar


              • #8
                Erro reporting gibt keinen Fehler

                Kommentar


                • #9
                  aktueller code? aktuelle testausgaben?

                  hast du es mal mit nem JOIN versucht?

                  Kommentar


                  • #10
                    Weiß jetzt was Limit 1, aber ich will das nicht weil es ja mehrere Datensätze gibt.

                    Kommentar


                    • #11
                      Warum nicht? Du verarbeitest ohnehin nur den letzten, der rauskommt.

                      Und außerdem wäre es erstmal Testweise gewesen.,

                      Kommentar


                      • #12
                        PHP-Code:
                        error_reporting(E_ALL);
                            include (
                        'connect.php');
                            
                        $_POST['FA_NR']=1212;
                            
                        $tb_name "ziehen";
                            
                        $sql "SELECT Charge_Ring FROM $tb_name WHERE FA_NR='" $_POST['FA_NR'] . "'";
                            echo 
                        $sql."<br>";
                            
                        $result mysql_query ($sql$link) or die ("MySQL-Fehler: " mysql_error());
                            while (
                        $row mysql_fetch_array($result))
                            echo 
                        "Charge:".$row['Charge_Ring']."<br>";


                            
                        $tb_name "vergueten";
                            
                        $sql "SELECT Charge_Ring FROM $tb_name WHERE FA_NR='" $_POST['FA_NR'] . "' AND Charge_Ring='".$row['Charge_Ring']."'";
                            echo 
                        $sql."<br>";

                            
                        $result mysql_query ($sql$link) or die ("MySQL-Fehler: " mysql_error());
                            while (
                        $row mysql_fetch_array($result))
                            
                        $_SESSION['Charge_Ring'] = $row['Charge_Ring'];
                            echo 
                        $_SESSION['Charge_Ring']."<br>";




                        SELECT Charge_Ring FROM ziehen WHERE FA_NR='1212'
                        Charge:001
                        Charge
                        :000
                        SELECT Charge_Ring FROM vergueten WHERE FA_NR
                        ='1212' AND Charge_Ring=''

                        NoticeUndefined variable_SESSION in D:\xampp\htdocs\prob\mubea\Vergueteprotokoll\test.php on line 21 

                        21: ist
                        PHP-Code:
                        echo $_SESSION['Charge_Ring']."<br>"

                        Kommentar


                        • #13
                          Kann die 2. SQL Anweisung kein Array lesen?

                          Kommentar


                          • #14
                            Der soll mir aber alle verarbeiten.

                            Es besteht folgendes Problem in der Tabelle "ziehen" gibt es eine x Menge an Chargen für eine bestimmte FA_NR. Diese Chargen werden per SQL Anweisung ausgelesen dem User zur Verfügung gestellt, wurde einer dieser Chargen bearbeitet, so werden sie in die Tabelle "vergueten" gespeichert. Nun soll bei dem nächsten Aufruf aber die bearbeite Charge nicht mehr mit angezeigt werden.

                            z.B 12 chargen in ziehen
                            7 bearbeite Chargen in vergueten

                            Angezeigt sollen jetzt nur noch 5 Chargen.

                            PS. Limit funktioniert auch nicht

                            Kommentar


                            • #15
                              Kann die 2. SQL Anweisung kein Array lesen?
                              Was ist das für eine Frage? Die SQL anweisung ist ein String, also kannst du auch nur einen String einbinden.

                              Der soll mir aber alle verarbeiten.
                              Dann denk mal drüber nach, wie das wohl gehen könnte. (stichwort while())

                              ABER:

                              VIEL BESSER wäre es, wenn du eine JOIN Query verwendest.

                              Kommentar

                              Lädt...
                              X