Autor Thema: leeren Wert [null] abfangen?  (Gelesen 5146 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1337
  • Lob: 18
    • ShopPilot AT
leeren Wert [null] abfangen?
« am: April 04, 2011, 22:46:18 »
Hallo,

bei klick auf ein Image soll ein Wert (im Beispiel 21) übergeben werden

HTML:
<a href="javascript:void()" onclick="slider1(21);"> <img style="border:none;" src="../images/arrow_weiter.gif"></a>

JS
function slider1(xweiter){

 if (-1 != myinterface.search(/__xxpath__\?/)) {
      return;
  }

if (document.getElementById("xmin")) { var min = document.getElementById('xmin').value;}
##div, Variablen auslesen

  var postdata = {
method : 'slidersearch1',
id : 0,
params : [min,max,min2,max2,kat,asdesc,orderby,herst,xweiter]
};

ipl
  my $limit = $pCall->{params}[8]; # nächste Seite
 
  my $count = ssp::readSQLData(qq|SELECT ITEMID, ... FROM $ITEM WHERE ... ORDER BY $orderby $updown LIMIT $limit,21|, "ITEMID",....);

das funktioniert, wenn der Link angeklickt wird

firebug
{"method":"slidersearch1","id":0,"params":["1.5","5.9","5.5","15","alle","ASC","ARTIKELNAME","",21]}
wird die Seite aber aufgerufen OHNE dass dieser Link geklickt wurde, wird "null" übergeben
{"method":"slidersearch1","id":0,"params":["1.5","5.9","5.5","15","alle","ASC","ARTIKELNAME","",null]}
und ich bekomme die Fehlermeldung
DBD::ODBC::st execute failed: [MySQL][ODBC 3.51 Driver][mysqld-5.0.67-community-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '21' at line 1 (SQL-42000)(DBD: st_execute/SQLExecute err=-1) at Ibodata.pm line 1986.

das ist mir soweit auch klar - "null" ist ja keine Zahl und kann daher nicht in einer LIMIT-Bedingung verwendet werden

meine vergeblichen Versuche
  my $weiter = $pCall->{params}[8]; # nächste Seite
  my $limit = 0;
if (lenght($weiter)) {$limit = $weiter;}
oder
if ($weiter ne "null") {$limit = $weiter;}oder
if ($weiter != 0) {$limit = $weiter;}funktioniert alles nicht und google hat mir auch keine Lösung verraten  :(

wie kann ich dieses "null" wenn kein Wert übergeben wird abfragen?

Linkback: http://www.shoppilot.net/pf/ajax-fragen/24/leeren-wert-null-abfangen/1518/
mfG
dobra
______________________________
Betreute Shops:
Barrique Einzelhandel
Barrique Großhandel

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1337
  • Lob: 18
    • ShopPilot AT
ERLEDIGT: leeren Wert [null] abfangen?
« Antwort #1 am: April 04, 2011, 23:12:34 »
dummer Gedankenfehler  :-[

hatte im body-tag
<body  onload="slider1();">
wenn ich Werte mit
<a href="javascript:void()" onclick="slider1(21);">übergeben will, müssen die natürlich auch hier definiert sein!

also im Beispiel
<body  onload="slider1(0);">wenn der Startwert "0" sein soll

dann funktioniert auch
my $limit = $pCall->{params}[8]; # nächste Seite
und
... LIMIT $limit,21 ... in der DB-Abfrage  :)

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1337
  • Lob: 18
    • ShopPilot AT
Re: leeren Wert [null] abfangen?
« Antwort #2 am: April 05, 2011, 08:38:07 »
Nachtrag:

"null" Wert abfragen geht auch - aber NICHT in der ipl-Datei sondern das muss bereits in der js-Datei erfolgen

if (xweiter == null) {var xweiter = 0;}
nur der Vollständigkeit halber
(und für mich zum nachlesen, wenn ich das beim nächsten Projekt wieder vergessen habe  ;) )


xx
Wert in benutzerdefiniertem Feld vorbelegen?

Begonnen von dobra

4 Antworten
4933 Aufrufe
Letzter Beitrag Januar 20, 2007, 16:21:50
von dobra
xx
Leeren Warenkorb nicht anzeigen

Begonnen von Joachim

4 Antworten
4758 Aufrufe
Letzter Beitrag Dezember 07, 2006, 14:09:18
von admin
xx
Direktlink auf Warenkorb/Startseite und leeren Warenkorb sperren ?

Begonnen von Ostfrieslandshop

1 Antworten
3884 Aufrufe
Letzter Beitrag Februar 09, 2004, 12:43:04
von ahe