[SQL allgemein] Variablen übergabe und Between...

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

  • [SQL allgemein] Variablen übergabe und Between...

    Hallo zusammen,

    ich habe ein grosses Problem und da ADODB ja nicht alltäglich hier ist, hoffe ich dennoch das mir jemand helfen kann.

    Und zwar werden bei einer sortierung in meinem Script die Sortierung die man ausgewählt hat, nicht beim Blättern mit übernommen... ?!?

    Das eingrenzen einer Anzeige "von bis" funktioniert garnicht...

    Der rest läuft super... ?!?

    PHP-Code:
    <?php

    $datum 
    adodb_date("Y-m-d");

    $db ADONewConnection($db_typ);     
    $db->debug=false;
    $db->PConnect($db_host,$db_user,$db_pass,$db_name);

    if((!
    $start) || ($start 0)) $start 0;
    $end $start 1;

    $contentStr '<html>
                   <head>
            <SCRIPT LANGUAGE="JavaScript">
            <!--//

            function pagejump(to_url) {
                if (to_url != "") {
                window.location=to_url
                }
            }
            //-->
            </SCRIPT>
                   <title>'
    .$page_title.'</title>
               <meta http-equiv="Content-Type" content="text/html; 

    charset=ISO-8859-1">
                   <meta name="author" content="Sven Reichert">'
    ;
    if(
    $page_css != ""$contentStr .= '<link rel="stylesheet" 

    href="'
    .$page_css.'" type="text/css">';
    $contentStr .= '</head><body>';
    $contentStr .= '<table border="0" width="100%" cellspacing="1" 

    cellpadding="2">
            <tr bgcolor="#ffffff">
               <td width="40%" align="left">
            <FORM NAME="sort" class="form2"
              

    ONSUBMIT="pagejump(document.forms[0].whereto.options[document.forms[0].whe

    reto.selectedIndex].value);
              return false" method="get">
              <SELECT NAME="sortierung" 

    ONCHANGE="pagejump(this.options[this.selectedIndex].value)">
                <OPTION>'
    .$sortierung.'</OPTION>
                <OPTION value="showdata.php?sort=AD_NAME"> -> '
    .$name.

    </OPTION>
                <OPTION value="showdata.php?sort=AD_MODELL"> -> 

    '
    .$modell.' </OPTION>
                <OPTION value="showdata.php?sort=AD_TERMINDATUM"> -> 

    '
    .$termindatum.' </OPTION>
                <OPTION value="showdata.php?sort=MD_TERMIN1"> -> 

    '
    .$termin1.' </OPTION>
                <OPTION value="showdata.php?sort=MD_TERMIN2"> -> 

    '
    .$termin2.' </OPTION>
                <OPTION value="showdata.php?sort=MD_STATUS"> -> 

    '
    .$status.' </OPTION>
                <OPTION value="showdata.php?sort=MD_TERMIN3"> -> 

    '
    .$termin3.' </OPTION>
                <OPTION value="showdata.php?sort=KT_NAME"> -> 

    '
    .$modell_eingang.' </OPTION>
              </SELECT>
            </FORM></td>
               <td width="60%" align="right" colspan="9"><form 

    name="datum" class="form2" action="'
    .$_SERVER['PHP_SELF'].'" 

    method="post">
               <b>'
    .$von.':</b>&nbsp;<input type="text" name="datum1" 

    value="2004-01-01">&nbsp;<b>'
    .$bis.':</b>&nbsp;<input type="text" 

    name="datum2" value="'
    .$datum.'">&nbsp;<input type="image" 

    src="images/Show.gif" name="submit" alt="anzeigen"></form>


               </td></tr>
                    <tr bgcolor="#666666">
                       <td align="center" width="20%" colspan="2">&nbsp;<a 

    href="showdata.php?sort=AD_NAME"><font 

    color="#ffffff"><b>'
    .$name.'</a></b></font></td>
                       <td align="center" width="10%">&nbsp;<a 

    href="showdata.php?sort=AD_MODELL"><font 

    color="#ffffff"><b>'
    .$modell.'</a></b></font></td>
                       <td align="center" width="10%">&nbsp;<a 

    href="showdata.php?sort=AD_TERMINDATUM"><font 

    color="#ffffff"><b>'
    .$termindatum.'</a></b></font></td>
                       <td align="center" width="10%">&nbsp;<a 

    href="showdata.php?sort=MD_TERMIN1"><font 

    color="#ffffff"><b>'
    .$termin1.'</a></b></font></td>
                       <td align="center" width="10%">&nbsp;<a 

    href="showdata.php?sort=MD_TERMIN2"><font 

    color="#ffffff"><b>'
    .$termin2.'</a></b></font></td>
                       <td align="center" width="10%">&nbsp;<a 

    href="showdata.php?sort=MD_STATUS"><font 

    color="#ffffff"><b>'
    .$status.'</a></b></font></td>
                       <td align="center" width="10%">&nbsp;<a 

    href="showdata.php?sort=MD_TERMIN3"><font 

    color="#ffffff"><b>'
    .$termin3.'</a></b></font></td>
                       <td align="center" width="10%">&nbsp;<a 

    href="showdata.php?sort=KT_NAME"><font 

    color="#ffffff"><b>'
    .$modell_eingang.'</a></b></font></td>
                       <td align="center" width="10%">&nbsp;<font 

    color="#ffffff"><b>&nbsp;'
    .$optionen.'</b></font></td>
                    </tr>'
    ;
    if(!
    $sort$res $db->SelectLimit("SELECT T_MELDUNG.MD_KONTAKT,
                                             T_MELDUNG.MD_TERMIN1,
                                             T_MELDUNG.MD_TERMIN2,
                                             T_MELDUNG.MD_TERMIN3,
                                             T_MELDUNG.MD_MODELL,
                                             T_MELDUNG.MD_AUFTRAG,
                                             T_MELDUNG.MD_STATUS,
                                             T_MELDUNG.MD_FERTIG,
                         T_ADRAKT.AA_NR,
                         T_ADRAKT.AA_KDNR,
                         T_TYPEN.KT_NR,
                         T_TYPEN.KT_NAME,
                         T_ADRESSE.AD_NR,
                         T_ADRESSE.AD_NAME,
                         T_ADRESSE.AD_VORNAME,
                         T_ADRESSE.AD_TERMINDATUM,
                         T_ADRESSE.AD_MODELL
                                            FROM T_MELDUNG, T_ADRAKT, 

    T_TYPEN, T_ADRESSE 
                         WHERE T_MELDUNG.MD_KONTAKT = 

    T_ADRAKT.AA_NR AND T_MELDUNG.MD_MODELL = T_TYPEN.KT_NR AND 

    T_ADRESSE.AD_NR = T_ADRAKT.AA_KDNR ORDER BY 

    T_ADRESSE.AD_NAME"
    ,$end,$start);

    elseif(
    $datum == "$datum1 && $datum2"$res $db->SelectLimit("SELECT 

    T_MELDUNG.MD_KONTAKT,
                                             T_MELDUNG.MD_TERMIN1,
                                             T_MELDUNG.MD_TERMIN2,
                                             T_MELDUNG.MD_TERMIN3,
                                             T_MELDUNG.MD_MODELL,
                                             T_MELDUNG.MD_AUFTRAG,
                                             T_MELDUNG.MD_STATUS,
                                             T_MELDUNG.MD_FERTIG,
                         T_ADRAKT.AA_NR,
                         T_ADRAKT.AA_KDNR,
                         T_TYPEN.KT_NR,
                         T_TYPEN.KT_NAME,
                         T_ADRESSE.AD_NR,
                         T_ADRESSE.AD_NAME,
                         T_ADRESSE.AD_VORNAME,
                         T_ADRESSE.AD_TERMINDATUM,
                         T_ADRESSE.AD_MODELL
                                            FROM T_MELDUNG, T_ADRAKT 

    T_TYPEN, T_ADRESSE 
                         WHERE T_MELDUNG.MD_KONTAKT = 

    T_ADRAKT.AA_NR AND T_MELDUNG.MD_MODELL = T_TYPEN.KT_NR AND 

    T_ADRESSE.AD_NR = T_ADRAKT.AA_KDNR ORDER BY T_ADRESSE.AD_NAME AND 

    T_ADRESSE.AD_TERMINDATUM BETWEEN 
    $datum1 AND $datum2",$end,$start);

    else 
    $res $db->SelectLimit("SELECT 

    T_MELDUNG.MD_KONTAKT,
                                             T_MELDUNG.MD_TERMIN1,
                                             T_MELDUNG.MD_TERMIN2,
                                             T_MELDUNG.MD_TERMIN3,
                                             T_MELDUNG.MD_MODELL,
                                             T_MELDUNG.MD_AUFTRAG,
                                             T_MELDUNG.MD_STATUS,
                                             T_MELDUNG.MD_FERTIG,
                         T_ADRAKT.AA_NR,
                         T_ADRAKT.AA_KDNR,
                         T_TYPEN.KT_NR,
                         T_TYPEN.KT_NAME,
                         T_ADRESSE.AD_NR,
                         T_ADRESSE.AD_NAME,
                         T_ADRESSE.AD_VORNAME,
                         T_ADRESSE.AD_TERMINDATUM,
                         T_ADRESSE.AD_MODELL
                                            FROM T_MELDUNG, T_ADRAKT 

    T_TYPEN, T_ADRESSE 
                         WHERE T_MELDUNG.MD_KONTAKT = 

    T_ADRAKT.AA_NR AND T_MELDUNG.MD_MODELL = T_TYPEN.KT_NR AND 

    T_ADRESSE.AD_NR = T_ADRAKT.AA_KDNR ORDER BY "
    .$sort ,$end,$start);

    while(
    $data $res->FetchNextObject()) {


        
    $contentStr .= '<tr bgcolor="C0C0C0">
                          <td 

    colspan="2">&nbsp;'
    .utf8_encode($data->AD_NAME).', 

    '
    .$data->AD_VORNAME.'</td>
                          

    <td>&nbsp;'
    .$data->AD_MODELL.'<br></td>
                          <td>&nbsp;'
    ;
                          if(
    $data->AD_TERMINDATUM >0$contentStr .= 

    "$data->AD_TERMINDATUM";
                          else 
    $contentStr .= 'N/A';
                          
    $contentStr .= '</td>
                          <td>&nbsp;'
    ;
                          if(
    $data->MD_TERMIN1 >0$contentStr .= 

    "$data->MD_TERMIN1";
                          else 
    $contentStr .= 'N/A';
                          
    $contentStr .= '</td>
                          <td>&nbsp;'
    ;
                          if(
    $data->MD_TERMIN2 >0$contentStr .= 

    "$data->MD_TERMIN2";
                          else 
    $contentStr .= 'N/A';
                          
    $contentStr .= '</td>
                          <td>&nbsp;'
    ;
                          if(
    $data->MD_STATUS == 1$contentStr .= "Ja";
                elseif(
    $data->MD_STATUS == 0$contentStr .= 

    "Nein";
                          
    $contentStr .= '</td>
                          <td>&nbsp;'
    ;
                          if(
    $data->MD_TERMIN3 >0$contentStr .= 

    "$data->MD_TERMIN3";
                          else 
    $contentStr .= 'N/A';
                          
    $contentStr .= '</td>
                          <td>&nbsp;'
    .$data->KT_NAME.'</td>
                          <td align="center">&nbsp;<a 

    href="datachange.php?id='
    .$data->MD_KONTAKT.'"><img src="images/Edit.gif" 

    border="0" alt="Bearbeiten"></a></td>
                        </tr>'
    ;
        }

    $back $start 1;

    //Ausgabe wieviele Zeilen zurück gegeben wurden
    echo $res->RecordCount() . " rows returned\n";

    $contentStr .= '<tr>
                    <td align="left" colspan="9"><a 

    href="showdata.php?start='
    .$back.'"><img src="images/Previous.gif" 

    border="0" alt="zurück"></a>&nbsp;&nbsp;<a 

    href="showdata.php?start='
    .$back.'">zurück</a></td>
                    
                    <td align="right" colspan="9"><a 

    href="showdata.php?start='
    .$end.'">weiter</a>&nbsp;&nbsp;<a 

    href="showdata.php?start='
    .$end.'"><img src="images/Next.gif" border="0" 

    alt="weiter"></a></td>
                    </tr></table></body></html>'
    ;

    echo 
    $contentStr;

    $db->close();
                
    ?>
    -> It`s good to be bad! <-

    http://de.php.net
    http://php-faq.de
    http://www.schattenbaum.net
    http://www.dreamcodes.com

  • #2
    Hat jemand villeicht ne idee oder Hilfe ?

    Wäre echt supi .....

    Danke im Voraus
    -> It`s good to be bad! <-

    http://de.php.net
    http://php-faq.de
    http://www.schattenbaum.net
    http://www.dreamcodes.com

    Kommentar


    • #3
      Hat jemand villeicht ne idee oder Hilfe ?
      glaubst du wirklich, dass sich jemand kilometerlangen code ansieht? tzzzz. ich mache es nicht.
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Und ich dachte immer das es am Sinnvollsten wäre damit alle was damit anfangen können anstatt nur ne Zeile zu posten...

        Hab mich wohl geirrt...
        -> It`s good to be bad! <-

        http://de.php.net
        http://php-faq.de
        http://www.schattenbaum.net
        http://www.dreamcodes.com

        Kommentar


        • #5
          Hallo php-anfaenger!

          Lass Dir doch 'mal den SQL ausgeben und schau' ob der funktioniert.
          Dann weisst Du ob's am SQL oder PHP hängt und Du kannst das
          ganze auf den Punkt bringen.

          Vielleicht ist das ja dann der Punkt:
          ORDER BY T_ADRESSE.AD_NAME AND T_ADRESSE.AD_TERMINDATUM BETWEEN...
          WAS soll hier passieren ????

          Kommentar


          • #6
            Vielen Dank für deine Antwort !

            Habe mir den SQL Befehl nun ausgeben lassen, die passage die du meintest war falsch, das steht fest jedoch übernimmt er wenn ich ein Datum eingebe garnichts... ?!?

            d.h. er nimmt genau diesen SQL erst garnicht an...
            evtl. etwas mit dem Form falsch ?

            Gruss
            -> It`s good to be bad! <-

            http://de.php.net
            http://php-faq.de
            http://www.schattenbaum.net
            http://www.dreamcodes.com

            Kommentar


            • #7
              Hallo!
              Such hier im Forum n'mal nach register_globals
              wenn die Variablen nicht übergeben werden.

              Du solltest auf Variablen mit
              $_POST['datum'] oder $_GET['datum'] zugreifen statt mit $datum.

              Kommentar


              • #8
                Danke Dir,

                das mit Register Globals und den methoden GET und POST
                habe ich soweit, das Problem ist jetzt eigentlich nur noch das er
                wenn ich in beide felder des Forms nen Datum eintrage und auf
                submit klicke nichts macht...

                Also keinen select mit between sondern den ursprünglichen Query aufruft.

                Ne ideee ?
                -> It`s good to be bad! <-

                http://de.php.net
                http://php-faq.de
                http://www.schattenbaum.net
                http://www.dreamcodes.com

                Kommentar


                • #9
                  ich habe deinen Code auch nicht gelesen, aber ich vermute einfach, dass du wahrscheinlich:

                  1. den Sendbutton ausserhalb der Form hast, oder
                  2. nicht mit </form> geschlossen hast



                  was sagt dir
                  print_r($_POST);
                  print_r($_GET);
                  sind die Felder drin?

                  Kommentar


                  • #10
                    Jau, danke Dir !
                    Habe ich überprüft, das form ist ok !

                    Das kuriose was mir aufgefallen ist das ich werte wie
                    *.php?date=x34&y=76 oder ähnlich bekomme ?!?

                    Hört sich fast an wie positionswerte ?!?

                    Keine Ahnung warum.
                    Schaue nachher nochmal genau wenn ich zuhause bin.
                    -> It`s good to be bad! <-

                    http://de.php.net
                    http://php-faq.de
                    http://www.schattenbaum.net
                    http://www.dreamcodes.com

                    Kommentar


                    • #11
                      Das kuriose was mir aufgefallen ist das ich werte wie
                      *.php?date=x34&y=76 oder ähnlich bekomme ?!?

                      Hört sich fast an wie positionswerte ?!?


                      Code:
                      <input type="image" src="images/Show.gif" name="submit" alt="anzeigen">
                      Die Zeit hat ihre Kinder längst gefressen

                      Kommentar


                      • #12
                        Aehm ich benutze bei meinen anderen Forms auch <input type=image...

                        und das funzt tadellos.
                        -> It`s good to be bad! <-

                        http://de.php.net
                        http://php-faq.de
                        http://www.schattenbaum.net
                        http://www.dreamcodes.com

                        Kommentar


                        • #13
                          Original geschrieben von php-anfaenger

                          Das kuriose was mir aufgefallen ist das ich werte wie
                          *.php?date=x34&y=76 oder ähnlich bekomme ?!?

                          Hört sich fast an wie positionswerte ?!?

                          der input type =image liefert als werte immer die position des mausklicks in der grafik.
                          Beantworte nie Threads mit mehr als 15 followups...
                          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                          Kommentar


                          • #14
                            Kann man die ausgabe dieswer werte in der Browserzeile unterdrücken ?

                            oder muss ich an der Stelle mit

                            <input type="submit"...

                            arbeiten ?
                            -> It`s good to be bad! <-

                            http://de.php.net
                            http://php-faq.de
                            http://www.schattenbaum.net
                            http://www.dreamcodes.com

                            Kommentar


                            • #15
                              Kann man die ausgabe dieswer werte in der Browserzeile unterdrücken ?
                              Code:
                              method="post"
                              Die Zeit hat ihre Kinder längst gefressen

                              Kommentar

                              Lädt...
                              X