the sql:
create database content; use content;
create table articles ( articleId int auto_increment, title varchar(50) not null, content text, primary key(articleId), unique id(articleId) );
create table searchWords ( wordId int auto_increment, word varchar(50), articleIds varchar(255), primary key(wordId), unique id(wordId) );
insert into articles values(0, 'MySQL is a great database', 'If you\'re after a top quality database, then you should consider MySQL. MySQL is packed with features, and can be installed on both Linux and Windows servers.');
insert into searchWords values(0, 'MySQL', '1');
insert into searchWords values(0, 'install', '1');
insert into articles values(0, 'MySQL: Most popular DBMS!', 'A recent survey conducted by Company X indicated that 98% of Linux developers prefer MySQL over any other DBMS. Developers prefer MySQL because it is fast, free and also cross-platform.');
update searchWords set articleIds = '1,2' where word = 'MySQL';
insert into searchWords values(0, 'survey', 2);
insert into articles values(0, 'Apache is pronounced A-Patchy', 'Did you know that Apache is pronounced A-Patchy, because back in its early days it consisted of code that was just \'patched\' together roughly to create a web server?');
insert into searchWords values(0, 'apache', 3);
the php:
<?php
$submit = $_POST["submit"]; $keywords = $_POST["keywords"];
if(isset($submit) || isset($keywords)) { doSearch($keywords); } else { getKeywords(); }
function getKeywords() { ?>
<html> <head> <title> Enter Search Keywords </title> </head>
<body bgcolor="#FFFFFF">
<form name="frmKW" action="searchdocs.php" method="post"> <h1>Keyword Search</h1> Enter keywords to search on: <input type="text" name="keywords" maxlength="100"> <br><br><input type="submit" name="submit" value="Search">
</form>
</body> </html>
<?php }
function doSearch($search_keywords) { $arrWords = explode(" ", $search_keywords);
if(sizeof($arrWords) == 0 || $search_keywords == "") { echo "You didn't enter any keywords<br>"; echo "<a href='searchdocs.php'>Go Back</a>"; } else {
// Connect to the database $dServer = "localhost"; $dDb = "content"; $dUser = "admin"; $dPass = "password";
$s = @mysql_connect($dServer, $dUser, $dPass) or die("Couldn't connect to database server");
@mysql_select_db($dDb, $s) or die("Couldn't connect to database");
$count = 0; $articles = array();
for($i = 0; $i < sizeof($arrWords); $i++)
{
$query = "select articleIds from searchWords where word = '{$arrWords[$i]}'";
$result = mysql_query($query);
if(mysql_num_rows($result) > 0) { // Get the id's of the articles $row = mysql_fetch_array($result); $arrIds = explode(",", $row[0]); $arrWhere = implode(" OR articleId = ", $arrIds);
$aQuery = "select articleId, title, left(content, 100) as summary from articles where articleId = " . $arrWhere;
$aResult = mysql_query($aQuery);
if(mysql_num_rows($aResult) > 0) { while($aRow = mysql_fetch_array($aResult)) { $articles[$count] = array ( "articleId" => $aRow["articleId"], "title" => $aRow["title"], "summary" => $aRow["summary"] ); $count++; } } }
}
if(isset($articles))
{
$articles = array_unique($articles);
echo "<h1>" . sizeof($articles);
echo (sizeof($articles) == 1 ? " article" : " articles");
echo " found:</h1>";
foreach($articles as $a => $value)
{
?>
<a href="article.php?articleId=<?php echo $articles[$a]["articleId"]; ?>">
<b><u><?php echo $articles[$a]["title"]; ?></u></b>
</a>
<br><?php echo $articles[$a]["summary"] . "..."; ?>
<br>
<a href="article.php?articleId=<?php echo $articles[$a]; ?>">
http://localhost/article.php?articleId=<?php echo $articles[$a]["articleId"]; ?>
</a>
<br><br>
<?php
}
}
else
{
echo "No results found for '$search_keywords'<br>";
echo "<a href='searchdocs.php'>Go Back</a>";
}
} }
?>
can anybody please point me out on how to display the articles? thaks in advance...
jeff...
-- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php