kostenloser Webspace werbefrei: lima-city


Suchfunktion

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    eragon95

    eragon95 hat kostenlosen Webspace.

    Hi,
    ich versuch grad eine kleine Suchfunktion für meine HP zu erstellen.
    <?
    $suche = $_GET['suche'];
    echo $suche;
    $abfrage = "SELECT * FROM test WHERE test = '%$suche%'";
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
       {
       echo "$row->test <br>";
       }
    
    ?>


    Es funktioniert nicht wegen diesen %% wenn ich sie wegnehme, dann geht es, aber dann muss man das gesuchte Wort/Thema genau angeben und das möchte ich nicht.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Probier doch mal

    WHERE test LIKE '%$suche%'

    Ich glaube das müsste hinhauen.
  4. Autor dieses Themas

    eragon95

    eragon95 hat kostenlosen Webspace.

    Und wie erweitert man das jetzt?
    <?
    $abfrage = "SELECT * FROM test,tabelle,ka WHERE test LIKE '%$suche%'";
    ?>


    Oder benutzt man da OR ?
    Und ich möchte, dass es mehrere Zeilen durchsucht, nicht nur test.
    Wieder mit Komma oder OR?
  5. Also was auf jeden Fall geht, ist sowas mir OR

    WHERE test LIKE '%$suche%' OR tabelle LIKE '%$suche%' ....


    Ich überleg grad selber, obs da noch eine Form zur Vereinfachung gibt, bin mir grade nicht sicher.
    Falls mir noch was einfällt lass ichs dich wissen.

    Edit: Falls du dein Namen fortlaufend nummeriert hättest, könntest dus schon als String Verknüpfungen per PHP Schleife machen. Aber das ist wohl nicht der Fall.

    Beitrag geändert: 30.11.2008 11:57:57 von ultrah4x
  6. Autor dieses Themas

    eragon95

    eragon95 hat kostenlosen Webspace.

    Wie den Namen nummerieren?
    Ich hab noch ein Problem.
    <?
    
    $suche = $_GET['suche'];
    
    $abfrage = "SELECT * FROM test WHERE titel OR test OR tags OR autor LIKE '%$suche%' ";
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
       {
       echo "$row->titel<br>$row->tutorial<br>$row->tags<br>$row->autor<br>";
       }
    
    ?>


    Es soll ja alles durchsucht werden, aber sobald in einer Zeile etwas aus der Suchanfrage steht, soll die komplette Zeile ausgegeben werden.
  7. Mit durchnummerieren meinte ich, wenn deine Spalten z.b. Spalte1, Spalte2, Spalte3 heißen sowas:

    for($i=1; $i<$anz; $i++)     $abfrage .= 'Spalte' . $i


    Das du dir etwas Schreibarbeit sparst. Aber net so wichtig.

    Bist du dir sicher, dass das

    "SELECT * FROM test WHERE titel OR test OR tags OR autor LIKE '%$suche%' "


    so richtig ist?

    Hätte eher gesagt:

    "SELECT * FROM test WHERE titel LIKE '%$suche%' OR tes LIKE '%$suche%'t OR tags LIKE '%$suche%' OR autor LIKE '%$suche%' "


    Die Zeile sollte eigentlich schon komplett ausgegeben werden.
  8. Was macht dieses tes?



    Beitrag geändert: 30.11.2008 15:43:49 von seth93
  9. Autor dieses Themas

    eragon95

    eragon95 hat kostenlosen Webspace.

    So die Suche funktioniert jetzt fast so wie ich es wollte.

    Wie kann ich die Suchergebnisse verkürtzt darstellen?
    Wenn da ein langer Text ist, möchte ich dass nur ein paar Wörter dargestellt werden und dann ...


    Dann noch eine Frage zu JavaScript:
    Ich möchte dass in dem Suchfeld "Suche..." steht und wenn man raufklickt, soll das Suche verschwinden.
  10. m**********r

    Javascript:
    <input type="text" onblur="if (document.getElementById('suche').value=['']) {document.getElementById('suche').value=['Suchen...']};" onclick="document.getElementById('suche').value=[''];" value="Suchen..." id="suche" name="suche" />


    Ungetestet. Sollte eigentlich funktionieren.
  11. Autor dieses Themas

    eragon95

    eragon95 hat kostenlosen Webspace.

    Jup, funktioniert, danke.

    1.Frage vom vorletzen Beitrag steht noch ^^
    Wie kann ich ein Suchergebnis verkürtzt darstellen.
  12. moritzpeuser schrieb:
    Javascript:
    <input type='text' onblur='if (document.getElementById('suche').value=['']) {document.getElementById('suche').value=['Suchen...']};' onclick='document.getElementById('suche').value=[''];' value='Suchen...' id='suche' name='suche' />


    Ungetestet. Sollte eigentlich funktionieren.


    >>>>>>>>>>>>>>>>>>>>>>>>>


    Das geht noch einen Tick leichter, wenn ich den Code richtig verstanden hab:
    <input type='text' 
    onfocus='if (document.getElementById('suche').value=['']) {document.getElementById('suche').value=['Suchen...']};' />


    Mit onfocus hat man beide Events drin.

    Könnten immernoch Fehler drin sein!

    MfG
    s1m13
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!