Variablen übergeben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Variablen übergeben

    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

    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++;
                                                            }

                                    }
                    }

    ?>
    <!-- text ende -->
    </p>




    <td width=15>&nbsp;</td>
    </tr>

    </table>

    </body>
    </html>
    Zuletzt geändert von macros2k; 02.03.2006, 10:47.

  • #2
    Bitte [php]-Tags benutzen, und dabei Umbrechen überlanger Zeilen nicht vergessen - wie in den Regeln nachzulesen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      hallo,
      wenn ich das jetzt richtig verstanden habe liegt dein problem einzig und allein darin das du die variablen nicht von seite eins auf seite zwei bekommst? wenn dies so richtig ist würde ich folgende unelegante lösungen vorschlagen:

      - übergebe die variablen in ein formular mit type hidden:

      z.B.

      html view:
      PHP-Code:
      <input id="edit" type="hidden" name="edit" size="30" maxlength="30" value="12356" /> 
      php view:
      PHP-Code:
      " ..."value=\"$art_ean\" />\n" . .... . 
      - evtl. als GET oder POST anhaengen ?!
      Zuletzt geändert von Bugbuster; 02.03.2006, 10:39.
      tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
      documentation: php.net mysql.com framework.zend.com

      Die Nachtwache!

      Kommentar


      • #4
        *seufz*
        Was sagte ich bzgl. Umbrüche ...?

        Bitte schleunigst nachholen, sonst wandert der Thread auf den Müll.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          erst mal danke für die antwort.

          ich habe ein formular, das die variablen an die von mir im code dargestellte seite übergibt und auch ausgibt. da ich aber noch eine 3. suchoption habe die beide tabellen mitenander verbindet möchte ich, das durch eine weiterleitung auf eine 3. seite die variablen noch mal übergeben werden, dann wäre mein problem gelößt. schöner wäre es allesding wenn ich die 3. suchoption in die dargestellte seite einbinden könnte. ich bekomms ebenfall nur nicht hin.

          sorry admin
          Zuletzt geändert von macros2k; 02.03.2006, 10:48.

          Kommentar


          • #6
            kann mir niemand sagen, wie man variablen aus einem formular die an eine nächste seite übergeben werden, von dort bei nicht erfüllung einer bedingung an eine weitere seite weitergibt?

            Kommentar


            • #7
              http://learn.to/cooldown

              POST
              GET
              SESSION
              COOKIE

              Das sind die Möglichkeiten im Wesentlichen.

              Kommentar


              • #8
                Original geschrieben von macros2k
                kann mir niemand sagen, wie man variablen aus einem formular die an eine nächste seite übergeben werden, von dort bei nicht erfüllung einer bedingung an eine weitere seite weitergibt?
                über mehrere Seiten hinweg bietet sich SESSION an.

                Kommentar

                Lädt...
                X