API_DoQuery: How do I code where a field value is one of a series ?

  • 0
  • 1
  • Question
  • Updated 1 year ago
  • Answered

 E.g. query={6.EX.1 OR 3 OR 7 OR 24 OR 2}.

In SQL - select * from xyz where [6] in (1,3,7,24,2)


Photo of Michael

Michael

  • 0 Points

Posted 4 years ago

  • 0
  • 1
Photo of Ⲇanom the ultimate (Dan Diebolt)

Ⲇanom the ultimate (Dan Diebolt), Champion

  • 30,264 Points 20k badge 2x thumb
Like this:

{6.EX.1}OR{6.EX.3}OR{6.EX.7}OR{6.EX.24}OR{6.EX.2}
Photo of Michael

Michael

  • 0 Points
Thanks. I was hoping there was something similar to the HAS/XHAS list, but OR'ing.
Photo of Alvaro Guerrero

Alvaro Guerrero

  • 0 Points
Hi Dan,

I'm testing the API_DoQuery with the following code and I'm not getting any result. Could you help me?

var promise = $.get(dbidcalendar, {

act: "API_DoQuery",

          query: "{3.EX.178}",

          clist: "3"

});

$.when(promise).then(function(xml){

var recordid = $("rid", xml).text();

});


I use something similar for API_AddRecord and API_EditRecord and it works very well. The APP does not have APPTOKEN
Photo of Ⲇanom the ultimate (Dan Diebolt)

Ⲇanom the ultimate (Dan Diebolt), Champion

  • 30,264 Points 20k badge 2x thumb
log the xml response:

console.dirxml(xml);

this will reveal the tag for the record is <record_id_> not <rid>
Photo of Carlos

Carlos

  • 836 Points 500 badge 2x thumb
Dan,
is there a way to not use the field name, but use the field ID instead?
from: $("record_id_", xml).text();
to:      $('fid_3', xml).text();
Photo of Ⲇanom the ultimate (Dan Diebolt)

Ⲇanom the ultimate (Dan Diebolt), Champion

  • 30,264 Points 20k badge 2x thumb
You have to request "structured xml" like this:

$.get(dbidcalendar, {
  act: "API_DoQuery",
  query: "{3.EX.178}",
  clist: "3.6.7.8",
  fmt: "structured"
}).then(function(xml) {
  console.dirxml(xml);
  var fid6 = $("f[id=6]", xml).text();
  var fid7 = $("f[id=7]", xml).text();
  var fid8 = $("f[id=8]", xml).text();
});

Note your query will always contain just one record  so you can shorten the selectors to just asking for those nodes where the <f> element has an id attribute or 6, 7 or 8 respectively.
(Edited)
Photo of Alvaro Guerrero

Alvaro Guerrero

  • 0 Points
Awesome. Thanks Dan.