Einfache Suchfunktion, nur wie?

mrfishly

Mitglied
Hey Leudz

Hab da ein Problem. Ich wollte eine Suche machen, also über ein formular eine suche machen. Nur irgendwie das nich so ganz. Das Formular ist fertig, und funktioniert auch soweit. Nur wenn ich das ergebnis ausgeben lassen will, kommt nix. Ich tippe mal drauf das er die Variable nicht bekommt. Weil wenn ich in der ergebnis.php

PHP:
echo $suchenin;
echo $suchennach;

Ausgeben lassen will, ist nix drin. Bekommen soll er die Variablen mit:

PHP:
$suchennach = $HTTP_POST_VARS['suchennach'];
$suchenin = $HTTP_POST_VARS['suchenin'];

Meine SQL Abfrage lautet danach wie folgt:

PHP:
$abfrage = "SELECT * FROM mailbase WHERE '$suchenin' = '$suchennach' LIMIT $start, $proseite";


Hmmmm... wenn mir jemand helfen kann wäre ich seeeeehr dankbar. Wenn ihr mehr code braucht, sagt bescheid, dann poste ich ihn.


€dit:
Hier mal das Formular:


Code:
<form method="POST" action="ergebnis.php">
  <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="46%" id="AutoNumber1">
    <tr>
      <td width="30%">Suchen Nach:</td>
      <td width="70%"><input type="text" name="suchennach" size="20"></td>
    </tr>
    <tr>
      <td width="30%">Suchen In:</td>
      <td width="70%"><select size="1" name="suchenin">
      <option value="id">Benutzername</option>
      <option value="maildir">Speicherpfad</option>
      <option value="home">Home Verzeichnis</option>
      <option value="password">Passwort</option>
      <option value="Kommentar">Kommentar</option>
      <option value="Admin_Info">Admin Info</option>
      </select></td>
    </tr>
  </table>
  <p>&nbsp;</p>
  <p><input type="submit" value="Suchen" name="B1"></p>
</form>
 
Zuletzt bearbeitet:
Ok, das hat sich erledigt, aber jetzt hab ich noch eine frage dazu.

Wie kann ich es machen wenn ich ein wort eingebe das er nicht nach dem Exaktem wortlaut sucht? Also das ich vielleicht ein * (Sternchen) als "Platzhalter" hab? wenn ich also z.B nach einer E-Mail adresse such, weiß aber nich genau wie die endung ist, das ich einfach nur:
Test@Test* eingeben muss. Oder das er mir alle E-Mails ausspuckt die mit: *.de enden?

Kann mir dazu vielleicht jemand was sagen?

Fishlys
 
Und dann noch vorne und hinten ein * oder ein % schreiben (je nach Version).

Also z.B.

PHP:
SELECT * FROM test WHERE name LIKE '*.de*';
 
Ja, aber da vergleicht er auch nur 1:1! Will aber wenn ich z.B "r*" in mein Forumular schreibe das er alles raussucht was mit "r" anfängt.

Fishly
 
Nein, macht er nicht. Wenn du dir mal die Mühe machen würdest, dass auszuprobieren, würdest du das auch sehen.

Alternativ gibt es auch SQL-Dokumentation, wo das erklärt wird.

In deinem Fall:

PHP:
SELECT * FROM deine_tabelle WHERE dein_feld LIKE "r%"
 
Zurück