Shopsystem ShopPilot Shoploesung Diskussionen und Infos zum Shopsystem ShopPilot
Willkommen Gast. Bitte einloggen oder registrieren.
Mai 20, 2012, 01:28:46

Einloggen mit Benutzername, Passwort und Sitzungslänge
Suche:     Erweiterte Suche
5257 Beiträge in 1422 Themen von 333 Mitglieder
Neuestes Mitglied: pje
* Übersicht Hilfe Login Registrieren
+  Diskussionen und Infos zum Shopsystem ShopPilot
|-+  ShopPilot
| |-+  SSP - Shop Server Pages
| | |-+  Ajax Fragen (Moderator: dobra)
| | | |-+  leeren Wert [null] abfangen?
0 Mitglieder und 2 Gäste betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: leeren Wert [null] abfangen?  (Gelesen 1182 mal)
dobra
Global Moderator
Hero Member
*****

Lob: 18
Offline Offline

Beiträge: 1182


WWW
« 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
Code:
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
Code:
  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
Code:
{"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
Code:
{"method":"slidersearch1","id":0,"params":["1.5","5.9","5.5","15","alle","ASC","ARTIKELNAME","",null]}

und ich bekomme die Fehlermeldung
Code:
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
Code:
  my $weiter = $pCall->{params}[8]; # nächste Seite
  my $limit = 0;
if (lenght($weiter)) {$limit = $weiter;}
oder
Code:
if ($weiter ne "null") {$limit = $weiter;}
oder
Code:
if ($weiter != 0) {$limit = $weiter;}
funktioniert alles nicht und google hat mir auch keine Lösung verraten  Sad

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

dobra
Global Moderator
Hero Member
*****

Lob: 18
Offline Offline

Beiträge: 1182


WWW
« Antwort #1 am: April 04, 2011, 23:12:34 »

dummer Gedankenfehler  Embarrassed

hatte im body-tag
Code:
<body  onload="slider1();">

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

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

dann funktioniert auch
Code:
my $limit = $pCall->{params}[8]; # nächste Seite

und
Code:
... LIMIT $limit,21 ...
in der DB-Abfrage  Smiley
Gespeichert

dobra
Global Moderator
Hero Member
*****

Lob: 18
Offline Offline

Beiträge: 1182


WWW
« 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

Code:
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  Wink )
Gespeichert

Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  

mysitelist Impressum Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS