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

FileMaker Client Version: FM Client 8.0
FileMaker Server Version: FM Advanced Server 7.0
Hallo liebe Tüftler,
ich möchte dem Benutzer gerne ermöglichen eine Datenbankabfrage zu starten, bei der er bestimmte Daten (eine Kategorie) eines Datenbankfeldes angezeigt bekommt. Kann ich mit fmandphp durch einen bestimmten Befehl an der richtigen Stelle nicht nur den gesamten Inhalt von Feldern auslesen, sondern auch bestimmte Feldinhalte bzw. Datensätze, deren Inhalte einer Kategorie entsprechen? Kann ich auch mehrere solcher Abfragen miteinander verknüpfen? Also z. B. Die Datensätze mit einem bestimmten Wert in einem Feld und die Datensätze mit bestimmten Postleitzahlen?
Hier ist mein Beispielscript, welches durch den Button auf dem vorangehendn Formular aufgerufen wird:
<?php
if( "nix" == $_POST['kategorie']) {
echo "Sie müssen eine Auswahl treffen";
}
if( "alkohol" == $_POST['kategorie']) {
echo "Sind Sie besoffen oder was?";
}
if( "ehe" == $_POST['kategorie']) {
echo "Wollen Sie Ihren Partner loswerden? Wir haben den passenden Killer für Sie.";
}
if( "erziehung" == $_POST['kategorie']) {
echo "Erziehung ist Erpressung, hat schon meine Grossmutter gesagt.";
}
echo "<p> </p>";
include("./fmandphp.php");
$FM = new FM_and_PHP();
$FM->setFileMakerHost("123.456.7.8","81","7");
$FM->setDatabaseName("beispiel");
$FM->setDatabaseLayout("www");
$FM->setDatabaseUserPassword("X","yz");
$FM->setMaxGroupSize(10);
$FM->setSkip($_REQUEST['skip']);
$FM->setCommand("findall");
$FM->doQuery();
if ( $FM->getErrorNumber() != 0 ) {
echo "EN: The following error occured / DE: Folgender Fehler trat auf: ";
echo $FM->getErrorDescription();
die();
}
while ( $FM->getNextRecord() ) {
echo "<table width='100%' border=0 cellspacing='2' cellpadding='2'>";
echo "<tr>";
echo "<td width='5%'>";
echo $FM->getField("PLZ");
echo "</td>";
echo "<td width='20%'>";
echo $FM->getField("Ort");
echo "</td>";
echo "<td width='25%'>";
echo $FM->getField("Art");
echo "</td>";
echo "<td width='20%'>";
echo $FM->getField("Strasse");
echo "</td>";
echo "<td width='5%'>";
echo $FM->getField("Vorw");
echo "</td>";
echo "<td width='10%'>";
echo $FM->getField("Tel");
echo "</td>";
echo "<td width='15%'>";
echo $FM->getField("Email");
echo "</td>";
echo "</tr>";
echo "</table>";
echo "<hr>";
}
//EN: Display advanced navigationbar
//DE: Erweiterte Navigationsleiste einblenden
echo "<table width='100%' border='1'>";
echo "<tr>";
echo " <td width='10%'>";
echo $FM->getLinkFirst();
echo " </td>";
echo " <td width='10%'>";
echo $FM->getLinkPrevious();
echo " </td>";
echo " <td width='40%' align='center'>";
echo $FM->getListNavigation();
echo " </td>";
echo " <td align='right' width='10%'>";
echo $FM->getLinkNext();
echo " </td>";
echo " <td align='right' width='10%'>";
echo $FM->getLinkLast();
echo " </td>";
echo "</tr>";
echo "<tr>";
echo " <td align='center' colspan='5'>";
//EN: Display how many records were found by the current query.
//DE: Angeben, wie viele Datensätze durch die aktuelle Abfrage gefunden wurden
echo $FM->getFoundCount()." records found / Datensätze gefunden";
echo " </td>";
echo "</tr>";
echo "</table>";
?>
<html>
<head>
<title>Test 9</title>
<meta name="author" content="Hannah">
<link href="db.css" rel="stylesheet"></link>
</head>
<body>
</body>
</html>
Die ganze Include-Sache müsste natürlich auch an eine Bedingung, je nach Option, geknüpft werden, also irgendwo hinter einem der "ifs" stehen. An welcher Stelle müsste ich den Feldinhalt definieren? Oben bei include oder in der while-Schleife? Wie würde der Befehl heißen?
Wenn mir jemand Tipps geben kann, oder gar weiß, wie es geht, wäre toll! Falls es nicht möglich ist, wäre ich über eine definitive Antwort auch sehr erfreut, dann muss ich wenigstens nicht länger in dieser Richtung rätseln.
Verzeiht mir meine Unwissenheit, bin noch Anfänger
Viele Grüße
Hannah





