Schönen guten Morgen,
ich habe folgendes Problem:
ich habe für meine Firma ein Suchformular geschrieben, mit dem man nach Mitarbeitern an unserem Standort, oder nur nach Aussenbüro Mitarbeitern suchen kann. Zusätzlich ist es aber auch möglich, nach Beiden auf einmal zu suchen. Das alles geschieht über ein Select-Feld. Es werden 2 Tabellen angesprochen, einmal interne-Mitarbeiter, einmal Aussenbüros. Die SQL-Abfragen funktionieren einzeln einwandfrei, doch ich bekomme es nicht hin, das alle 3 Select Möglichkeiten in einer Datei funktionieren. Ich habe für die 2 Tabellen einzelne Abfragen die durch eine gewöhnliche IF Anweisung unterschieden weden. das Funktioniert so weit, doch das aussen und intern ausgegeben wird bekomme ich nicht hin. Mit Weiterleitung auf eine andere Seite bei Auswahloption 3 (also wenn 1 und 2 nicht zutreffen) werden die Suchvariablen nicht an die 3. Seite übergeben. Ich suche nach keiner Eleganten Lösung, Hauptsache es funktioniert. Am einfachsten wäre glaube ich die Übergabe der Variablen der 1. Seite an die 2. und falls Suchoption 3, dann auch an die 3. Seite durch Weiterleitung. Ich gehöre noch mehr zu den PHP Anfängern.. Könnte mir da jemand weiterhelfen helfen?
Danke im Vorraus
Quelltext der Such.php:
<?PHP
<!-- text ende -->
</p>
<td width=15> </td>
</tr>
</table>
</body>
</html>
ich habe folgendes Problem:
ich habe für meine Firma ein Suchformular geschrieben, mit dem man nach Mitarbeitern an unserem Standort, oder nur nach Aussenbüro Mitarbeitern suchen kann. Zusätzlich ist es aber auch möglich, nach Beiden auf einmal zu suchen. Das alles geschieht über ein Select-Feld. Es werden 2 Tabellen angesprochen, einmal interne-Mitarbeiter, einmal Aussenbüros. Die SQL-Abfragen funktionieren einzeln einwandfrei, doch ich bekomme es nicht hin, das alle 3 Select Möglichkeiten in einer Datei funktionieren. Ich habe für die 2 Tabellen einzelne Abfragen die durch eine gewöhnliche IF Anweisung unterschieden weden. das Funktioniert so weit, doch das aussen und intern ausgegeben wird bekomme ich nicht hin. Mit Weiterleitung auf eine andere Seite bei Auswahloption 3 (also wenn 1 und 2 nicht zutreffen) werden die Suchvariablen nicht an die 3. Seite übergeben. Ich suche nach keiner Eleganten Lösung, Hauptsache es funktioniert. Am einfachsten wäre glaube ich die Übergabe der Variablen der 1. Seite an die 2. und falls Suchoption 3, dann auch an die 3. Seite durch Weiterleitung. Ich gehöre noch mehr zu den PHP Anfängern.. Könnte mir da jemand weiterhelfen helfen?
Danke im Vorraus
Quelltext der Such.php:
<?PHP
PHP-Code:
<?PHP
$server = "localhost";
$dsn = "";
$dbname = "";
$uid = "";
$pwd = "";
$conn = odbc_connect($dsn,$uid,$pwd) or die ("Fehler beim
Datenbankaufruf.");
$SuchString = $_POST["SuchString"];
$Auswahl = $_POST["Auswahl"];
$SuchWahl = $_POST["SuchWahl"];
echo "<a href=\"/\" name=\"neue suche\">Neue
suche</a><br><br>";
if ($SuchString =="")
{
echo "Sie müssen mind. eine(n) Ziffer oder Buchstaben zur Suche
eingeben!";
odbc_close_all();
}
if ($SuchWahl == "Suchoption 1")
{
$sql = "SELECT Mitarbeiter.gebaeude, Mitarbeiter.mNName,
Mitarbeiter.mVName, Mitarbeiter.Kuadr, Mitarbeiter.mKzchn,
Mitarbeiter.mTelef, Mitarbeiter.mEmail, Mitarbeiter.Kostenstelle,
Mitarbeiter.mOK_KZ from Mitarbeiter WHERE Mitarbeiter.mOK_KZ
<> TRUE AND Mitarbeiter.Geheim <> TRUE ";
if ($_POST["Auswahl"] == "1. Nachname")
{
$sql = $sql."AND Mitarbeiter.mNName LIKE '$SuchString%' ORDER
BY Mitarbeiter.mNName ASC";
}
if ($Auswahl == "2. Kurzzeichen")
{
$sql = $sql."AND Mitarbeiter.mKzchn LIKE '$SuchString%' ORDER BY
Mitarbeiter.mKzchn ASC";
}
if ($Auswahl == "3. Kurzadresse")
{
$sql = $sql."AND Mitarbeiter.Kuadr LIKE '$SuchString%' ORDER BY
Mitarbeiter.Kuadr ASC";
}
if ($Auswahl == "4. Telefonnummer")
{
$sql = $sql."AND Mitarbeiter.mTelef LIKE '$SuchString%' ORDER BY
Mitarbeiter.mTelef ASC";
}
if ($Auswahl == "5. EMail-Adresse")
{
$sql = $sql."AND Mitarbeiter.mEmail LIKE '%$SuchString%' ORDER
BY Mitarbeiter.mEmail ASC";
}
if ($Auswahl == "6. Kostenstelle")
{
$sql = $sql."AND Mitarbeiter.Kostenstelle LIKE '%$SuchString%'
ORDER BY Mitarbeiter.Kostenstelle ASC";
}
if ($Auswahl == "7. Gebäude")
{
$sql = $sql."AND Mitarbeiter.gebaeude LIKE '%$SuchString%'
ORDER BY Mitarbeiter.Kostenstelle ASC";
}
if(($result = odbc_exec($conn, $sql)))
{
$row=1;
$color="#F0F0F0";
?>
<table border="0" style=font-family:verdana;font-size:100%>
<tr bgcolor=#A1B4D9><th><font
color=#FFFFFF>Vorname</font></th><th><font
color=#FFFFFF>Nachname</font></th><th><font
color=#FFFFFF>Kurzadr.</font></th><th><font
color=#FFFFFF>Kurzz.</font></th><th><font
color=#FFFFFF>Telefon</font></th><th><font
color=#FFFFFF>KST.</font></th>
<th><font color=#FFFFFF>Email</font></th>
<th><font color=#FFFFFF>[+]</font></th></tr>
<?
while(odbc_fetch_row($result, $row))
{
?><tr bgcolor=<?=$color?> >
<td><?echo odbc_result($result, "mVName");?></td>
<td><?echo odbc_result($result, "mNName");?></td>
<td><?echo odbc_result($result, "Kuadr");?></td>
<td><?echo odbc_result($result, "mKzchn");?></td>
<td><?echo odbc_result($result, "mTelef");?></td>
<td><?echo odbc_result($result, "Kostenstelle");?></td>
<?$mail = odbc_result($result, "mEmail");?>
<td><p><a href=mailto:<?=$mail ?>><?=$mail ?></a></td>
<?$url = odbc_result($result, "gebaeude");?>
<td><p><a onmousedown="window.open('<?=$url
?>','decoding','toolbar=0,location=0,directories=0,status=0,
menubar=0,scrollbars=1,resizeable=1,width=850,height=650')"
href="#"><img src="plan.gif" border="0"></a></p></td>
<?
if(bcmod($row,2)==0)
{
$color="#F0F0F0";
}
else
{
$color="#FFFFFF";
}
?>
</tr><?
$row++;
}
}
}
?>
</table>
</body>
<?
if ($SuchWahl == "Suchoption 2")
{
$sql = "SELECT AussenbueroDeutschland.kFirma,
AussenbueroDeutschland.mOK_KZ,
AussenbueroDeutschland.kName1,
AussenbueroDeutschland.kKurzzeichen,
AussenbueroDeutschland.kKuWah, AussenbueroDeutschland.kAbt,
AussenbueroDeutschland.kKst, AussenbueroDeutschland.kEMail,
AussenbueroDeutschland.HauptansprTelefon,
AussenbueroDeutschland.HauptansprFax FROM
AussenbueroDeutschland WHERE
AussenbueroDeutschland.mOK_KZ <>TRUE ";
if ($_POST["Auswahl"] == "1. Nachname")
{
$sql = $sql."AND AussenbueroDeutschland.kName1 LIKE
'$SuchString%' ORDER BY AussenbueroDeutschland.kName1 ASC";
}
if ($Auswahl == "2. Kurzzeichen")
{
$sql = $sql."AND AussenbueroDeutschland.kKurzzeichen
LIKE '$SuchString%' ORDER BY
AussenbueroDeutschland.kKurzzeichen ASC";
}
if ($Auswahl == "3. Kurzadresse")
{
$sql = $sql."AND AussenbueroDeutschland.kAbt LIKE
'$SuchString%' ORDER BY AussenbueroDeutschland.kAbt ASC";
}
if ($Auswahl == "4. Telefonnummer")
{
$sql = $sql."AND AussenbueroDeutschland.kKuWah LIKE
'$SuchString%' ORDER BY AussenbueroDeutschland.kKuWah ASC";
}
if ($Auswahl == "5. EMail-Adresse")
{
$sql = $sql."AND AussenbueroDeutschland.kEMail LIKE
'%$SuchString%' ORDER BY AussenbueroDeutschland.kEMail ASC";
}
if ($Auswahl == "6. Kostenstelle")
{
$sql = $sql."AND AussenbueroDeutschland.kKst LIKE
'%$SuchString%' ORDER BY AussenbueroDeutschland.kKst ASC";
}
if ($Auswahl == "7. Gebäude")
{
$sql = $sql."AND AussenbueroDeutschland.gebaeude
LIKE '%$SuchString%' ORDER BY
AussenbueroDeutschland.Kostenstelle ASC";
}
if ($Auswahl == "8. Aussenbüro")
{
$sql = $sql."AND AussenbueroDeutschland.kFirma LIKE
'SAMSON $SuchString%' ORDER BY AussenbueroDeutschland.kFirma
ASC";
}
if(($result = odbc_exec($conn, $sql)))
{
$row=1;
$color="#F0F0F0";
?>
<table border="0" style=font-family:verdana;font-size:70%>
<tr bgcolor=#A1B4D9><th><font
color=#FFFFFF>Aussenbüro</font></th><th><font
color=#FFFFFF>Name</font></th><th><font
color=#FFFFFF>Kurzz.</font></th><th><font
color=#FFFFFF>Kurzwahl</font></th><th><font
color=#FFFFFF>Kurzadr.</font></th><th><font
color=#FFFFFF>KST.</font></th><th><font
color=#FFFFFF>EMail.</font></th><th><font
color=#FFFFFF>Hauptanspr.Tel.</font></th><th><font
color=#FFFFFF>Hauptanspr.Fax</font></th></tr>
<?
while(odbc_fetch_row($result, $row))
{
?><tr bgcolor=<?=$color?>>
<td><?echo odbc_result($result,
"kFirma");?></td>
<td><?echo odbc_result($result,
"kName1");?></td>
<td><?echo odbc_result($result,
"kKurzzeichen");?></td>
<td><?echo odbc_result($result,
"kKuWah");?></td>
<td><?echo odbc_result($result,
"kAbt");?></td>
<td><?echo odbc_result($result,
"kKst");?></td>
<td><?echo odbc_result($result,
"kEMail");?></td>
<td><?echo odbc_result($result,
"HauptansprTelefon");?></td>
<td><?echo odbc_result($result,
"HauptansprFax");?></td>
</tr><?
if(bcmod($row,2)==0)
{
$color="#F0F0F0";
}
else
{
$color="#FFFFFF";
}
$row++;
}
}
}
?>
</p>
<td width=15> </td>
</tr>
</table>
</body>
</html>
Kommentar