problem mit suchfunktion & counter
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abc
anzahl
anzeigen
artist
beitrag
besucher
counter
date
funktioniert einwandfrei vielen herzlichen dank
jahr
monat
not
null
order
page
result
skull
sofort
suchbegriff
suchfunktion
-
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ä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> </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>
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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! -
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 -
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 ) 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 -
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 -
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. -
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 -
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. -
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 :) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage