stefan: Suchfunktion mit LIKE

Hallo,
ich habe eien Suchfunktion mit LIKE, die leider nichtr funzt.
Über ein Formular wird die Variable $bundesland an folgendes Script  übergeben:
Da ich noch keine grossen ERfahrungen im Umgang mit PHP habe, würde ich mich über Hilfe sehr freuen.

<?php
mysql_connect("localhost", "admin", "sp0rts");
mysql_select_db("termine");
?>

<?
if ($check == 1):
($result = mysql_query("SELECT * FROM daten WHERE bundesland LIKE '%$bundesland%'"))
while($row = mysql_fetch_array($result)):
  echo $row[bundesland];

?>
<?php
mysql_close();
  endif
  ?>

Beste Grüße
Stefan

  1. ($result = mysql_query("SELECT * FROM daten WHERE bundesland LIKE '%$bundesland%'"))

    Der Query stimmt, wird halt 0 zurückliefern

    warum du in einem Feld das bundesland heißt mit like nach einem string der in Bundesland steht suchen willst ist mir zwar nicht ganz klar.... aber du wirst schon wissen was du machst..

    Ludwig

  2. Moin!
    Empfehle Dir unbedingt mal folgendes zu lesen!!!:
    http://www.php-center.de/faq/faq-database_mysql.html#database_mysql-19
    http://www.mysql.com/doc/F/u/Fulltext_Search.html
    Ist eine spezielle Suchfunktion die in MySQL implementiert ist!

    Grüße
      Andreas

  3. Moin

    ich habe eien Suchfunktion mit LIKE, die leider nichtr funzt.

    "Funktioniert nicht" ist im allgemeinen keine gute Fehlerbeschreibung.

    Da ich noch keine grossen ERfahrungen im Umgang mit PHP habe, würde ich mich über Hilfe sehr freuen.

    <?
    if ($check == 1):
    ($result = mysql_query("SELECT * FROM daten WHERE bundesland LIKE '%$bundesland%'"))

    // ich würde sagen hier hinter fehlt ein ;

    while($row = mysql_fetch_array($result)):
      echo $row[bundesland];

    // Du hast vergessen dieses while wieder zu zu machen

    ?>

    Mal eine gesäuberte Version deines Codes:
    <?php
     mysql_connect("localhost", "admin", "sp0rts");
     mysql_select_db("termine");
     if($check == 1) {
      $result = mysql_query("SELECT bundesland FROM daten WHERE bundesland LIKE '%".$bundesland."%'"); // Wenn du nicht mehr als bundesland haben willst, brauchst du kein SELECT *
      while($row = mysql_fetch_array($result))
       echo $row["bundesland"];
     }
     mysql_close(); // Ist nicht unbedingt notwendig da PHP das selber macht, aber wenn schon, dann sollte das nicht innerhalb des if-blocks auftauchen
    ?>

    Das alternative if-konstrukt mit if(bla): ... endif; habe ich früher auch sehr gemocht, du wirst aber feststellen dass if(bla) {  } sehr viel übersichtlicher ist, weniger Schreibarbeit macht und du weiterhin problemlos ?>ein bisschen HTML-Code <?php verwenden kannst.

    --
    Henryk Plötz
    Grüße aus Berlin