bestimmt daten eintragen

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

  • bestimmt daten eintragen

    moin, moin

    wie kann ich bestimmen, welche daten aus einer csv in die tabelle übertragen werden?
    Ich hab es so versucht, aber es klappt nicht
    PHP-Code:
    $eintrag "INSERT INTO partner_clean (nummer, datum, id_kunde, betrag, k_status, partner_id) 
                VALUES('"
    .$datenfeld[$i][0]."','".$datenfeld[$i][1]."','".$datenfeld[$i][2]."','".$datenfeld[$i][3]."',
    '"
    .$datenfeld[$i][5]."','adbutler')
    WHERE (
    $datenfeld[$i][5]='in bearbeitung')";
                
    $eintragen mysql_query($eintrag); 
    Bitte, wie kann ich das bestimmen?

    Gruß Stoner

  • #2
    was hat das WHERE bei einem INSERT verloren?

    hast du dir $eintrag mal ausgeben lassen?

    wo is das mysql_error?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      um das where geht es ja,

      bisher hat es einwandfrei funktioniert (ohne where) ich habe alles eintragen lassen. Nun möchte mein Chef aber, dass nur bestimmte Datensätz eingetragen werden - nämlich die, in denen in der csv in der spalte 5 = 'in bearbeitung' steht. Und das habe ich mit dem Where versucht zu realisieren - hat aber nicht geklappt. Nun, welchen Weg muss ich denn einschlagen, damit es funktioniert?

      Gruß Stoner

      Kommentar


      • #4
        PHP-Code:
        if ($datenfeld[$i][5] == 'in Bearbeitung')
        {
          
        $eintrag '';
          
        mysql_query($eintrag) ;

        so?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          ach und mysql_error() ergibt:
          FEHLER You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE (in bearbeitung ='in bearbeitung')' at line 3
          Gruß Stoner

          Kommentar


          • #6
            s. o.
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              ich habs, danke

              Gruß Stoner

              Kommentar


              • #8
                nu ergibt sich das Problem, dass er entweder nichts einträgt oder beide Datensätze

                PHP-Code:
                echo "2"$datenfeld[$i][5], "<br>";    
                        if (
                $datenfeld[$i][5] = 'in_bearbeitung' 
                        {
                            
                $eintrag "INSERT INTO partner_clean (nummer, datum, id_kunde, betrag, k_status, partner_id) 
                            VALUES('"
                .$datenfeld[$i][0]."','".$datenfeld[$i][1]."','".$datenfeld[$i][2]."','".$datenfeld[$i][3]."',
                '"
                .$datenfeld[$i][5]."','adbutler')";
                            
                $eintragen mysql_query($eintrag) || die("FEHLER3 ".mysql_error());
                            echo 
                $eintragen;
                        }
                        else
                        {
                            echo 
                "ist noch nicht bearbeitet<br>";
                        } 
                Als Antwort erhalte ich:
                2in_bearbeitung
                2nix

                die datensätze sehen so aus:
                Programm ID Datem Sub ID Rate Anzahl Status
                5885 05.03.2004 2S 5.000 1 in bearbeitung
                5885 05.03.2004 2S 6.000 2 nix

                den 2. Datensatz (mit status = nix) soll er nicht eintragen
                Ich verzweifel an dem sch....

                Gruß Stoner
                Zuletzt geändert von Stoner; 08.03.2004, 14:39.

                Kommentar


                • #9
                  [ ] du kennst den unterschied zwischen = und ==
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    du magst mich ja für blöde halten (was ich in bestimmten Situationen vielleicht auch bin) aber das mit = und == habe ich schon probiert
                    die Antwort bei == lautet:
                    2in_bearbeitung
                    ist noch nicht bearbeitet
                    2nix
                    ist noch nicht bearbeitet

                    der Datenssatz wird wieder nicht eingetragen

                    Gruß Stoner

                    Kommentar


                    • #11
                      ich würde dich erst dann für blöd halten, wenn ich mir absolut sicher wäre, keine sekunde vorher

                      poste mal den kompletten code, so wie du ihn hast und die ausgabe, so wie du sie bekommst
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        tut mir leid, aber ich bin mittlerweile von diesem sch... ein wenig gereizt

                        hier mein code:
                        PHP-Code:
                        <?php
                        $datei
                        =fopen($db_File,"r");
                        $daten=fread($datei,filesize($db_File));
                        fclose($datei);
                        $datensaetze=explode("\n",$daten);
                        $result array_unique ($datensaetze);
                        mysql_connect($db_Hostname$db_UserName$db_Password) || die("Can't Connect to Database: ".mysql_error());
                        mysql_select_db($db_Database) || die("FEHLER1 ".mysql_error());
                        for(
                        $i=1;$i<(sizeof($result)-1);$i++) 
                        {    
                            
                        $result[$i]=str_replace(' ','_',$result[$i]);
                            
                        $datenfeld[$i]=explode(";",$result[$i]);
                            
                        $datenfeld[$i][2] = substr($datenfeld[$i][2],0,-1);
                            
                        $suchen "SELECT * FROM partner_clean WHERE nummer =".$datenfeld[$i][0]." && id_kunde = '".$datenfeld[$i][2]."' 
                        && partner_id = 'adbutler' && (k_status = 'bestätigt' OR k_status = 'offen')"
                        ;
                            
                        $search mysql_query($suchen);
                            
                            if(
                        mysql_num_rows($search) > 0)
                            {
                                echo (
                        "Schon vorhanden<br>");
                            }
                            else
                            {    
                                echo 
                        "2"$datenfeld[$i][5], "<br>";    
                                if (
                        $datenfeld[$i][5] == 'in_bearbeitung' 
                                {
                                    
                        $eintrag "INSERT INTO partner_clean (nummer, datum, id_kunde, betrag, k_status, partner_id) 
                                    VALUES('"
                        .$datenfeld[$i][0]."','".$datenfeld[$i][1]."','".$datenfeld[$i][2]."','".$datenfeld[$i][3]."',
                        '"
                        .$datenfeld[$i][5]."','adbutler')";
                                    
                        $eintragen mysql_query($eintrag) || die("FEHLER3 ".mysql_error());
                                    echo 
                        $eintragen;
                                }
                                else
                                {
                                    echo 
                        "Datensatz ist noch nicht bearbeitet<br>";
                                }
                            }
                        }
                        $sql mysql_query ("UPDATE partner_clean SET k_status='offen' where k_status='in_bearbeitung' AND partner_id='adbutler'");
                        $typ1 mysql_query ("UPDATE partner_clean SET typ='oA' where typ='' AND partner_id='adbutler'");
                        mysql_close();
                        ?>
                        Also, ich möchte von der csv daten in meine tabelle übertragen. Bevor die Daten eingetragen werden, soll nachgeschaut werden, ob der Datensatz schon vorhanden ist und es sollen nur die Datensätze eingetragen werden, die 'in bearbeitung' sind.

                        Es wird zur Zeit nichts eingetragen, als Antwort erhalte ich:
                        2in_bearbeitung
                        Datensatz ist noch nicht bearbeitet
                        2nix
                        Datensatz ist noch nicht bearbeitet

                        Gruß Stoner

                        Kommentar


                        • #13
                          PHP-Code:
                          echo '<plaintext>»'.$datenfeld[$i][5].'«'
                          ausgabe?

                          steht da wirklich in_bearbeitung drin oder evtl. noch ein leerzeichen oder sowas?
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            so wird es wiedergegeben:
                            »in_bearbeitung
                            «Datensatz ist noch nicht bearbeitet<br><plaintext>»nix
                            «Datensatz ist noch nicht bearbeitet<br>

                            Gruß Stoner

                            Kommentar


                            • #15
                              dann solltest du den zeilenumbruch hinter in_bearbeitung noch rausnehmen

                              \r oder \n oder \r\n
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar

                              Lädt...
                              X