26. august 2001 - 20:40
Der er
5 kommentarer og 1 løsning
Søgemaskine!
Jeg har brug for en søgemaskine som søger i en Mysql database, men har absolut ingen forstand på Mysql! HEEELLLLPPPP!
Annonceindlæg fra Deloitte
Slettet bruger
26. august 2001 - 21:47
#2
Her er en jeg har rettet lidt i, men den er ret meget lig den jeg selv bruger: Det er svært at komme med en færdig søgemaskine, men denne skulle være til at overskue at rette i. Og det lærer man jo også mest af! :) <?PHP if ($valg) { ///hvilken tabel skal den søge i $tabelnavn = \'film\'; ///hvilket felt skal den søge i $felt = \'beskrivelse\'; $betingelse = \"SELECT * from $tabelnavn WHERE id >= \'1\'\"; $words = str_replace(\"&\",\" \",$soegeord); $words = str_replace(\"+\",\" \",$words); $words = str_replace(\",\",\" \",$words); $words = ereg_replace(\'( +)$\',\',\',$words) .\".\"; $words = str_replace(\",,\",\",\",$words); $words = str_replace(\".\",\"\",$words); $words2 = $words; $words = split(\",\", $words); $number_of_words = count($words); $i = -1; do { ++$i; $betingelse = \"$betingelse AND ($felt like \'%$words[$i]%\' OR\"; } while ($tal-1 > $i); $betingelse = \"$betingelse $felt like \'%$words[$i]%\')\"; $betingelse = \"$betingelse ORDER BY id DESC\"; $sql = $betingelse; ///slut split af ord/// $limit=5; // Hvor mange resultater på hver side $numresults = mysql_query($sql); $numrows = mysql_num_rows($numresults); if (empty($offset)) { $offset=0; // Hvor man skal starte hvis intet er angivet. Default er \'0\' } // Hent dine data her $newsql = \"$sql LIMIT $offset, $limit\"; $result = mysql_query($newsql); $row = mysql_fetch_array($result); // beregn antal sider $pages=intval($numrows/$limit); if ($numrows%$limit) { $pages++; } // Her starter layout echo \"<table align=\\\"center\\\"><tr><td>\"; for ($i=1;$i<=$pages;$i++) { $newoffset=$limit*($i-1); } if (!$row) { } else { echo \"<br>Der blev fundet $numrows resultater - Her vises nummer \"; echo $offset+1; echo \" til \"; if ($numrows >= $offset+5) { echo $offset+5; } else { echo $numrows; } } echo \"</td></tr></table>\"; // Vis dine resultater ?> <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"1\"> <tr> <td width=\"600\" align=\"left\" valign=\"top\"><b>Søgeresultat.</b> </td></tr> <tr> <td align=\"center\" bgcolor=\"#000000\" height=\"1\" colspan=\"3\"></td> </tr> <tr> <td width=\"100%\" align=\"left\"><b>Overskrift</b></td><td align=\"left\"><b>Post 1 </b></td><td align=\"left\" nowrap><b>Post 2 af </b></td> </tr> <?PHP if (!mysql_num_rows($result)) { echo \"<tr><td colspan=\\\"3\\\">Intet fundet</td></tr></table>\"; } else { ///// do { $sql = \"SELECT * FROM $felt WHERE id = \'$row[id]\'\"; $result2 = mysql_query($sql); $row2 = mysql_fetch_array($result2); $tal = $tal + 1; if($tal % 2 == 1) { $bg = \'bgcolor =\"gray\"\'; } else { $bg = \'\'; } echo \"<tr><td width=\\\"100%\\\" align=\\\"left\\\" $bg>$row[felt1]</td><td align=\\\"left\\\" $bg>$row[felt2]</td><td align=\\\"left\\\" $bg>$row[felt3]</td></tr>\"; } while ($row = mysql_fetch_array($result)); ?> <tr> <td align=\"center\" bgcolor=\"#000000\" height=\"1\" colspan=\"3\"></td> </tr> <?PHP echo \"</table><table width=\\\"100%\\\" border=\\\"0\\\"><tr>\"; /// if ($offset != \'0\') { $prev = $offset - 5; echo \" <td width=\\\"33%\\\"><a href=\\\"$PHP_SELF?valg=$valg&send=jep&film=$film&type=$type&dato=$dato&alfabet=$alfabet&offset=$prev\\\"><img src=\\\"images/tilbage.gif\\\" width=\\\"80\\\" height=\\\"15\\\" alt=\\\"\\\" border=\\\"0\\\"></a></td>\"; } else { echo \" <td width=\\\"33%\\\"></td>\"; } for ($i = 1;$i <= $pages;$i++) { $newoffset = $limit * ($i-1); if ($offset == $newoffset) { $next = $i * 5; print (\"<td width=\\\"33%\\\" align=\\\"center\\\">Side $i</td>\"); } else { } } $count = $pages * 5; if ($count == $next) { echo \" <td width=\\\"33%\\\"></td>\"; } else { echo \"<td width=\\\"33%\\\" align=\\\"right\\\"><a href=\\\"$PHP_SELF?valg=$valg&send=jep&film=$film&type=$type&dato=$dato&alfabet=$alfabet&offset=$next\\\"><img src=\\\"images/tilbage.gif\\\" width=\\\"76\\\" height=\\\"15\\\" alt=\\\"\\\" border=\\\"0\\\"></a></td>\"; } /// echo \"</tr> </table>\"; } } else { ?> <form name=\"get\" method=\"get\" action=\"soeg.php\"> <table cellspacing=\"2\" cellpadding=\"2\" border=\"0\"> <tr> <td align=\"right\">Find</td> <td><input type=\"text\" size=\"10\" style=\"width: 97px\" maxlength=\"40\" name=\"soegeord\" class=\"text\"></td> </tr> <tr> <td align=\"right\">i</td> <td><select name=\"valg\"> <option value=\"Programmer\" <?PHP if ($valg == \'Programmer\') echo \"selected\" ?>>Programmer</option> <option value=\"Artikler\" <?PHP if ($valg == \'Artikler\') echo \"selected\" ?>>Artikler</option> <option value=\"Film\"<?PHP if ($valg == \'Film\') echo \"selected\" ?>>Film</option> <option value=\"Undertekster\"<?PHP if ($valg == \'Undertekster\') echo \"selected\" ?>>Undertekster</option> <option value=\"Forum\"<?PHP if ($valg == \'Forum\') echo \"selected\" ?>>Forum</option> </select></td> </tr> <tr> <td></td><td><input type=\"image\" src=\"images/soeg2.gif\" alt=\"Søg\" border=\"0\"></td> </tr> </form> </table> <?PHP } ?>
26. august 2001 - 22:42
#5
en lille en: <form method=\"POST\" action=\"<?echo $php_self;?>\"> <p><input type=\"text\" name=\"find\" size=\"20\"> <input type=\"submit\" value=\"Send\" name=\"action\"> <input type=\"reset\" value=\"Nulstil\"></p> </form> <?php if(!$find)exit; mysql_connect($sql_host,$sql_user,$sql_passwd); mysql_select_db(\"$db\"); $result = mysql_query(\"SELECT rows FROM tabel where rows like \'%$find%\'\"); while ($row = mysql_fetch_array($result)){ echo $row[svar],\"<br><br>\"; } ?>