kostenloser Webspace werbefrei: lima-city


problem mit suchfunktion & counter

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    skullsplitter

    skullsplitter hat kostenlosen Webspace.

    hallo,

    ich habe auf meiner page eine suchfunktion eingebaut. nur leider funktioniert die nicht ganz so wie sie sollte.

    ein kumpel und ich schreiben derzeit an einem schulprojekt (ist ne lyricsseite) -> suchfunktion ist da nützlich und gibt sicher nen pluspunkt^^

    nur leider hab ich jetzt ein problem.

    lyricssearch.htm

    <form name="form1" method="post" action="index.php?link=search_result">
    Bitte w&auml;hlen:
    <label>
    <select name="was">
    <option>Artist</option>
    <option>Lied</option>
    </select>
    </label><br>
    Suchbegriff: <input name="search" type="text" size="60">
    <br>
    <label>
    <input type="submit" name="Submit" value="Suchen">
    </label>
    </form>


    lyricsresult.php

    <?
    $what = $_POST['was'];
    $search = $_POST['search'];

    if($what == "Artist") {
    $sql="SELECT * FROM lyrics WHERE artist LIKE '".$search."%' ORDER BY artist ASC";
    }
    else
    {
    $sql="SELECT * FROM lyrics WHERE lied LIKE '".$search."%' ORDER BY artist ASC";
    }
    $row = mysql_query($sql) or die (mysql_error());
    ?>
    <table cellspacing="0" cellpadding="0" border="0" width="100%">
    <tr>
    <td class="content_head"><b>Suchbegriff: </b><? echo $search; ?></td>
    </tr>
    </table>
    <table width="100%" border="1" cellspacing="0" cellpadding="0">
    <tr>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td width="40%" class="content_head"><b>Artist</b></td>
    <td width="50%" class="content_head"><b>Lied</b></td>
    <td width="10%" class="content_head">&nbsp;</td>
    </tr>
    <?
    while ($result = mysql_fetch_array($row))
    {
    ?>
    <tr>
    <td><? echo $result["artist"]; ?></td>
    <td><? echo $result["lied"]; ?></td>
    <td><a href="index.php?link=lshow&Nr=<? echo $result["Id"]; ?>&abc=<? echo $abc; ?>">anzeigen</a></td>
    </tr>
    <?
    }
    ?>
    </table>


    das problem ist, es können werden nur die buchstaben bis zum ersten leerraum gewertet....

    also, wenn man z.b. jetzt eine artist(britney spears) mit spears suchen würde, findet man nix...

    kann mir jmd bei diesem problem weiterhelfen bitte? =(


    zum counter:
    der counter macht irgendwie nicht wirklich so wie wir das wollen...
    er zählt die besucher, die im moment online sind falsch...
    die besucher die heute online waren
    und die gesamte besucher zahl sowieso^^

    hier mal der code:

    <?
    include("db_vb.php");
    $table = "counter";

    $tag = date("j");
    $monat = date("m");
    $jahr = date("Y");
    $timenow = mktime(0,0,0,$monat,$tag,$jahr);

    $sql_check = "SELECT * FROM `".$table."` WHERE `timed` < '".$timenow."'";
    $erg_check = mysql_query($sql_check);
    while($row = mysql_fetch_array($erg_check)){
    mysql_query("DELETE FROM `".$table."` WHERE `id`='".$row['id']."'");
    }

    $sql_check2 = "SELECT * FROM `".$table."` WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."'";
    $erg_check2 = mysql_query($sql_check2);
    $row = mysql_num_rows($erg_check2);
    if($row == "0"){
    mysql_query("INSERT INTO `".$table."` ( `id` , `ip` , `timed` ) VALUES ('', '".$_SERVER['REMOTE_ADDR']."', '".time()."')");
    }else{
    mysql_query("UPDATE `".$table."` SET `timed`='".time()."' WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."'");
    }

    $zeit = "900";
    $time = time();
    $zeit = $time-$zeit;
    $sql_online = "SELECT * FROM `".$table."` WHERE `timed` > '".$zeit."'";
    $erg_online = mysql_query($sql_online);
    $online = mysql_num_rows($erg_online);
    echo "<b>Besucher online:</b> ".$online."<br />";

    $sql_heute = "SELECT * FROM `".$table."`";
    $erg_heute = mysql_query($sql_heute);
    $heute = mysql_num_rows($erg_heute);
    echo "<b>Besucher heute:</b> ".$heute."<br />";

    $sql_gesamt = "SELECT * FROM `".$table."` ORDER BY `id` DESC";
    $erg_gesamt = mysql_query($sql_gesamt);
    $row = mysql_fetch_array($erg_gesamt);
    $gesamt = $row['id'];
    echo "<b>Besucher gesamt:</b> ".$gesamt;
    ?>


    der counter kommt nicht von uns... sollte ich an der stelle wohl erwähnen...

    würde mich freuen, wenn ihr mir weiterhelfen könntet =(

    danke

    mfg
    skull

    EDIT:
    http://skullsplitter.lima-city.de/Lyrics/index.php

    falls es jmd interessiert^^ hab sie mal schnell hochgeladen^^

    Beitrag geaendert: 26.11.2006 17:31:14 von skullsplitter
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Zum Counter kann ich dir weiterhelfen. Ich habe heute und gestern einen umgescriptet vom lima-tut. Ergebnis findest du im Forum:

    http://www.lima-city.de/boards.php?mode=thread&id=56577

    Datenbankcode:
    CREATE TABLE `counter`
    (
    `ip` varchar(20) NOT NULL default '',
    `date` date NOT NULL default '0000-00-00',
    `time` int(11) NOT NULL default '0'
    ) TYPE=MyISAM;

    Counterscript: http://bene1989.t-baumann.com/test/counter.txt

    Probier es mal aus!
  4. Autor dieses Themas

    skullsplitter

    skullsplitter hat kostenlosen Webspace.

    ahh sehr schön :)
    danke, dann wäre das counter problem gelöst^^
    http://skullsplitter.xardas.lima-city.de/wuha/counter.php

    nur mein ich das nur, oder geht das jetzt online nicht xD

    vielen herzlichen dank
    mfg

    sorry:
    funktioniert einwandfrei :)

    vielen herzlichen dank!

    kann mir sonst noch wer bei der sufu helfen bitte :(

    Beitrag geaendert: 26.11.2006 21:13:46 von skullsplitter
  5. So muss lyricsresult.php:

    <?
    $what = $_POST['was'];
    $search = $_POST['search'];
    
    $arr=explode(" ", $search);
    $anzahl=count($arr);
    if($what == 'Artist') {
    $sql="SELECT * FROM `lyrics` WHERE `artist` LIKE '%".$arr[0]."%'";
    for($i=1; $i<$anzahl; $i++) {
    $sql.=" OR `artist` LIKE '%".$arr[$i]."%'";
    }
    } else {
    $sql="SELECT * FROM `lyrics` WHERE `lied` LIKE '%".$arr[0]."%'";
    for($i=1; $i<$anzahl; $i++) {
    $sql.=" OR `lied` LIKE '%".$arr[$i]."%'";
    }
    }
    $sql.=" ORDER BY `artist` ASC";
    
    
    $row = mysql_query($sql) or die (mysql_error());
    ?>
    <table cellspacing='0' cellpadding='0' border='0' width='100%'>
    <tr>
    <td class='content_head'><b>Suchbegriff: </b><? echo $search; ?></td>
    </tr>
    </table>
    <table width='100%' border='1' cellspacing='0' cellpadding='0'>
    <tr>
    <td> </td>
    </tr>
    <tr>
    <td width='40%' class='content_head'><b>Artist</b></td>
    <td width='50%' class='content_head'><b>Lied</b></td>
    <td width='10%' class='content_head'> </td>
    </tr>
    <?
    while ($result = mysql_fetch_array($row))
    {
    ?>
    <tr>
    <td><? echo $result['artist']; ?></td>
    <td><? echo $result['lied']; ?></td>
    <td><a href='index.php?link=lshow&Nr=<? echo $result['Id']; ?>&abc=<? echo $abc; ?>'>anzeigen</a></td>
    </tr>
    <?
    }
    ?>
    </table>


    Sollte so funktionieren inklusive richtig suchen und nach mehreren begriffen.
    getestet hab ichs nicht.
    Es ist abgewandelt von einem Skript das ich zur Bibliotheksverwaltung (Auch für die Schule :biggrin:) geschrieben hab.
    Und da funktioniert es primstens. Also Viel Glück

    Beitrag geaendert: 26.11.2006 21:20:15 von andy2309

    Edit: Du musst wohl einiges mit den Anführungsstrichen korregieren...
    Die scheiss code funktion von lima macht auch die doppelten zu ' -.-

    Beitrag geaendert: 26.11.2006 21:21:58 von andy2309
  6. Autor dieses Themas

    skullsplitter

    skullsplitter hat kostenlosen Webspace.

    jawohl funktioniert einwandfrei :)

    vielen herzlichen dank =)

    hab euch beiden positives karma gegeben :)

    mfg
    skull

    ah ich muss mi korregiern...

    der counter hat doch ne macke...
    der zählt die refreshes....
    http://www.lyrics-from-hell.at.tc/

    thx

    mfg

    Beitrag geaendert: 27.11.2006 9:06:26 von skullsplitter
  7. Ich habe noch eine Frage: hast du bei http://skullsplitter.xardas.lima-city.de/wuha/counter.php mein Script genommen?

    Denn auf der Site funzt der Counter nicht, allerdings auf deiner HP http://www.lyrics-from-hell.at.tc schon, und die refreshes werden nicht mitgezählt.
  8. Autor dieses Themas

    skullsplitter

    skullsplitter hat kostenlosen Webspace.

    hallo,

    jo ist beides male dein counter... eig. identisch, bisch auf die echos.... ich weiß auch nicht an was das liegt, aber wenn ich bei mir f5 drücke, zählt es alles hoch auf meiner page... allerdings bei dem im wuha ordner nicht...

    könnte es sein, dass es mit der domain lyrics-from-hell.at.tc zusammen hängt?
    weil wenn ich über skullsplitter.lima-city.de/Lyrics drauf zugreif, kann ich soviel f5 drücken, wie ich will, der counter bleibt konstant...
    wenn ich über lyrics-from-hell.at.tc geh, zählt er sofort hoch....


    Beitrag geaendert: 27.11.2006 13:15:34 von skullsplitter

  9. könnte es sein, dass es mit der domain lyrics-from-hell.at.tc zusammen hängt?
    weil wenn ich über skullsplitter.lima-city.de/Lyrics drauf zugreif, kann ich soviel f5 drücken, wie ich will, der counter bleibt konstant...
    wenn ich über lyrics-from-hell.at.tc geh, zählt er sofort hoch....


    Also bei mir läuft alles wie geschmiert. Ich gehe auf http://www.lyrics-from-hell.at.tc und drücke F5, aber bei mir erhöht sich nichts.

    Also wenn ich auf deine Site gehe, läuft der Counter so wie er laufen soll.
  10. Autor dieses Themas

    skullsplitter

    skullsplitter hat kostenlosen Webspace.

    hab das problem gefunden....
    dadurch, dass bei mir in der schule alle über den proxy reingehen zählt das irgendwie immer rauf.... wenn wir zu hause auf die page gehen, läuft alles einwandfrei....

    vielleicht ein verbesserungsvorschlag :)

    aber er funktioniert! vielen dank :)
  11. 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!