FX.php und Naviagtion mit Linknext, linkPrevious

Spezielle Fragen zu FileMaker Unlimited, Webhosting, CDML, FX.php, Lasso und verwandte Themen
Forumsregeln
Sie befinden sich im Archivforum! Sie können hier alte Beiträge lesen und vorhandene Diksussionen ergänzen.
Neue Diskussionen können Sie in diesem Archiv nicht erstellen!

FX.php und Naviagtion mit Linknext, linkPrevious

Beitragvon EJOH » Mo 12. Mai 2003, 14:01

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.
Nachrichtensymbol: Bild
FileMaker Client Version: FM Client 5.5
FileMaker Server Version: FM Server 5.5

Hi,
ich habe schon alle mit vorliegen Unterlagen nachgeschaut aber bin noch nicht schlauer:

Hiermit suche ich Datensätze entweder nach Catalog_Number oder Description:
___________________________________________ Suche START
<?php
session_start();
include("../../library.php"); // LEVEL 2
include("../../FX.php");
include("../../config.php");


$FMQuery = new FX($serverIP,$serverPORT);

$FMQuery->SetDBData('FTTeile.fp5','WWW_Lookup_Lst',10);
$FMQuery->SetDBUser($_SESSION['SessLogInName']); // nur in FX_PHP von Bernhard verfügbar
$FMQuery->SetDBPassword($_SESSION['SessPW']); // Parameter, die in SicherheitsDB eingetragen sind
$FMQuery->FMSkipRecords ($skip);
$FMQuery->AddDBParam('Catalog_Number',$_REQUEST['Catalog_Number'],'eq');
$FMQuery->AddSortParam('Description','ascend');
$FMQuery->AddDBParam('Description',$_REQUEST['Description'],'bw');

$aResult=$FMQuery->FMFind();
_______________________________________Suche ENDE

hier kommt Listenausgabe ......
_______________________________________Nav START

echo "Total found ".$aResult[foundCount]." Dataset(s)";
if ($aResult["linkNext"])
{
echo "<a href=\"".$aResult["linkNext"]."\"><b>Weiter >>b></a>";
}
if ($aResult["linkPrevious"])
{
echo "<a href=\"".$aResult["linkPrevious"]."\"><b><<Zurück</b></a>";
}
_______________________________________Nav ENDE

Folgt man nun dem "Weiter >>" finden sich keine Datensätze (ist auch kein Wunder, denn der mit "define(DEBUG,1) gezeigte FM Link enthält auch keine Parameter. Warum? Wie kann ich mir die Arbeitsweise genau vorstellen??

Vielen Dank!

Eckart

EJOH
 
Beiträge: 42
Registriert: Do 20. Mär 2003, 01:00
Wohnort: Detmold

Antwort

Beitragvon schube » Di 13. Mai 2003, 18:44

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.
Nachrichtensymbol: Bild

Hi!


Frage? Wie werden die die Parameter übergeben? Also zB der Wert für $skip????

Wenn Du nämlich eine FORM verwendest muß Du, wenn Du LinkNext/LinkPrevious verwendest als METHOD GET verwenden (und nicht POST).

Wenn POST, dann mußt Du Dir selbst was basteln....


CU,
Bernhard
Dipl-Ing. (FH) Bernhard Schulz,
Geschäftsführer von http://www.schubec.com
Leiter des FileMakerProfis-Team
FileMaker Schulungen unter http://www.fm-training.info
Benutzeravatar
schube
Administrator
 
Beiträge: 2324
Registriert: Mi 7. Jul 2010, 15:59
Wohnort: Salzburg, Österreich

Antwort

Beitragvon EJOH » Mi 14. Mai 2003, 08:55

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.
Nachrichtensymbol: Bild

Hallo Bernhard,

klar, das war´s natürlich wieder! Man kommt einfach zu leicht durcheinander!

Gruss Eckart
EJOH
 
Beiträge: 42
Registriert: Do 20. Mär 2003, 01:00
Wohnort: Detmold

Antwort

Beitragvon klausopper » Di 13. Jan 2004, 10:38

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.
Nachrichtensymbol: Bild

Hi,
ich habe ein ganz ähnliches Problem.
Habe ich wie folgt definiert:
$FMQuery->FMSkipRecords ($skip);
$aResult=$FMQuery->FMFindAll();
Funktioniert der "Weiter"-Button.
Beschränke ich mich auf meine Suche
$FMQuery->FMSkipRecords ($skip);
$aResult=$FMQuery->FMFind();
finden sich dann keine Datensätze mehr? :-(
Klaus Opper
klausopper
 
Beiträge: 5
Registriert: Do 30. Okt 2003, 01:00
Wohnort: Bonn

Antwort

Beitragvon Anonymous » Di 13. Jan 2004, 10:50

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.

Hi Klaus, probier mal das hier: (Doppelpkt steht für anderen Code)
:
:
// -----------------------------------------------------------------------------------
$skip=20;$groupsize=20;
if ($HTTP_GET_VARS['skip']=="")
{
$aktuellUG=1;
$aktuellOG=$aktuellUG+$skip-1;
}
else
{
$aktuellUG=$HTTP_GET_VARS['skip']+1;
$aktuellOG=$aktuellUG+$skip-1;
}


// -----------------------------------------------------------------------------------
:
:
// -----------------------------------------------------------------------------------

$FMQuery = new FX($serverIP,$serverPORT);
$FMQuery->SetDBData('Rueckstand_WDZ.fp5','www_list',$groupsize);
$FMQuery->SetDBUser($_SESSION['SessLogInName']);
$FMQuery->SetDBPassword($_SESSION['SessPW']);
$FMQuery->FMSkipRecords ($HTTP_GET_VARS['skip']);
:
$aResult=$FMQuery->FMFind();
:
:
// die Konstanten wie z.B. cBEGIN enthalten sprachabhängig die Texte
echo "<table width=\"75%\" border=\"0\" bordercolor=\"#000000\">";
echo "<COLGROUP>";
echo " <COL width=\"28%\">";
echo " <COL width=\"18%\">";
echo " <COL width=\"18%\">";
echo " <COL width=\"18%\">";
echo " <COL width=\"18%\">";
echo "</COLGROUP>";
echo " <tr>";
echo " <td>";
echo " Total found ".$aResult[foundCount]." Dataset(s) - "; echo $aktuellUG." to ".$aktuellOG;
echo " </td>";
//
if ( ($HTTP_GET_VARS['skip']!="") and ($HTTP_GET_VARS['skip']!=0) )
{
$Teil1a=substr($aResult["linkPrevious"],0,strpos($aResult["linkPrevious"],"skip="));
$Teil2a="skip=0";
$Teil3a=strstr($aResult["linkPrevious"],"&-op=");
$urlAnfang = $Teil1a.$Teil2a.$Teil3a;
echo " <td align=\"center\">";
echo "<a href=\"".$urlAnfang."\"><b>&lt;&lt; ".cBEGIN."</b></a>";
echo " </td>";
}
else
{
echo " <td>";
echo "&nbsp;";
echo " </td>";
}
//
if ($aResult["linkPrevious"])
{
$Teil1p=str_replace("&SortDir=".$_SESSION['SortDir'],"",$aResult["linkPrevious"]);
echo " <td align=\"center\">";
//echo "<a href=\"".$aResult["linkPrevious"]."\"><b>&lt;&lt; ".cPREV."</b></a>";
echo "<a href=\"".$Teil1p."\"><b>&lt;&lt; ".cPREV."</b></a>";
echo " </td>";
}
else
{
echo " <td>";
echo "&nbsp;";
echo " </td>";
}
//
if ($aResult["linkNext"])
{
$Teil1n=str_replace("&SortDir=".$_SESSION['SortDir'],"",$aResult["linkNext"]);
echo " <td align=\"center\">";
//echo "<a href=\"".$aResult["linkNext"]."\"><b>".cNEXT." &gt;&gt;</b></a>";
echo "<a href=\"".$Teil1n."\"><b>".cNEXT." &gt;&gt;</b></a>";
echo " </td>";
}
else
{
echo " <td>";
echo "&nbsp;";
echo " </td>";
}
//
if ($aResult[foundCount]!=$aktuellOG)
{
$Teil1b=substr($aResult["linkNext"],0,strpos($aResult["linkNext"],"skip="));
$EndWert = $aResult[foundCount]-$groupsize;
$Teil2b="skip=".$EndWert;
$Teil3b=strstr($aResult["linkNext"],"&-op=");
$urlEnde = $Teil1b.$Teil2b.$Teil3b;
echo " <td align=\"center\">";
echo "<a href=\"".$urlEnde."\"><b>".cEND." >></b></a>";
echo " </td>";
}
else
{
echo " <td>";
echo "&nbsp;";
echo " </td>";
}
//
echo " </tr>";
echo "</table>";:
:
Gruss Eckart
Anonymous
 

Antwort

Beitragvon klausopper » Di 13. Jan 2004, 11:17

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.

Vielen Dank lieber Eckart.
Ich glaube dafür reichen meine php-Kenntnisse nicht aus.
Geht den das nicht ein wenig einfacher?
Anbei mal mein Listing:
--------------------------------------------------------------------
$FMQuery = new FX(C_FM_HOST,C_FM_PORT);
$FMQuery->SetDBData("EHAccess.fp5","",10);
$FMQuery->AddDBParam('STsNr', $_REQUEST['STsNr']);
$FMQuery->AddDBParam('ID_EqH', $_REQUEST['ID_EqH']);
$FMQuery->AddDBParam('FirmaAnehmer', $_REQUEST['FirmaAnehmer']);
$FMQuery->AddDBParam('Nachname', $_REQUEST['Nachname']);
$FMQuery->FMSkipRecords ($_REQUEST['skip']);
$aResult=$FMQuery->FMFind();
echo "<pre>";
OpenTable();
if($aResult['foundCount']<1)
{
echo "<h2 align=\"center\">Keine Daten gefunden!</h2>";
}
else
{ //beginn else1
echo "<h2 align=\"center\">Liste </h2>";
echo " <table border=\"1\">";

foreach($aResult['data'] as $record)
{
:
//Ausgabe der gefundenen Datensätze
:
}
echo "</table>";
} //ende else1
echo "</pre>";

echo "<table width=\"80%\" border=\"0\">";
echo "<tr><td width=\"33%\">";
if ($aResult["linkPrevious"])
{
echo "<a href=\"".$aResult["linkPrevious"]."\"><b>&lt;&lt; Zurück</b></a>";
}
echo "</td>";
echo "<td width=\"43%\" align=\"center\">".$aResult[foundCount]." Einträge insgesamt</td>";
echo "<td align=\"right\" width=\"33%\">";
if ($aResult["linkNext"])
{
echo "<a href=\"".$aResult["linkNext"]."\"><b>Weiter &gt;&gt;</b></a>";
}
echo "</td>";
echo "</tr></table>";
CloseTable();
------------------------------------------
Ich hoffe, daß das jetzt nicht stümmperhaft aussieht.
Klaus Opper
klausopper
 
Beiträge: 5
Registriert: Do 30. Okt 2003, 01:00
Wohnort: Bonn

Antwort

Beitragvon Anonymous » Di 13. Jan 2004, 11:38

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.

Klaus,
gibt mir mal Deine EMail Adresse, damit das ganze Hin und Herr ´hier nicht gepostet werden muss.Meine ist : eckart.johannesmeyer@weidmueller.de
Anonymous
 

Antwort

Beitragvon klausopper » Di 13. Jan 2004, 11:58

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.

Vielen Dank lieber Eckart.
Ich glaube dafür reichen meine php-Kenntnisse nicht aus.
Geht den das nicht ein wenig einfacher?
Anbei mal mein Listing:
--------------------------------------------------------------------
$FMQuery = new FX(C_FM_HOST,C_FM_PORT);
$FMQuery->SetDBData("EHAccess.fp5","",10);
$FMQuery->AddDBParam('STsNr', $_REQUEST['STsNr']);
$FMQuery->AddDBParam('ID_EqH', $_REQUEST['ID_EqH']);
$FMQuery->AddDBParam('FirmaAnehmer', $_REQUEST['FirmaAnehmer']);
$FMQuery->AddDBParam('Nachname', $_REQUEST['Nachname']);
$FMQuery->FMSkipRecords ($_REQUEST['skip']);
$aResult=$FMQuery->FMFind();
echo "<pre>";
OpenTable();
if($aResult['foundCount']<1)
{
echo "<h2 align=\"center\">Keine Daten gefunden!</h2>";
}
else
{ //beginn else1
echo "<h2 align=\"center\">Liste </h2>";
echo " <table border=\"1\">";

foreach($aResult['data'] as $record)
{
:
//Ausgabe der gefundenen Datensätze
:
}
echo "</table>";
} //ende else1
echo "</pre>";

echo "<table width=\"80%\" border=\"0\">";
echo "<tr><td width=\"33%\">";
if ($aResult["linkPrevious"])
{
echo "<a href=\"".$aResult["linkPrevious"]."\"><b>&lt;&lt; Zurück</b></a>";
}
echo "</td>";
echo "<td width=\"43%\" align=\"center\">".$aResult[foundCount]." Einträge insgesamt</td>";
echo "<td align=\"right\" width=\"33%\">";
if ($aResult["linkNext"])
{
echo "<a href=\"".$aResult["linkNext"]."\"><b>Weiter &gt;&gt;</b></a>";
}
echo "</td>";
echo "</tr></table>";
CloseTable();
------------------------------------------
Ich hoffe, daß das jetzt nicht stümmperhaft aussieht.
Klaus Opper
klausopper
 
Beiträge: 5
Registriert: Do 30. Okt 2003, 01:00
Wohnort: Bonn

Antwort

Beitragvon schube » Di 13. Jan 2004, 15:24

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.
Nachrichtensymbol: Bild

Hallo!


Blöde Frage, aber findet Dein -find überhaupt etwas oder geht es nur in Kombination mit -skip nicht?

Bernhard
Dipl-Ing. (FH) Bernhard Schulz,
Geschäftsführer von http://www.schubec.com
Leiter des FileMakerProfis-Team
FileMaker Schulungen unter http://www.fm-training.info
Benutzeravatar
schube
Administrator
 
Beiträge: 2324
Registriert: Mi 7. Jul 2010, 15:59
Wohnort: Salzburg, Österreich

Antwort

Beitragvon klausopper » Mi 14. Jan 2004, 09:46

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.

Hallo Bernhard,
wenn hier jemand blöde Fragne stellt dann bin das doch wohl ich.
Also den ersten Satz Datensätze wird gefunden aber beim Klick auf "Weiter" ist nix mehr in der Liste.
Wenn ich FMFindAll eintrage geht das aber.

Gruß Klaus
Klaus Opper
klausopper
 
Beiträge: 5
Registriert: Do 30. Okt 2003, 01:00
Wohnort: Bonn

Antwort

Beitragvon Anonymous » Mi 14. Jan 2004, 22:05

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.

hallo,

prüfe, ob du eh nicht mit POST überträgst.
weiters, schauen, ob das "skip" richtig mit der URL mitübergeben wird.

überhaupt: kontrolliere mal den "link next", der im html-quelltext ausgegeben wird. da liegt der fehler :-)

schönen abend noch
Anonymous
 

Antwort

Beitragvon schube » Fr 16. Jan 2004, 14:30

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.
Nachrichtensymbol: Bild

Hallo!

Ich denke auch, dass das Problem am POST liegt. Einfach stattdessen "GET" verwenden und fertig.

Bernhard
Dipl-Ing. (FH) Bernhard Schulz,
Geschäftsführer von http://www.schubec.com
Leiter des FileMakerProfis-Team
FileMaker Schulungen unter http://www.fm-training.info
Benutzeravatar
schube
Administrator
 
Beiträge: 2324
Registriert: Mi 7. Jul 2010, 15:59
Wohnort: Salzburg, Österreich


Zurück zu FM & Internet