Daten mit Array löschen

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

  • Daten mit Array löschen

    Hallo hab da mal ein anliegen´.

    Ich muss in einer datenbank täglich diverse Artikel löschen da es mehrere sind ist es manuell ein wenig doof.

    nun hab ich gedacht das über ein Array zu machen bin jetzt kein super guru was php angeht bin nur so weit gekommen code folgt.

    PHP-Code:
    <?php

    $host 
    localhost//Host, localhost ist Standard
    $username "root"//Username
    $password ""//Passwort
    $mylist= array("A-297785" ,"A-343992""A-356718");
    $loeschen "Delete FROM products WHERE products_model = '$mylist'";



       
    $db mysql_connect($host$username$password); //baut die Verbindung
       
    $db_value=  mysql_select_db("oscommerce");
             
    $loesch mysql_query($loeschen);
             
    //echo($mylist);
       
       
    ?>
    das funkioniert irgendwie nicht weiß net warum es ist doch möglich die arrayliste als where kriterium zu nutzen oder ?

    Wenn ich grad dabei bin wäre es möglich $mylist array so gestalten das ich nicht immer alles reinkopieren muss sondern das er es aus ner datei holt.

    danke mal für die antworten

  • #2
    das funkioniert irgendwie nicht weiß net warum es ist doch möglich die arrayliste als where kriterium zu nutzen oder ?
    Nein, woher hast du das. Lass dir die Query mal ausgeben, dann erkennst du auch warum. Debuging.

    Guck dir IN() (mysql-funktion) an.

    Wenn ich grad dabei bin wäre es möglich $mylist array so gestalten das ich nicht immer alles reinkopieren muss sondern das er es aus ner datei holt.
    Klar! Wie man mit Textdateien arbeitet, wird hier im Forum und im Manual ausreichen erläutert.

    Kommentar


    • #3
      das mit where hab ich von mir selbst

      also müsste das jetzt so aussehen tut mir echt leid kann nicht so gut php

      PHP-Code:
      $loeschen "Delete * FROM products WHERE products_model IN($mylist)"
      aber so macht der auch nichts und wenn ich es zwischen "" stelle also IN("$mylist") dann kommt diese meldung

      Parse error: parse error, unexpected T_VARIABLE in C:\apachefriends\xampp\htdocs\oscom\catalog\artdel_array.php on line 7


      über die IN funktion hab ich nichts gefunden ..

      Kommentar


      • #4
        Original geschrieben von death2dadas
        über die IN funktion hab ich nichts gefunden ..
        1.) Wo ist da jetzt das Debugging wie sieht das fertige SQL Statement aus?
        2.) IN Funktion nichts gefunden? klar
        was ist dann das -> http://dev.mysql.com/doc/mysql/de/Co...s.html#IDX1097
        [color=blue]MfG Payne_of_Death[/color]

        [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
        [color=red]Merke:[/color]
        [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

        Murphy`s Importanst LAWS
        Jede Lösung bringt nur neue Probleme
        Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
        In jedem kleinen Problem steckt ein großes, das gern raus moechte.

        Kommentar


        • #5
          Wieso gibst du nicht erstmal deine Query aus? Habe ich nicht umsonst gesagt. Dann erkennst du, auch, warums nicht funktionieren kann!

          Mach dir auch klar, das PHP umd MySQL eigentlich nichts miteinander zu tun haben.

          Kommentar


          • #6
            Wo ist da jetzt das Debugging wie sieht das fertige SQL Statement aus?
            Wie kann ich den debuggen und die Query ausgeben, bin echt nicht fit in php und sql sorry.

            Kommentar


            • #7
              Original geschrieben von death2dadas
              Wie kann ich den debuggen und die Query ausgeben, bin echt nicht fit in php und sql sorry.
              echo kennst du?

              Kommentar


              • #8
                print_r schenk ich mal dazu, da du echo zwar offensichtlich kennst, jedoch nicht korrekt benutzt.

                Kommentar


                • #9
                  Hallo erstmal dank ich mal für die Antworten
                  ich hab es jetzt mal so gemacht doch irgendwie funzt des auch nicht vielleicht bin ich einfach nicht für php geschaffen

                  könnte mir jemad mal sagen was ich hier falsch mache.

                  danke mal

                  PHP-Code:
                  <?php

                  $host 
                  localhost
                  $username "root"
                  $password ""



                     
                  $db mysql_connect($host$username$password); //baut die Verbindung
                     
                  $db_value=  mysql_select_db("oscommerce");

                     
                     
                  function 
                  artloeschen()
                  {
                    
                  $my_new_query tep_db_query('SELECT * from products where products_quantity = 9999');
                  while (
                  $my_query tep_db_fetch_array($my_new_query)) {
                  teb_db_query("delete * from products where products_id = " $my_query['products_id'] );
                  teb_db_query("delete * from products_description where products_id = " $my_query['products_id'] );
                  teb_db_query("delete * from products_to_categories where products_id = " $my_query['products_id'] );
                  teb_db_query("delete * from reviews where products_id = " $my_query['products_id'] );



                  }
                  }

                     
                  ?>
                  es passiert nichts keine fehlermeldung und auch sonst nichts.

                  gruss erdal

                  Kommentar


                  • #10
                    was sind denn das hier:
                    - tep_db_query
                    - tep_db_fetch_array
                    von dir geschriebene Funktionen?

                    es passiert nichts keine fehlermeldung und auch sonst nichts.
                    in php.ini setzen:

                    error_reporting = E_ALL
                    display_errors = On

                    hast du die Funktion artloeschen() auch aufgerufen? ich sehe nirgends ein Aufruf, daher die Frage.

                    bei $host = localhost; ist localhost eine von dir definierte Konstante?

                    Kommentar


                    • #11

                      deine Fragen an mich waren schon die Antworten zu meinen Fragen he he danke dir

                      gruss erdal

                      Kommentar


                      • #12
                        Hilfe zur Selbsthilfe

                        Kommentar


                        • #13
                          Dein wort in Gottes Ohr he he

                          Kommentar


                          • #14
                            1: $ids = array(3,5,7);
                            2: $whereIN = implode(",",$ids);
                            3: $queryf = mysql_query("SELECT * FROM tabelle WHERE meineid IN ({$whereIN}) ");

                            Kommentar


                            • #15
                              was willst du uns damit sagen?

                              Kommentar

                              Lädt...
                              X