[Suchescript] mit Fehler?

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

  • [Suchescript] mit Fehler?

    Hallo leute ich wollte für meine datenbank ein kleines Suchformular schreiben, aber irgendwie hab ich einen Denkfehler drin.

    Hier ist mein Code:
    PHP-Code:
    <?php
    if ($search) {

    $result mysql_query("SELECT * FROM members where Name LIKE '%$search%' order by Name");

            if (!
    $result) {
               echo (
    " Fehler bei der Abfrage " .
               
    mysql_error() );
               exit();
               }

    while (
    $row mysql_fetch_array($result) ) {
    ?>

    <table border="1" width="">
    <tr>
     <td width="150"><?php echo ($row["Name"]); ?> </td>
     <td width="150"><?php echo ($row["Vorname"]); ?></td>
     <td width="150"><?php echo ($row["Strasse"]); ?></td>
     <td width="50"><?php echo ($row["Hausnummer"]); ?></td>
     <td width="50"><?php echo  ($row["PLZ"]); ?></td>
     <td width="200"><?php echo ($row["Ort"]); ?></td>
     </tr>
    </table>

    <?php
    }
    }
    else
    {
    ?>


    <FORM method="post" action="<? echo $PHP_SELF ?>">
    <INPUT type=text name=search size=30>
    <INPUT type=submit value=Suchen>
    </form>

    <?php
    }
    ?>
    Irgendwie wird der Wert aus dem Formular nicht in die Abfrage übergeben ...
    danke im Vorraus für eure Hilfe.

    Gruss Raoul

    EDIT:
    [php]-tags by Abraxax
    Zuletzt geändert von Abraxax; 10.12.2003, 14:26.

  • #2
    bitte benütze beim posten von code die Raoules-tags..


    mache mal aus $PHP_SELF -> $_SERVER['PHP_SELF']

    und aus $search mache mal $_POST['search']

    und dann formatiere mal deinen code richtig.
    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


    • #3
      THX

      THX Abraxax ...

      habs geändert und nun funkz es ...

      beim nächsten mal weiss ich bescheid, wie ich den Tread zu schreiben habe ...
      Danke für deine schnelle Hilfe

      Cu raoul

      Kommentar


      • #4
        Hallo,

        nach dem Update vom meinem php auf 4.3.4 musste ich mein Suchscript (auch alle anderen) umbauen (altes script siehe oben).

        bis auf mein Suchformular funkz auch alles wieder wunderbar...

        es wird zwar die Suchmaske geöffnet - aber es erfolgt keine Ausgabe der Werte bzw. Suche ...
        hab auch schon im Forum gesucht und angepasst - aber leider ohne Erfolg.

        PHP-Code:

        <?php



        if ($_POST['submit'] == "Suchen") {


        $result mysql_query"SELECT * FROM members where Name LIKE '%".$_POST['search']."%' OR Ort LIKE '%".$_POST['search']."%' ORDER BY Name");


                if (!
        $result) {
                   echo (
        " Fehler bei der Abfrage " .
                   
        mysql_error() );
                   exit();
                   }



        echo 
        "Suchergebnisse für '<b>'  %".$_POST['search']."%  '<b>'";
        echo 
        "<br><br>";
        ?>

        <table width="" border="1" >
        <tr>
         <td width="150" ><b>Name</b></td>
         <td width="150"><b>Vorname</b></td>
         <td width="150"><b>Strasse</b> </td>
         <td width="50"><b>Nr.</b> </td>
         <td width="50"><b>PLZ </b></td>
         <td width="200"><b>Ort</b> </td>
        </tr>
        </table>

        <?php
        while ($row mysql_fetch_array($result) ) {
        ?>

        <table border="1" width="">
        <tr>
         <td width="150"><?php echo ($row["Name"]); ?> </td>
         <td width="150"><?php echo ($row["Vorname"]); ?></td>
         <td width="150"><?php echo ($row["Strasse"]); ?></td>
         <td width="50"><?php echo ($row["Hausnummer"]); ?></td>
         <td width="50"><?php echo  ($row["PLZ"]); ?></td>
         <td width="200"><?php echo ($row["Ort"]); ?></td>
         </tr>
        </table>

        <?php
        }
        }
        else
        {
        ?>

        <b>Mitgliedersuche</b> nach <b>Name</b> oder <b>Ort</b>:<br>
        <FORM method="post" action="<? echo $_SERVER['private_membersearch.php'] ?>">
        <INPUT type=text name=search size=30>
        <input name="submit" type="submit" value="Suchen">
        </form>

        <?php
        }
        ?>
        kann einer von Euch einen Fehler entdecken ???
        THX Raoul

        Kommentar


        • #5
          Original geschrieben von Raoules
          kann einer von Euch einen Fehler entdecken ???
          habs nur überflogen ....

          aber was ist denn das in deinem formular?

          PHP-Code:
          <? echo $_SERVER['private_membersearch.php'] ?>
          das kann so nicht funktionieren.
          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


          • #6
            Hallo Abraxax ...

            das

            PHP-Code:
            <? echo $_SERVER['private_membersearch.php'] ?>
            ist der Name von meiner File in der das Script steht ...

            mit

            PHP-Code:
            <? echo $_SERVER['PHP_SELF'] ?>
            springt er immer wieder auf die Index.php (main) zurück - ohne etwas zu machen.

            hab bei meinen anderen Scripten auch immer auf dir File verwiesen und da läuft es ohne Probleme ...

            Beispiel:

            PHP-Code:

            <?php



            if ($_POST['submit'] == "eintragen") {

               
            $sql "insert into dates set
                              name = '"
            .$_POST['name']."',
                              ort = '"
            .$_POST['ort']."',
                              datum = '"
            .$_POST['datum']."',
                              zeit = '"
            .$_POST['zeit']."',
                              veranstalter = '"
            .$_POST['veranstalter']."',
                              bemerkung = '"
            .$_POST['bemerkung']."' ";



               if (@
            mysql_query ($sql)) {
                  echo (
            "Die Veranstaltung wurde eingetragen");
                  } else {
                         echo (
            " Fehler beim Eintrag " mysql_error() );
                         }

            }
            ?>
            <form action="<? echo $_SERVER['private_dates.php'] ?>" method="post">

            // und der Rest halt unten noch dran - lass jetzt mal das komplette Formular wech
            wenn ich mit
            PHP-Code:
            <? echo $_SERVER['PHP_SELF'] ?>
            arbeite funkz es nicht mehr (is schon irgendwie komisch - oder ???)

            Kommentar


            • #7
              Original geschrieben von Raoules
              PHP-Code:
              <? echo $_SERVER['private_membersearch.php'] ?>
              ist der Name von meiner File in der das Script steht ...
              nein, ganz sicher nicht.

              die daten im $_SERVER-array werden dir vom server zur verfügung gestellt - aber dort eigene indizes hinzuzuerfinden, ist absoluter blödsinn.


              wenn dein script private_membersearch.php heisst, dann gib
              echo "private_membersearch.php";
              an dieser stelle aus.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                also sowas hier ....
                PHP-Code:
                <? echo $_SERVER['private_dates.php'] ?>
                ... ist doch quatsch.

                das klappt schon i.d.r.
                PHP-Code:
                <? echo $_SERVER['PHP_SELF'] ?>
                und wenn es nicht klappt, warum auch immer (was ich mir aber nciht wirklich vorstellen kann), kannst du auch ohne dem php dort arbeiten. einfach die direkt die datei angeben.

                Code:
                <form action="/datei.php" ....>
                wobei die datei in meinem beispiel direkt im webroot zu finden ist.
                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


                • #9
                  so ich nochmal ...

                  also bei mir funkz die File (private_dates.php) difinitiv mit


                  PHP-Code:
                  <? echo $_SERVER['PHP_SELF'] ?>
                  nicht - nur mit
                  PHP-Code:
                  <? echo $_SERVER['private_dates.php'] ?>
                  wieso - weshalb - warum --> weiss ich auch nicht --> habs grad nochmal ausprobiert ...

                  bei meinem Suchscript habe ich auch nochmal rumgebastelt (laut Anweisung von Euch) - aber ohne Erfolg

                  ***wäre ich nur Bauarbeiter geworden***

                  Kommentar


                  • #10
                    probier das noch einmal.
                    PHP-Code:
                    <? echo $_SERVER['PHP_SELF']; ?>
                    und kopiere es dir HIER heraus.

                    ich habe nämlich einen deiner (dummen) fehler vorhin mitkopiert und vergessen zu ändern.
                    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


                    • #11
                      also irgendwann werde ich noch blöd - es funkz jetzt ...

                      wo lag der Fehler:

                      ich habe immer die ENTER-Taste gedrück -> kein Erfolg

                      -> wenn ich aber mit der Maus auf "Suchen" klicke - funkz es

                      achso mit

                      PHP-Code:
                      $_SERVER['SELF_PHP']; ?> 
                      funkz es jetzt auch (einfach das ; vergessen -> sowas dummes

                      der vollständigkeit halber nochmal alles in richtiger Form:

                      PHP-Code:
                      <?php



                      if ($_POST['submit'] == "Suchen") {


                      $result mysql_query"SELECT * FROM members where Name LIKE '%".$_POST['search']."%' OR Ort LIKE '%".$_POST['search']."%' ORDER BY Name");

                      // $result = mysql_query( "SELECT * FROM members where Name LIKE '%$search%' OR Ort LIKE '%$search%' order by Name");

                              
                      if (!$result) {
                                 echo (
                      " Fehler bei der Abfrage " .
                                 
                      mysql_error() );
                                 exit();
                                 }



                      echo 
                      "Suchergebnisse für '<b>'  ".$_POST['search']."  '<b>'";
                      echo 
                      "<br><br>";
                      ?>

                      <table width="" border="1" >
                      <tr>
                       <td width="150" ><b>Name</b></td>
                       <td width="150"><b>Vorname</b></td>
                       <td width="150"><b>Strasse</b> </td>
                       <td width="50"><b>Nr.</b> </td>
                       <td width="50"><b>PLZ </b></td>
                       <td width="200"><b>Ort</b> </td>
                      </tr>
                      </table>

                      <?php
                      while ($row mysql_fetch_array($result) ) {
                      ?>

                      <table border="1" width="">
                      <tr>
                       <td width="150"><?php echo ($row["Name"]); ?> </td>
                       <td width="150"><?php echo ($row["Vorname"]); ?></td>
                       <td width="150"><?php echo ($row["Strasse"]); ?></td>
                       <td width="50"><?php echo ($row["Hausnummer"]); ?></td>
                       <td width="50"><?php echo  ($row["PLZ"]); ?></td>
                       <td width="200"><?php echo ($row["Ort"]); ?></td>
                       </tr>
                      </table>

                      <?php
                      }
                      }
                      else
                      {
                      ?>

                      <b>Mitgliedersuche</b> nach <b>Name</b> oder <b>Ort</b>:<br>
                      <FORM method="post" action="<? echo $_SERVER['SELF_PHP']; ?>">
                      <INPUT type=text name=search size=30>
                      <input name="submit" type="submit" value="Suchen">
                      </form>

                      <?php
                      }
                      ?>
                      Zuletzt geändert von Raoules; 09.01.2004, 16:03.

                      Kommentar


                      • #12
                        nur mit
                        PHP-Code:
                        <? echo $_SERVER['private_dates.php'] ?>
                        wieso - weshalb - warum --> weiss ich auch nicht --> habs grad nochmal ausprobiert ...
                        also,

                        $_SERVER['private_dates.php'] sollte zumindest ne NOTICE ergeben, da es nicht existieren dürfte, im quelltext des formulars (den ich gern mal sehen würde) steht dann vielleicht action="", und ein form ohne action macht ....

                        und, $_SERVER["SELF_PHP"] ist genauso lachhaft. je öfter ich es lese.

                        poste mal bitte den html-quelltext des forms, den würde ich gern mal sehen.
                        Die Zeit hat ihre Kinder längst gefressen

                        Kommentar

                        Lädt...
                        X