Autor Thema: readSQLData - ssp::get_var_db  (Gelesen 6070 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
readSQLData - ssp::get_var_db
« am: Oktober 04, 2007, 22:07:16 »
Hallo,

Mit
         my $count = ssp::readSQLData("SELECT DISTINCT ITEMID, ... FROM PY2_ITEM WHERE (... LIKE'%$xy%') ...)","ITEMID",...);
if ($count >= 0) {
my $i=0;
while ($count > $i) {
my $artikel = ssp::get_var_db("ITEMID",$i);
...
kann ich mit ssp::get_var_db jede Position auslesen.

Wenn ich DB-Abfrage aber mit
my $count = ssp::readSQLData("SELECT DISTINCT ITEMID, ... FROM PY2_ITEM WHERE MATCH ( ...) AGAINST ('?$xy*' in boolean mode)");mache (ist wesentlich schneller), bekomme ich zwar mit
main::mprint $count;
die Anzahl der gefundenen Daten, aber mit   my $artikel = ssp::get_var_db("ITEMID",$i);  wird "nix" (bzw undefined) ausgegeben ??

Ist diese Art der Abfrage nicht mit ssp kompatibel  oder kann ich einen anderen Syntax verwenden, um die Daten auszulesen?
(Die abgefragten Felder sind auf FULLTEXT-Index gesetzt)


Linkback: https://www.shoppilot.net/pf/index.php?topic=958.0
« Letzte Änderung: Oktober 05, 2007, 09:39:29 von dobra »
mfG
dobra

Offline admin

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 545
  • Lob: 10
Re: readSQLData - ssp::get_var_db
« Antwort #1 am: Oktober 05, 2007, 10:16:14 »
Ehrlich gesagt, keine Ahnung habe MATCH AGAINST noch nie benutzt (ist auch imho kein Standard SQL, sondern MySQL spezfisch).
Aber ich vermute dass die Abfrage keine Ergebnisse liefert.
Ich würde die Abfrage also zunächst mal ohne SSP testen, um zu sehen was rauskommt.
Wenn was rauskommt, kann man es auch per get_var_db() auslesen.

Gruss hop

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Re: readSQLData - ssp::get_var_db
« Antwort #2 am: Oktober 05, 2007, 11:08:50 »
ohne ssp bekomme ich "-1" - also Fehler (heißt wohl, ich habe es falsch gemacht)

Habe aber herausgefunden, daß ich nur bei  .....AGAINST ('?$xy*' in boolean mode)","ITEMID",...);  anhängen muß, damit ich die Werte mit ssp::get_var_db auslesen kann.

bringt aber nichts - ist jetzt fast genauso langsam wie mit der ursprünglichen Abfrage -  und damit habe ich wesentlich mehr und bessere =genauere Möglichkeiten

bedeutet also (glaube ich zumindest) nicht die die SQL abfrage ist zu langsam, sondern der Seitenaufbau bei vielen gefundenen Artikeln?
werden wenige Artikel gefunden, geht's blitzschnell
« Letzte Änderung: Oktober 05, 2007, 13:08:49 von dobra »

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Re: readSQLData - ssp::get_var_db
« Antwort #3 am: Oktober 05, 2007, 13:08:21 »
Nachtrag: die Lösung -> weitere Seiten (127 Treffer aber nur 10 angezeigt und die Abfragegeschwindigkeit ist kein Thema mehr)
werde mich da heute Abend drüber stürzen   ;)
wie ich das umsetzen kann, werde ich vielleicht auch alleine herausfinden, aber mit ein bißchen Hilfe (  ::) ) ginge es sicher viel schneller....

erster Versuch:

gelöscht - das war der falsche Ansatz

(ein ganz kleiner Tipp würde mir viele, viele Fehlversuche ersparen.........)

neuer Versuch:  ... auch gelöscht

EDIT: erledigt - Lösung (wenn auch keine optimale) auch ohne Hilfe gefunden
« Letzte Änderung: Oktober 06, 2007, 19:00:02 von dobra »


xx
Artikel von bestimmter Seite per ssp::readSQLData auslesen

Begonnen von dobra

12 Antworten
10982 Aufrufe
Letzter Beitrag Juni 05, 2007, 11:36:46
von dobra