Suchabfrage Anfänger

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    folgende Fehlermeldung erscheint:

    $_POST:

    Fatal error: Call to unsupported or undefined function print_r() in /home/strato/www/ho/www.hotel-gastronomiefuehrer-baden-elsass.de/htdocs/easy_classifieds/script/search.php3 on line 17

    PHP Code:
    <?

    include("config.php3");
    include("db_connect.php3");

    // Löschen von alten Anzeigen

    // include("expire.php3");

    // Datenbank auslesen

    echo '$_POST:<br />';

    print_r($_POST);

    echo '<hr />$HTTP_POST_VARS:<br />';

    print_r($HTTP_POST_VARS);

    $where='';

    if (isset($_POST['anz_plz']))

       $where.="anz_plz='".$_POST['anz_plz']."' AND ";

    if (isset($_POST['anz_ort']))

       $where.="anz_ort='".$_POST['anz_ort']."' AND ";

    if (isset($_POST['anz_kategorie']))

       $where.="anz_kategorie='".$_POST['anz_kategorie']."' AND ";

    if (isset($_POST['anz_preiskat']))

       $where.="anz_preiskat='".$_POST['anz_preiskat']."' AND ";

    if (isset($_POST['anz_livemusik']))

       $where.="anz_livemusik='".$_POST['anz_livemusik']."' AND ";

    if (isset($_POST['anz_kueche']))

       $where.="anz_kueche='".$_POST['anz_kueche']."' AND ";

    if (isset($_POST['anz_freizeit']))

       $where.="anz_freizeit='".$_POST['anz_freizeit']."' AND ";

    if (isset($_POST['anz_rubrik']))

       $where.="anz_rubrik='".$_POST['anz_rubrik']."' AND ";

    $where=substr($where,0,strlen($where)-4);

    $abfrage="SELECT * FROM anzeigen WHERE $where ORDER BY anz_datum DESC";


    $ergebnis=mysql_query($abfrage) or die(mysql_error());





    // Ergebnisse ausgeben

    echo "<html>";
    echo "<head>";
    echo "<base target=Hauptteil>";
    echo "</head>";
    echo "<body text=#000000>";
    echo "<center>";
    echo "<table border=0 cellspacing=1 width=550 bordercolor=#000000>";
    echo "<tr><p><font size=-2 color=#000000 face=verdana><b>Hier finden Sie eine Liste mit Ihren Präferenzen.<br>";
    echo "Zur Detailansicht auf mehr... klicken !</font></p></tr>";
    echo "<tr>";
            echo "<td align=center bgcolor=#C0C0C0><b><font color=#FFFFFF face=verdana size=+0>Datum</b></font></td>";
            echo "<td align=center bgcolor=#C0C0C0><b><font color=#FFFFFF face=verdana size=+0>Name</b></font></td>";
            echo "<td align=center bgcolor=#C0C0C0><b><font color=#FFFFFF face=verdana size=+0>Kategorie</b></font></td>";
            echo "<td align=center bgcolor=#C0C0C0><b><font color=#FFFFFF face=verdana size=+0>Kontakt</b></font></td>";
            echo "<td align=center bgcolor=#C0C0C0><b><font color=#FFFFFF face=verdana size=+0>Details</b></font></td>";
    echo "</tr>";

    while(list($anz_datum,$anz_name,$anz_inhaber,$anz_strasse,$anz_plz,$anz_ort,$anz_land,$anz_staat,$anz_email,$anz_page,$anz_link,$anz_tel,$anz_fax,$anz_partner,$anz_kategorie,$anz_offen,$anz_preiskat,$anz_livemusik,$anz_stil,$anz_kredkarte,$anz_lieferservice,$anz_kueche,$anz_spezial,$anz_rubrik,$anz_freizeit,$anz_text,$anz_chiff)=mysql_fetch_row($ergebnis)) {
    if ($anz_datum){
              ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $anz_datum, $dat);
    }
    echo "<tr align=center>";
            echo "<td align=center><font color=#000000 face=verdana size=-2>".$dat[3].".".$dat[2].".".$dat[1]."</font></td>";
            echo "<td align=center><font color=#000000 face=verdana size=-2>$anz_name</font></td>";
            echo "<td align=center><font color=#000000 face=verdana size=-2>$anz_kategorie</font></td>";
            echo "<td align=center><a href='../script/reply.php3?anz_chiff=$anz_chiff&anz_name=$anz_name' target=details ONCLICK=window.open('','details','scrollbars=yes,width=600,height=480')><img src=../image/mail.gif width=17 height=14 border=0></a></td>";
            echo "<td align=center><font color=#000000 face=verdana size=-2><a href='../script/detail.php3?anz_name=$anz_name&anz_chiff=$anz_chiff' target=details ONCLICK=window.open('','details','scrollbars=yes,width=600,height=480')>mehr ...</a></font></td>";
    echo "</tr>";
    }
    echo "<tr><td><br><br><input type=button value=zurück onClick=history.back()></td></tr>";
    echo "</table><br><br>";
    echo "</center>";
    echo "</body>";
    echo "</html>";

    // Datenbank schliessen

    mysql_close( $link );

    ?>

    Comment


    • #17
      Was für eine PHP-Version hast du denn?

      print_r gibt's ab Version 4!

      probier mal statt print_r var_dump vielleicht hast du damit mehr erfolg
      EDIT:
      musst wahrscheinlich $HTTP_POST_VARS statt $_POST verwenden, da $_POST erst ab Version 4.1.0 vorhanden is.
      Da du aber anscheinen ein PHP der Version 3.x hast...

      Last edited by mrhappiness; 17-02-2003, 21:51.
      Ich denke, also bin ich. - Einige sind trotzdem...

      Comment


      • #18
        $_POST:
        string(0) "" $HTTP_POST_VARS:
        array(8) { string(3) "plz" string(5) "77855" string(3) "ort" string(0) "" string(9) "kategorie" string(12) "keine Angabe" string(8) "preiskat" string(12) "keine Angabe" string(6) "kueche" string(0) "" string(8) "freizeit" array(1) { int(0) string(12) "keine Angabe" } string(6) "rubrik" array(1) { int(0) string(12) "keine Angabe" } string(14) "Schaltflächen1" string(6) "Suchen" } You have an error in your SQL syntax near 'ORDER BY anz_datum DESC' at line 1

        Comment


        • #19
          Habe den Sytax abgeändert mit hochkomma in: '$where'

          $abfrage="SELECT * FROM anzeigen WHERE '$where' ORDER BY anz_datum DESC";

          nun scheint das ganze zu gehen denn wenn ich eingebe

          echo '---'.$ergebnis.'---';

          erscheint ---2---, das sind also die 2 Datensätze in der DB die mit der Abfrage übereinstimmen. Soweit so gut

          Nur wird anschliessend das ganze nicht ausgegeben, ist evtl. in der while Abfrage etwas falsch?

          Comment


          • #20
            das denke ich nicht Tim *g*

            les dir nochmal meinen beitrag oben durch und probier's mal so
            Original von mrhappiness
            musst wahrscheinlich $HTTP_POST_VARS statt $_POST verwenden, da $_POST erst ab Version 4.1.0 vorhanden is.
            Da du aber anscheinen ein PHP der Version 3.x hast...
            Ich denke, also bin ich. - Einige sind trotzdem...

            Comment


            • #21
              Habe die Hochkommas wieder weggemacht:

              Fehlermeldung:

              $HTTP_POST_VARS:
              array(8) { string(3) "plz" string(5) "77855" string(3) "ort" string(0) "" string(9) "kategorie" string(12) "keine Angabe" string(8) "preiskat" string(12) "keine Angabe" string(6) "kueche" string(0) "" string(8) "freizeit" string(12) "keine Angabe" string(6) "rubrik" string(12) "keine Angabe" string(14) "Schaltflächen1" string(6) "Suchen" } $HTTP_POST_VARS:
              array(8) { string(3) "plz" string(5) "77855" string(3) "ort" string(0) "" string(9) "kategorie" string(12) "keine Angabe" string(8) "preiskat" string(12) "keine Angabe" string(6) "kueche" string(0) "" string(8) "freizeit" string(12) "keine Angabe" string(6) "rubrik" string(12) "keine Angabe" string(14) "Schaltflächen1" string(6) "Suchen" } You have an error in your SQL syntax near 'ORDER BY anz_datum DESC' at line 1



              Anweisung am Anfang:

              echo '$HTTP_POST_VARS:<br />';

              var_dump($HTTP_POST_VARS);

              echo '<hr />$HTTP_POST_VARS:<br />';

              var_dump($HTTP_POST_VARS);

              Comment


              • #22
                PHP Code:
                $where='';
                if (isset(
                $HTTP_POST_VARS['anz_plz']))
                  
                $where.="anz_plz='".$HTTP_POST_VARS['anz_plz']."' AND ";
                if (isset(
                $HTTP_POST_VARS['anz_ort']))
                  
                $where.="anz_ort='".$HTTP_POST_VARS['anz_ort']."' AND ";
                if (isset(
                $HTTP_POST_VARS['anz_kategorie']))
                  
                $where.="anz_kategorie='".$HTTP_POST_VARS['anz_kategorie']."' AND ";
                if (isset(
                $HTTP_POST_VARS['anz_preiskat']))
                  
                $where.="anz_preiskat='".$HTTP_POST_VARS['anz_preiskat']."' AND ";
                if (isset(
                $HTTP_POST_VARS['anz_livemusik']))
                  
                $where.="anz_livemusik='".$HTTP_POST_VARS['anz_livemusik']."' AND ";
                if (isset(
                $HTTP_POST_VARS['anz_kueche']))
                  
                $where.="anz_kueche='".$HTTP_POST_VARS['anz_kueche']."' AND ";
                if (isset(
                $HTTP_POST_VARS['anz_freizeit']))
                  
                $where.="anz_freizeit='".$HTTP_POST_VARS['anz_freizeit']."' AND ";
                if (isset(
                $HTTP_POST_VARS['anz_rubrik']))
                  
                $where.="anz_rubrik='".$HTTP_POST_VARS['anz_rubrik']."' AND ";
                $where=substr($where,0,strlen($where)-4);
                $abfrage="SELECT * FROM anzeigen WHERE $where ORDER BY anz_datum DESC";
                echo 
                '---'.$abfrage.'---';
                $ergebnis=mysql_query($abfrage) or die(mysql_error()); 
                hast du's so?
                Ich denke, also bin ich. - Einige sind trotzdem...

                Comment


                • #23
                  jetzt hab ichs so. Fehlermeldung:

                  $HTTP_POST_VARS:
                  array(8) { string(3) "plz" string(5) "77855" string(3) "ort" string(0) "" string(9) "kategorie" string(12) "keine Angabe" string(8) "preiskat" string(12) "keine Angabe" string(6) "kueche" string(0) "" string(8) "freizeit" string(12) "keine Angabe" string(6) "rubrik" string(12) "keine Angabe" string(14) "Schaltflächen1" string(6) "Suchen" } $HTTP_POST_VARS:
                  array(8) { string(3) "plz" string(5) "77855" string(3) "ort" string(0) "" string(9) "kategorie" string(12) "keine Angabe" string(8) "preiskat" string(12) "keine Angabe" string(6) "kueche" string(0) "" string(8) "freizeit" string(12) "keine Angabe" string(6) "rubrik" string(12) "keine Angabe" string(14) "Schaltflächen1" string(6) "Suchen" } ---SELECT * FROM anzeigen WHERE ORDER BY anz_datum DESC---You have an error in your SQL syntax near 'ORDER BY anz_datum DESC' at line 1

                  Comment


                  • #24
                    poste mal dein skript, aber bitte in PHP-Tags
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Comment


                    • #25
                      PHP Code:
                      <?

                      include("config.php3");
                      include("db_connect.php3");

                      // include("expire.php3");

                      // Datenbank auslesen

                      echo '$HTTP_POST_VARS:<br />';

                      var_dump($HTTP_POST_VARS);

                      echo '<hr />$HTTP_POST_VARS:<br />';

                      var_dump($HTTP_POST_VARS);

                      $where='';

                      if (isset($HTTP_POST_VARS['anz_plz']))

                        $where.="anz_plz='".$HTTP_POST_VARS['anz_plz']."' AND ";

                      if (isset($HTTP_POST_VARS['anz_ort']))

                        $where.="anz_ort='".$HTTP_POST_VARS['anz_ort']."' AND ";

                      if (isset($HTTP_POST_VARS['anz_kategorie']))

                        $where.="anz_kategorie='".$HTTP_POST_VARS['anz_kategorie']."' AND ";

                      if (isset($HTTP_POST_VARS['anz_preiskat']))

                        $where.="anz_preiskat='".$HTTP_POST_VARS['anz_preiskat']."' AND ";

                      if (isset($HTTP_POST_VARS['anz_livemusik']))

                        $where.="anz_livemusik='".$HTTP_POST_VARS['anz_livemusik']."' AND ";

                      if (isset($HTTP_POST_VARS['anz_kueche']))

                        $where.="anz_kueche='".$HTTP_POST_VARS['anz_kueche']."' AND ";

                      if (isset($HTTP_POST_VARS['anz_freizeit']))

                        $where.="anz_freizeit='".$HTTP_POST_VARS['anz_freizeit']."' AND ";

                      if (isset($HTTP_POST_VARS['anz_rubrik']))

                        $where.="anz_rubrik='".$HTTP_POST_VARS['anz_rubrik']."' AND ";

                      $where=substr($where,0,strlen($where)-4);

                      $abfrage="SELECT * FROM anzeigen WHERE $where ORDER BY anz_datum DESC";

                      echo '---'.$abfrage.'---';

                      $ergebnis=mysql_query($abfrage) or die(mysql_error());





                      // Ergebnisse ausgeben

                      echo "<html>";
                      echo "<head>";
                      echo "<base target=Hauptteil>";
                      echo "</head>";
                      echo "<body text=#000000>";
                      echo "<center>";
                      echo "<table border=0 cellspacing=1 width=550 bordercolor=#000000>";
                      echo "<tr><p><font size=-2 color=#000000 face=verdana><b>Hier finden Sie eine Liste mit Ihren Präferenzen.<br>";
                      echo "Zur Detailansicht auf mehr... klicken !</font></p></tr>";
                      echo "<tr>";
                              echo "<td align=center bgcolor=#C0C0C0><b><font color=#FFFFFF face=verdana size=+0>Datum</b></font></td>";
                              echo "<td align=center bgcolor=#C0C0C0><b><font color=#FFFFFF face=verdana size=+0>Name</b></font></td>";
                              echo "<td align=center bgcolor=#C0C0C0><b><font color=#FFFFFF face=verdana size=+0>Kategorie</b></font></td>";
                              echo "<td align=center bgcolor=#C0C0C0><b><font color=#FFFFFF face=verdana size=+0>Kontakt</b></font></td>";
                              echo "<td align=center bgcolor=#C0C0C0><b><font color=#FFFFFF face=verdana size=+0>Details</b></font></td>";
                      echo "</tr>";

                      while(list($anz_datum,$anz_name,$anz_inhaber,$anz_strasse,$anz_plz,$anz_ort,$anz_land,$anz_staat,$anz_email,$anz_page,$anz_link,$anz_tel,$anz_fax,$anz_partner,$anz_kategorie,$anz_offen,$anz_preiskat,$anz_livemusik,$anz_stil,$anz_kredkarte,$anz_lieferservice,$anz_kueche,$anz_spezial,$anz_rubrik,$anz_freizeit,$anz_text,$anz_chiff)=mysql_fetch_row($ergebnis)) {
                      if ($anz_datum){
                                ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $anz_datum, $dat);
                      }
                      echo "<tr align=center>";
                              echo "<td align=center><font color=#000000 face=verdana size=-2>".$dat[3].".".$dat[2].".".$dat[1]."</font></td>";
                              echo "<td align=center><font color=#000000 face=verdana size=-2>$anz_name</font></td>";
                              echo "<td align=center><font color=#000000 face=verdana size=-2>$anz_kategorie</font></td>";
                              echo "<td align=center><a href='../script/reply.php3?anz_chiff=$anz_chiff&anz_name=$anz_name' target=details ONCLICK=window.open('','details','scrollbars=yes,width=600,height=480')><img src=../image/mail.gif width=17 height=14 border=0></a></td>";
                              echo "<td align=center><font color=#000000 face=verdana size=-2><a href='../script/detail.php3?anz_name=$anz_name&anz_chiff=$anz_chiff' target=details ONCLICK=window.open('','details','scrollbars=yes,width=600,height=480')>mehr ...</a></font></td>";
                      echo "</tr>";
                      }
                      echo "<tr><td><br><br><input type=button value=zurück onClick=history.back()></td></tr>";
                      echo "</table><br><br>";
                      echo "</center>";
                      echo "</body>";
                      echo "</html>";

                      // Datenbank schliessen

                      mysql_close( $link );

                      ?>

                      Comment


                      • #26
                        PHP-Version?

                        mach mal statt $HTTP_POST_VARS['anz_plz'])) $anz_plz testweise (und auch was eingeben dafür *g*)
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Comment


                        • #27
                          Zeilen geändert in:

                          if (isset($anz_plz))

                          $where.="anz_plz='".$anz_plz."' AND ";


                          Meldung:

                          $HTTP_POST_VARS:
                          array(8) { string(3) "plz" string(5) "77855" string(3) "ort" string(0) "" string(9) "kategorie" string(12) "keine Angabe" string(8) "preiskat" string(12) "keine Angabe" string(6) "kueche" string(0) "" string(8) "freizeit" string(12) "keine Angabe" string(6) "rubrik" string(12) "keine Angabe" string(14) "Schaltflächen1" string(6) "Suchen" } $HTTP_POST_VARS:
                          array(8) { string(3) "plz" string(5) "77855" string(3) "ort" string(0) "" string(9) "kategorie" string(12) "keine Angabe" string(8) "preiskat" string(12) "keine Angabe" string(6) "kueche" string(0) "" string(8) "freizeit" string(12) "keine Angabe" string(6) "rubrik" string(12) "keine Angabe" string(14) "Schaltflächen1" string(6) "Suchen" } ---SELECT * FROM anzeigen WHERE ORDER BY anz_datum DESC---You have an error in your SQL syntax near 'ORDER BY anz_datum DESC' at line 1

                          Comment


                          • #28
                            steht in $where was drin?
                            PHP Code:
                            $where=substr($where,0,strlen($where)-4);
                            $abfrage="SELECT * FROM anzeigen WHERE $where ORDER BY anz_datum DESC";
                            echo 
                            '<hr />$abfrage hat den Wert: '.$abfrage.'<br />';
                            echo 
                            '$where hat den Wert: '.$where.'<hr />'
                            PHP-Version???
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Comment


                            • #29
                              $HTTP_POST_VARS:
                              array(8) { string(3) "plz" string(5) "77855" string(3) "ort" string(0) "" string(9) "kategorie" string(12) "keine Angabe" string(8) "preiskat" string(12) "keine Angabe" string(6) "kueche" string(0) "" string(8) "freizeit" string(12) "keine Angabe" string(6) "rubrik" string(12) "keine Angabe" string(14) "Schaltflächen1" string(6) "Suchen" } $HTTP_POST_VARS:
                              array(8) { string(3) "plz" string(5) "77855" string(3) "ort" string(0) "" string(9) "kategorie" string(12) "keine Angabe" string(8) "preiskat" string(12) "keine Angabe" string(6) "kueche" string(0) "" string(8) "freizeit" string(12) "keine Angabe" string(6) "rubrik" string(12) "keine Angabe" string(14) "Schaltflächen1" string(6) "Suchen" } $abfrage hat den Wert: SELECT * FROM anzeigen WHERE ORDER BY anz_datum DESC
                              $where hat den Wert: You have an error in your SQL syntax near 'ORDER BY anz_datum DESC' at line 1

                              Comment


                              • #30
                                ich seh grad:
                                kann's sein dass deine felder im formular nicht so hießen wie in der datenbank?

                                Formular: plz heißt in der DB: anz_plz?
                                Ich denke, also bin ich. - Einige sind trotzdem...

                                Comment

                                Working...
                                X