Formular mit DropDown

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

  • Formular mit DropDown

    Hallo, zusammen, bin in bezug auf Datenbank usw noch ein grüner Noob, weiss noch nicht viel.

    Habe ein Formular gemacht, welches mir nach Angabe einer Kriterie und nach Angabe eines Suchwortes die Ergebnisse liefern soll, leider tut es das nicht.

    Ich habe eine Tabelle mit 7 Feldern, davon sollen 2 nach einem Wort durchsucht werden, soweit bin ich schon, doch es klappt eigentlich überhaupt nicht:

    PHP-Code:
    <?
    if ($submit) {
    $db = mysql_connect("XXX","XXX","XXX");
    mysql_select_db("XXX",$db);
    $result = mysql_query("SELECT * FROM herstellerindex WHERE '$kategorie' like '$such%' ");
    $data = mysql_fetch_array($result);
    }
    ?> 
    <form method="post" action="<? echo $HTTP_SERVER_VARS['PHP_SELF'] ?>">
      <input type="text" name="such">
      <select name="kategorie">
        <option value="id">Bitte w&auml;hlen...</option>
        <option value="hersteller">Hersteller</option>
        <option value="produkt">Produkte</option>
      </select>
      <input type="submit" name="submit" value="Suchen">
    </form> 

    <table border="1" cellspacing="0" cellpadding="3" align="left">
    <tr>
    <td><b>ID</b></td>
    <td><b>Hersteller</b></td>
    <td><b>Homepage</b></td>
    <td><b>Produkte</b></td>
    <td><b>Download</b></td>
    <td><b>Sup/Kon</b></td>
    <td><b>Eintragsdate</b></td>
    <td><b>Aktual.Date</b></td>
    <td><b>Bemerkungen</b></td>
    </tr>

    <? while ($daten = mysql_fetch_array($result)) { ?>
    <tr>
    <td><? echo $daten[id]; ?></td>
    <td><? echo $daten[hersteller]; ?></td>
    <td><a href="<? echo $daten[homepage]; ?>"><? echo $daten[homepage]; ?></a></td>
    <td><? echo $daten[produkte]; ?></td>
    <td><a href="<? echo $daten[download]; ?>"><? echo $daten[download]; ?></a></td>
    <td><a href="<? echo $daten[support]; ?>"><? echo $daten[support]; ?></a></td>
          <td><? echo $daten[edate]; ?></td>
          <td><? echo $daten[adate]; ?></td>
          <td><? echo $daten[comment]; ?></td>
        </tr>
    </table>
    <?
    }
    ?>
    Also entweder stell ich mich einfach nur dumm an, oder bin zu blöd, hab aber auch noch nicht das nötige Wissen, um den fehler zu finden

    Kann mir jemand weiterhelfen?

    Danke schonmal Gru? Master_Rotto

  • #2
    Fehlermeldung?

    Kommentar


    • #3
      Ach und wie wärs mit
      PHP-Code:
      $_POST['submit'
      ?

      Und was soll das sein?

      PHP-Code:
      <? echo $HTTP_SERVER_VARS['PHP_SELF'] ?>
      Also 1. mit ; und dann wäre es gut wenn du es in

      PHP-Code:
      $_SERVER['PHP_SELF'
      umänderst.

      www.schattenbaum.net ist eine gute Adresse..

      Kommentar


      • #4
        So wie es ist, bekomm ich keine fehlermeldung, ändern ich wie oben gennannt die Einträge, bekomm ich parse Errors

        DEMO
        Wenn ich normal auf Suche drück, ohne etwas einzugeben und ohne eine Kategorie auszuwählen, listet er mir die Einträge zwar auf, aber ohne diese untereinander in die Tabelle einzufügen, und nur ID2 obwohl ID auch belegt ist, aber das wird an der Abfarge liegen, denn so wie sie ist, stimmt sie eigentlich nicht, denke ich!? o_O

        Was mich vielmehr interessiert, ist, wie ich das Dropdown in die Abfrage eingebinden bekomm, denn das textfeld und das Gropdown bleiben in der Abfrage ohne Funktion.

        Nichts gegen Schattenbaum, aber da hab ich schon etliche Stunden verbracht
        Aber ich lern ständig dazu, nur von heut auf morgen geht das nicht. Und bei Schattenbaum scheint die operators.php immo nicht zu gehen, da muss ich bei der variablen übergabe aber lesen, btw wollte ich
        Zuletzt geändert von Master_Rotto; 19.02.2004, 21:50.

        Kommentar


        • #5
          Such mal nach register global. Am Anfang
          PHP-Code:
          $kategorie $_POST['kategorie']; 
          $such $_POST['such']; 
          $submit $_POST['submit']; 
          könnte helfen.

          Offe

          Kommentar


          • #6
            bringstn auch irgendwie nichts, ich bin mir eigentlich ziemlich sicher, dass die where abfrage so nicht stimmt, hab mal irgendwann etwas mit
            PHP-Code:
            tabelle 
            oder so in der Art gelesen, hmm, ich find nirgend etwas, wie ich im angeben kann, welche spalte er durchsuchen soll, die suche ohne das dropdown hingegen funktioniert einwadfri, sobald ich aber wieder die Kategorie mit rein nehm, gehts net, Kann man das vielleicht auch anders ´hinbekommen, dass man aus einer spalte suchen kann?

            Kommentar


            • #7
              Ne Quatsch ^^
              Hab Mist geschrieben.. -.-

              Kommentar


              • #8
                mach mal ein

                PHP-Code:
                $query "SELECT * FROM herstellerindex WHERE '$kategorie' like '$such%' ";
                $result mysql_query($query)  or die("Anfrage fehlgeschlagen: " mysql_error());
                echo 
                $query
                Was wird ausgegeben?

                Offe

                Kommentar


                • #9
                  hmm, geht auch nicht, gibt es irgendwo nicht ein tut, wie ich eine simple Abfrage mit textfeld (suchnamen) und Dropdown(feldauswahl) machen kann?

                  Weil ich bin noch anfänger, und verstehe vielles noch nicht so ganz

                  Kommentar


                  • #10
                    hmm, geht auch nicht,
                    sondern? offes methode sollte zumindest ne fehlermeldung, quatsch ne query ergeben ...

                    Weil ich bin noch anfänger,
                    schön. trotzdem könntest du mal auf die gemachten vorschläge und fragen eingehen, ... sonst ... was sonst? ... genau!
                    Die Zeit hat ihre Kinder längst gefressen

                    Kommentar


                    • #11
                      hmm, ja, ich habe alle Lösungen ausprobiert, nun bekomme ich den Fehler

                      Code:
                      Anfrage fehlgeschlagen: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''Resource id #1'' at line 1
                      mit folgendem Code, aber ich schreib die abfrage grad nochmal komplett neu, weil ich hab das Gefühl, dass ich mich immer mehr verfranz.
                      PHP-Code:
                      <?
                      $db = mysql_connect("XXX","XXX","XXX");
                      $query = "SELECT * FROM herstellerindex WHERE '$kategorie' like '$such%' ,'$db'";
                      $result = mysql_query($query)  or die("Anfrage fehlgeschlagen: " . mysql_error());
                      echo $query;
                      ?> 
                      <?php
                      // Konfiguration Insiders-Herstellerindex 
                      // &copy; 1997-2004 Master_Rotto

                      // Übersicht Drop Down
                      $kategorie $_POST['kategorie']; 
                      $such $_POST['such']; 
                      $submit $_POST['submit'];
                      ?>
                      <form method="post" action="<? echo $HTTP_SERVER_VARS['PHP_SELF'] ?>">
                        <input type="text" name="such">
                        <select name="kategorie">
                          <option value="id">Bitte w&auml;hlen...</option>
                          <option value="hersteller">Hersteller</option>
                          <option value="produkt">Produkte</option>
                        </select>
                        <input type="submit" name="submit" value="Suchen">
                      </form> 

                      <table border="1" cellspacing="0" cellpadding="3" align="left">
                      <tr>
                      <td><b>ID</b></td>
                      <td><b>Hersteller</b></td>
                      <td><b>Homepage</b></td>
                      <td><b>Produkte</b></td>
                      <td><b>Download</b></td>
                      <td><b>Sup/Kon</b></td>
                      <td><b>Eintragsdate</b></td>
                      <td><b>Aktual.Date</b></td>
                      <td><b>Bemerkungen</b></td>
                      </tr>

                      <? while ($daten = mysql_fetch_array($result)) { ?>
                      <tr>
                      <td><? echo $daten[id]; ?></td>
                      <td><? echo $daten[hersteller]; ?></td>
                      <td><a href="<? echo $daten[homepage]; ?>"><? echo $daten[homepage]; ?></a></td>
                      <td><? echo $daten[produkte]; ?></td>
                      <td><a href="<? echo $daten[download]; ?>"><? echo $daten[download]; ?></a></td>
                      <td><a href="<? echo $daten[support]; ?>"><? echo $daten[support]; ?></a></td>
                            <td><? echo $daten[edate]; ?></td>
                            <td><? echo $daten[adate]; ?></td>
                            <td><? echo $daten[comment]; ?></td>
                          </tr>
                      </table>
                      <?
                      }
                      ?>

                      Kommentar


                      • #12
                        probiers mal so:
                        PHP-Code:
                        $db mysql_connect("XXX","XXX","XXX");

                        $kategorie $_POST['kategorie']; 
                        $such $_POST['such']; 
                        $submit $_POST['submit'];

                        $query "SELECT * FROM herstellerindex WHERE ".$kategorie." like '".$such."%'";
                        $result mysql_query($query)  or die("Anfrage fehlgeschlagen: " mysql_error()); 
                        Kissolino.com

                        Kommentar


                        • #13
                          PHP-Code:
                          <?
                          if ($submit) {
                          $db = mysql_connect("XXX","XXX","XXX");
                          $result = mysql_query("SELECT * FROM herstellerindex WHERE ".$kategorie." like '".$such."%'");
                          $data = mysql_fetch_array($result);
                          }
                          ?> 
                          <?php
                          // Konfiguration Insiders-Herstellerindex 
                          // &copy; 1997-2004 Master_Rotto

                          // Übersicht Drop Down
                          $kategorie $_POST['kategorie']; 
                          $such $_POST['such']; 
                          $submit $_POST['submit'];
                          ?>
                          <form method="post" action="<? echo $HTTP_SERVER_VARS['PHP_SELF'] ?>">
                            <input type="text" name="such">
                            <select name="kategorie">
                              <option value="id">Bitte w&auml;hlen...</option>
                              <option value="hersteller">Hersteller</option>
                              <option value="produkt">Produkte</option>
                            </select>
                            <input type="submit" name="submit" value="Suchen">
                          </form>
                          So gehts jetzt, bekomm allerings kein ergebniss raus.

                          DEMO

                          Kommentar


                          • #14
                            So, habs jetzt ganz normal gemacht, aber die eingabe im textfeld wird nicht angenommen!?

                            PHP-Code:
                            <?
                            //Verbindung herstellen
                            $db = mysql_connect("XXX","XXX","XXX");
                            mysql_select_db("XXX",$db);
                            // Daten ausgeben
                            if ($submit) {
                            $sql = "SELECT * FROM herstellerindex WHERE hersteller LIKE '$such%'";
                            $result = mysql_query($sql,$db); 
                            $data = mysql_fetch_array($result); }
                            ?>
                            <form method="post" action="<? echo $HTTP_SERVER_VARS['PHP_SELF'] ?>">
                              <input name="such" type="text" size="30">
                              <input name="submit" type="submit" value="Suchen">
                            </form>
                            <table border="1" cellspacing="0" cellpadding="3" align="left">
                              <tr>
                            <td><b>ID</b></td>
                            <td><b>Hersteller</b></td>
                            <td><b>Homepage</b></td>
                            <td><b>Produkte</b></td>
                            <td><b>Download</b></td>
                            <td><b>Sup/Kon</b></td>
                            <td><b>Eintragsdate</b></td>
                            <td><b>Aktual.Date</b></td>
                            <td><b>Bemerkungen</b></td>
                            </tr>
                            <? while ($daten = mysql_fetch_array($result)) { ?>
                            <tr>
                            <td><? echo $daten[id]; ?></td>
                            <td><? echo $daten[hersteller]; ?></td>
                            <td><a href="<? echo $daten[homepage]; ?>"><? echo $daten[homepage]; ?></a></td>
                            <td><? echo $daten[produkte]; ?></td>
                            <td><a href="<? echo $daten[download]; ?>"><? echo $daten[download]; ?></a></td>
                            <td><a href="<? echo $daten[support]; ?>"><? echo $daten[support]; ?></a></td>
                                  <td><? echo $daten[edate]; ?></td>
                                  <td><? echo $daten[adate]; ?></td>
                                  <td><? echo $daten[comment]; ?></td>
                                </tr>
                            <? } ?>
                            </table>
                            Wieso geht das schon wieder nicht, stell ich mich denn so blöd an?

                            Ich weiss ich bin lästig, und ich geh Euch sicher auf die Nerven, aber ich weiss nicht mehr weiter

                            Kommentar


                            • #15
                              So nochmal..

                              PHP-Code:
                              $_POST['such'
                              Alles klar?

                              Kommentar

                              Lädt...
                              X