Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Affili CSV- Dateien automatisch downloaden

Erfahrungsberichte zu Affiliate-Programmen, Provisionen, Leads, Performance und Rendite.
exko
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 04.01.2007, 12:26

Beitrag von exko » 04.01.2007, 12:31

Hi,

ich häng nun schon seit einigen Wochen an diesem Problem.

Ich möchte von Affili die CSV-Dateien automatisch auf meinem Server ablegen. Damit ich danach ein php-skript starten kann der die dateien updatet.
Hab es schon mit einer php header funktion probiert bekomme es aber nicht hin, bin noch nicht so fit in php.

Kann mir da jemand helfen, bin denke ich nicht der einzigste der seine Listen automatisch dowloaden möchte.

vielen dank

gruss andi

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

Ice Man
PostRank 9
PostRank 9
Beiträge: 2477
Registriert: 04.06.2003, 19:16

Beitrag von Ice Man » 04.01.2007, 13:30

ich lese die CSV Dateinen ein (Direkt bei der Quelle), und update damit meine Produkte.
Ist wie beim Einlesen einer Textdatei.

Dauer 5 Sekunden inkl. klicks, dann sind die Preise aktuell :)
Also kein Downloaden mehr.

Code: Alles auswählen

$trenner = ";";
$datei = fopen($dateiname,"r"); 
$db = mysql_connect("localhost",trim($dbuser),trim($dbpass)) or die ("Verbindung zur Datenbank nicht möglich"); 
mysql_select_db(trim($datenbank)); 

$test = mysql_list_fields(trim($datenbank), trim($dbtabelle)); 
$spalten = mysql_num_fields($test); 

while(!feof($datei)){ 
$zeile = fgets($datei,4000); 
$daten = explode($trenner,$zeile); 


$dbquery1 = "INSERT INTO ".$dbtabelle." VALUES ("; 
$dbquery2 = ""; 
$dbquery3 = ")"; 
for &#40;$i = 0;$i < $spalten;$i++&#41;&#123; 
$daten1 = str_replace&#40;',','.',$daten&#91;$i&#93;&#41;; // Kommas durch Punkte ersetzen
$dbquery2 = $dbquery2."'".chop&#40;$daten1&#41;."', ";
 
&#125; 
$dbquery2 = substr&#40;$dbquery2,0,-2&#41;; 
echo $dbquery1.$dbquery2.$dbquery3.$dbquery4 . "<br>";
$dbq = mysql_query&#40;$dbquery1.$dbquery2.$dbquery3&#41;; 
&#125; 

exko
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 04.01.2007, 12:26

Beitrag von exko » 04.01.2007, 17:34

Vielen Dank für deine Antwort, bin aber in php noch nicht so fit.

Kannst du mir bitte noch die Fragen beantworten:

1. Was heißt direkt bei der Quelle, also über die Links mit deinem passwort und kennung?

2. Wo wird hier der Link des jeweiligen Partners hinterlegt???

Wär dir sehr dankbar wenn du mir dabei noch kurz helfen könntest.

danke

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Ice Man
PostRank 9
PostRank 9
Beiträge: 2477
Registriert: 04.06.2003, 19:16

Beitrag von Ice Man » 04.01.2007, 18:02

Was heißt direkt bei der Quelle, also über die Links mit deinem passwort und kennung?
Damit ist der direkte Link zur CSV Datei gemeint.
Beispiel https://www.domain.de/csv/preise.csv
Dieser Link muss vorher der Variable $dateiname zugewiesen werden.
Also so

$dateiname = "hier URL eingeben";
2. Wo wird hier der Link des jeweiligen Partners hinterlegt???
genau wie oben beschrieben, in der Variable $dateiname.

Vorher natürlich noch die MySql Daten zuweisen.

$dbuser ="xxx";
$dbpass ="xxx";
$datenbank ="xxx";

exko
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 04.01.2007, 12:26

Beitrag von exko » 06.01.2007, 21:07

Danke für deine Antwort!

Hab jetzt nur noch eine Frage bezgl. diesen beiden Absätzen

$test = mysql_list_fields(trim($datenbank), trim($dbtabelle));
$spalten = mysql_num_fields($test);

Wie muss ich hier die Datenbank anlegen, damit sie gfühlt wird.

Vielen Dank schon einmal im voraus.

Ice Man
PostRank 9
PostRank 9
Beiträge: 2477
Registriert: 04.06.2003, 19:16

Beitrag von Ice Man » 06.01.2007, 22:20

da must du nix ändern.
Du must nur so viele Spalten anlegen, wie Einträge in der CSV Datei vorhanden sind.

Bsp:

12;Produkt;Peis;Status

In dem fall 4 Spalten anlegen.
Das script befüllt die 4 Spalten dann automatisch.

exko
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 04.01.2007, 12:26

Beitrag von exko » 06.01.2007, 23:16

Nun bekomme ich noch folgende zwei fehler.

Warning: mysql_list_fields() [function.mysql-list-fields]: Unable to save MySQL query result in D:\web\xampp_neu\apachefriends\xampp\xampp\htdocs\Projekte\ln9\abakus.php on line 13

Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in D:\web\xampp_neu\apachefriends\xampp\xampp\htdocs\Projekte\ln9\abakus.php on line 14

exko
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 04.01.2007, 12:26

Beitrag von exko » 06.01.2007, 23:16

hier ist der dazugehörige Quellcode:

$test = mysql_list_fields(trim($datenbank), trim($dbtabelle));
$spalten = mysql_num_fields($test);

exko
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 04.01.2007, 12:26

Beitrag von exko » 06.01.2007, 23:21

Muss ich irgendwo noch die Variable $dbtabelle zuvor fühlen??

exko
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 04.01.2007, 12:26

Beitrag von exko » 06.01.2007, 23:51

ist solch einer ein direkter Link zu einer CSV

https://productdata.download.affili.net ... xxxxxxxxxx

Ice Man
PostRank 9
PostRank 9
Beiträge: 2477
Registriert: 04.06.2003, 19:16

Beitrag von Ice Man » 07.01.2007, 11:23

Muss ich irgendwo noch die Variable $dbtabelle zuvor fühlen??
Na logisch, da kommt der Name der Tabelle rein, die gefüllt werden soll.

Zu 2.
Wenn die Datei so aussieht.

13;xxx;xxxx;xxxxx;xxxx
dann ja

exko
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 04.01.2007, 12:26

Beitrag von exko » 07.01.2007, 13:50

wenn ich die unteren zeilen auskommentier und nur noch den fopen mit einem echo versehe, müsste ich doch auf dem bildschirm die geöfnete csv datei sehen?

bei mir wird hier nur "Resource id #3" angezeigt, da stimmt doch was nicht??

exko
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 04.01.2007, 12:26

Beitrag von exko » 07.01.2007, 14:02

vergiess es was ich gerdae geschrieben habe, wenn ich einen echo auf fgets mache, zeigt er mir die csv an, also die daten habe ich schon mal, denke liegt jetzt nur noch an der Datenbank, bringt immer noch die fehler:

Warning: mysql_list_fields() [function.mysql-list-fields]: Unable to save MySQL query result in D:\web\xampp_neu\apachefriends\xampp\xampp\htdocs\Projekte\ln9\abakus.php on line 17

Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in D:\web\xampp_neu\apachefriends\xampp\xampp\htdocs\Projekte\ln9\abakus.php on line 18

Ice Man
PostRank 9
PostRank 9
Beiträge: 2477
Registriert: 04.06.2003, 19:16

Beitrag von Ice Man » 07.01.2007, 16:40

hast du in der Variable den Namen der Tabelle eingetragen ?

$dbtabelle ="Name der Tabelle";
sieht z.B. so aus

$dbtabelle ="csv_shop1";
Stimmen alle anderen MqSql Variablen ?
Sonnst kann das Script keine Verbindung zu DB aufbauen, und nix eintragen.

exko
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 04.01.2007, 12:26

Beitrag von exko » 08.01.2007, 15:30

also funktioniert bei mir jetzt einwandfrei, perfekte sache.

hab jetzt nur noch eine Frage, wie kann ich das sauber lösen mit mehren csv-links, also mehrere anbieter die ich in die datenbank laden möchte.

muss man hier eine schleife mit einem array machen, wie mach ich das, vieleicht kannst du mir hierzu noch einen tip oder lösung geben.

vielen dank

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag