Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Daten mit Array löschen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Daten mit Array löschen


 
death2dadas
25-10-2004, 22:31 
 
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

$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

 
TobiaZ
25-10-2004, 22:36 
 
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. :teach:

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.

 
death2dadas
25-10-2004, 22:57 
 
das mit where hab ich von mir selbst :dontknow:

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


$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 ..:(

 
Payne_of_Death
26-10-2004, 00:07 
 
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 :rolleyes:
was ist dann das -> http://dev.mysql.com/doc/mysql/de/Comparison_Operators.html#IDX1097

 
TobiaZ
26-10-2004, 12:03 
 
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.

 
death2dadas
27-10-2004, 09:28 
 
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.

 
asp2php
27-10-2004, 11:04 
 
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?

 
TobiaZ
27-10-2004, 14:23 
 
print_r schenk ich mal dazu, da du echo zwar offensichtlich kennst, jedoch nicht korrekt benutzt.

 
death2dadas
28-10-2004, 10:52 
 
Hallo erstmal dank ich mal für die Antworten :D
ich hab es jetzt mal so gemacht doch irgendwie funzt des auch nicht vielleicht bin ich einfach nicht für php geschaffen
:mad:
könnte mir jemad mal sagen was ich hier falsch mache.

danke mal


<?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

 
asp2php
28-10-2004, 10:58 
 
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?

 
death2dadas
28-10-2004, 13:04 
 
:goth:
deine Fragen an mich waren schon die Antworten zu meinen Fragen he he danke dir :huep:

gruss erdal

 
TobiaZ
28-10-2004, 16:16 
 
Hilfe zur Selbsthilfe ;)

 
death2dadas
28-10-2004, 16:19 
 
Dein wort in Gottes Ohr he he :rocks:

 
tine_
30-09-2006, 13:26 
 
1: $ids = array(3,5,7);
2: $whereIN = implode(",",$ids);
3: $queryf = mysql_query("SELECT * FROM tabelle WHERE meineid IN ({$whereIN}) ");

 
TobiaZ
30-09-2006, 14:59 
 
was willst du uns damit sagen?

 
Trashar
30-09-2006, 17:26 
 
delete from statt delete * from
bei dem unteren

und oben hilft dir implode

so wollt mal kurz und schmerzlos sein!

 
TobiaZ
30-09-2006, 17:43 
 
Huhu, erkannt das hier ein uralt-Thread ausgegraben wurde, ohne eine sinnvolle folgefrage zu stellen?

 
Trashar
30-09-2006, 17:55 
 
oh ich hab nur auf die letzten 2 antworten geachtet und dann mal hochgescrollt oO


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:37 Uhr.