phpbar.de logo

Mailinglisten-Archive

[php] Re: Crosspromotion in shops?

[php] Re: Crosspromotion in shops?

H. Frank H.Frank_(at)_wolfsburg.de
Tue, 02 May 2000 21:20:26 +0200


At 17:16 02.05.00 +0200, you wrote:
>hmmm... aber ist diese loesung nun "schonender"?
>Immerhin brauchst du nach diesem prinzip 1000 x 1000
>= 1.000.000 sql abfragen. (Bei angenommenen 1000 produkten)
>Wenn ich 50 bestellnummern pro user abspeichere, durchlaufe
>ich die tabelle der user 1000 mal (fuer jedes produkt nur einmal).
>Habe allerdings den etwas hoeheren php aufwand, da ich alle 50
>produkte Y pro user, der produkt A gekauft hat, in das array
>produkte[A,Y] addieren muss. Und das halt 1000 mal.
>Oder ich mache mir noch mehr php-aufwand und durchlaufe die user tabelle
>nur ein einziges mal und adde dabei alle produktkombinationen
>auf einmal in das array.
>
>Hmmm... welcher weg ist eleganter?
>
>danke,
>wilfried

Hi,

hab leider nicht den ganzen Thread gelesen, aber hier meine Idee:

Du hast deine User Table und die Produkt Table.
Wenn du also die Produkt Infos abrufst arbeitest du in dieser Table, warum 
speicherst du die "Hat auch noch gekauft.." Infos nicht in der Table mit?
Du könntest entweder jeden Neu-Kauf eintragen und dann per PHP die 
häufigsten 3 ermitteln oder du überschreibst jedes mal das gesamte Feld mit 
den 3 häufigsten in der Reinfolge.
Dann hättest du aber nicht die Info falls die "dazu-kauf-Produkte" wechseln.
Also könntest du alle jemals dazu gekauften Produkte eintragen und mit 
einem Wert, der die Häufigkeit des Kaufs angibt, die "Rangliste" managen. 
Du hättest dann kein Produkt doppelt aber dennoch die genaue Rangliste.
Wäre wohl auch die beste Lösung im Speicherplatz- / Aufwands- / 
Genauigkeitverhältnisses.
Die PHP Arbeit teilt sich dann nämlich auf verschiedene Scripts auf und das 
sowieso am meisten aufgerufene Script zum Browsen der Produkte hat den 
kleinsten Anteil, weil es nur liest.

mfg, Hendrik




php::bar PHP Wiki   -   Listenarchive