search engine

Kot nov, kot ne-računalniški mojster, bi rad imel na svoji strani Iskalnik v obliki search.php
Sedaj sem našel en skript. Vendar,kako ga nastavit?

Ne vem, ali sem prav nastavil moje podatke, ali mi kaj fali rcm. http://?
V 120 vrstici mi javlja en err.

<?php
$hostnamelogon = "casinopokercoin.com" ;
$database
logon = "sitemap.html" ;
$usernamelogon = "mojlogon" ;
$password
logon = "mojPassword" ;
//open database connection
$connections = mysqlconnect($hostnamelogon, $usernamelogon, $passwordlogon) or die ( "Unabale to connect to the database" );
//select database
mysqlselectdb($database_logon) or die ( "Unable to select database!" );

//specify how many results to display per page
$limit = 10;

// Get the search variable from URL
$var = @$GET['q'] ;
//trim whitespace from the stored variable
$trimmed = trim($var);
//separate key-phrases into keywords
$trimmed
array = explode(" ",$trimmed);

// check for an empty string and display a message.
if ($trimmed == "") {
$resultmsg = "<p>Search Error</p><p>Please enter a search...</p>" ;
}

// check for a search parameter
if (!isset($var)){
$resultmsg = "<p>Search Error</p><p>We don't seem to have a search parameter! </p>" ;
}
// Build SQL Query for each keyword entered
foreach ($trimmedarray as $trimm){
// EDIT HERE and specify your table and field names for the SQL query
$query = "SELECT * FROM tablename WHERE field1 LIKE '%$trimm%' OR field2 like '%$trimm%' OR field3 like '%$trimm%' ORDER BY field1 DESC" ;
// Execute the query to get number of rows that contain search kewords
$numresults=mysql
query ($query);
$rownumlinksmain =mysqlnum_rows ($numresults);

 // next determine if 's' has been passed to script, if not use 0.
  // 's' is a variable that gets set as we navigate the search result pages.
 if (empty($s)) {
      $s=0;
  }

  // now let's get results.
  $query .= " LIMIT $s,$limit" ;
   $numresults = mysql_query ($query) or die ( "Couldn't execute query" );
   $row= mysql_fetch_array ($numresults);

  //store record id of every item that contains the keyword in the array we need to do this to avoid display of duplicate search result.
   do{
       $adid_array[] = $row[ 'fieldid' ];
   }while( $row= mysql_fetch_array($numresults));

} //end foreach

if($rownumlinksmain == 0 && $rowsetnum == 0){
$resultmsg = "<p>Search results for: ". $trimmed."</p><p>Sorry, your search returned zero results</p>" ;
}
//delete duplicate record id's from the array. To do this we will use array
unique function
$tmparr = arrayunique($adidarray);
$i=0;
foreach ($tmparr as $v) {
$newarr[$i] = $v;
$i++;
}

// now you can display the results returned. But first we will display the search form on the top of the page
?>

<form action="search.php" method="get" name="search">
<div align="center">
<input name="q" type="text" value=" <?php echo $q; ?> " size="15">
<input name="search" type="submit" value="Search">
</div>
</form>

<?php
// display what the person searched for.
if( isset ($resultmsg)){
echo $resultmsg;
exit();
}else{
echo "Search results for: " . $var;
}

foreach($newarr as $value){
// EDIT HERE and specify your table and field names for the SQL query
$queryvalue = "SELECT * FROM tablename WHERE fieldid = '$value'";
$num
value=mysqlquery ($queryvalue);
$rowlinkcat= mysqlfetcharray ($numvalue);
$rownumlinks= mysqlnumrows ($num_value);

//now let's make the keywods bold. To do that we will use pregreplace function.
//Replace field
$titlehigh = preg
replace ( "'($var)'si" , "<b> //1</b>" , $rowlinkcat[ 'field1' ] );
$linkhigh = preg
replace ( "'($var)'si" , "<b> //1</b>" , $rowlinkcat[ 'field2' ] );
$linkdesc = preg
replace ( "'($var)'si" , "<b> //1</b>" , $row_linkcat[ 'field3' ] );

foreach($trimmedarray as $trimm){
if($trimm != 'b' ){
$titlehigh = preg
replace( "'($trimm)'si" , "<b> //1</b>" , $titlehigh);
$linkhigh = pregreplace( "'($trimm)'si" , "<b> //1</b>" , $linkhigh);
$linkdesc = preg
replace( "'($trimm)'si" , "<b> //1</b>" , $linkdesc);
}
//end highlight

?>
<p>
<?php echo $titlehigh; ?><br>
<?php echo $linkhigh; ?><br>
<?php echo $linkhigh; ?>
</p>

<?php
} //end foreach $trimmedarray
if($row
numlinksmain > $limit){
// next we need to do the links to other search result pages
if ($s>=1) { // do not display previous link if 's' is '0'
$prevs=($s-$limit);
echo "<div align='left'><a target="_blank" href='$PHP_SELF?s=$prevs&q=$var&catid=$catid'>Previous " .$limit. "</a></div>";
}
// check to see if last page
$slimit =$s+$limit;
if (!($slimit >= $rownumlinksmain) && $rownumlinksmain!=1) {
// not last page so display next link
$n=$s+$limit;
echo "<div align='right'><a target="_blank" href='$PHP_SELF?s=$n&q=$var&catid=$catid'>Next " .$limit. "</a></div>";
}
}
} //end foreach $newarr
?>

9 odgovorov

Najlažje ti je uporabiti yahoo boss.
Super zadeva za easy iskanja.

1

Tale skripta, ki si jo prilepil ima na videz bolj slabo poskrbljeno za varnost, tako da če nimaš to samo zase nek search lokalno jaz tega ne bi dajal na splet v taki obliki.

$database_logon se mi tudi ne zdi ravno pravilno sitemap.html

1

OvcaX:
Najlažje ti je uporabiti yahoo boss.
Super zadeva za easy iskanja.

Nisem čist zadovoljen z yahoo in z googlom search engine..sploh pa ko ne vem,kako ga uporabit,da bi men prišel prav.

Zato bom kar svojega naredil...(čez par let:-))

Potebujem Vodič za search engine - search.php
Nekje sem zasledil, da rabiš podatke,kot so: server, username, password in pa po kateri bazi bo iskal na moji domeni. Jaz sem mislil, da sitemap.html

Raje se nauči uporabiti obstoječega.
Iskalnik ki ti bo iskal po sitemap ni vreden 5 min dela.(da ne bos prevec studiral)

mprose7:
Raje se nauči uporabiti obstoječega.
Iskalnik ki ti bo iskal po sitemap ni vreden 5 min dela.(da ne bos prevec studiral)

Če ti čist po pravic povem, sem se že tolk zaplezal, v zadnjem meseci,da ne vem, kje začet?!

jas nisem programer ampak sem le uporabnik

Potem pa imaš samo dve variante:
- upoštevaš nasvet od OvcaX da uporabiš yahoo boss ali pa google search
- najameš progamerja

Na ti šenkam celo en del kode, za yahoo boss (samo prijavit pa dobit kodo moraš pa sam). Pa ni najlepša ampak delat pa more.

function zamenjajsumnike($link){
$link = str
replace('č', 'c', $link);
$link = strreplace('ž', 'z', $link);
$link = str
replace('š', 's', $link);
$link = strreplace('Č', 'C', $link);
$link = str
replace('Ž', 'Z', $link);
$link = strreplace('Š', 'S', $link);
$link = str
replace(' ', '+', $link);
return $link;
}

$appid = '';
$query = $POST['searchquery'];
$url = 'http://boss.yahooapis.com/ysearch/web/v1/' . zamenjaj_sumnike($query) . '+site:www.tvojadomena.si?appid=' . $appid;

$ch = curlinit();
curl
setopt($ch, CURLOPTURL, $url);
curl
setopt($ch, CURLOPTRETURNTRANSFER, TRUE);
$result = curl
exec($ch);
$result = json_decode($result);

if(count($result->ysearchresponse->resultset_web)==0){
$out = "<p>Ni zadetkov</p>";
}

for($i=0; $i<count($result->ysearchresponse->resultsetweb); ++$i)
{
$naslov = '<a href="'.$result->ysearchresponse->resultset
web[$i]->clickurl;
$naslov .= '">' . $result->ysearchresponse->resultsetweb[$i]->title . '</a>';
$vsebina = $result->ysearchresponse->resultset
web[$i]->abstract;

    $out .= $naslov . "<br />" . $vsebina . "<br />";

}

print $out;

4