op zoek naar een zoek script op data base

Status
Niet open voor verdere reacties.

ciske de rat

Verenigingslid
Lid geworden
10 jun 2003
Berichten
964
naar mate ik zoek op google wordt hiet niet veel wijzer uit

zou iemand mijn kunnen helpen aan volgende

ik heb een
databasenaam moffia_db_flash
tabel naam tbl_movies

met daar in
id
name
year
mrl
director
description

nu wil ik graag een zoek machine op die ook op halve woorden zoekt of een gedeelte
en alles laat zien wat ik in gevoerd heb bij die id name year mrl director description

is dat mogelijk en hoe
is er iemand die voor dit in elkaar kan zetten
 
je kunt door de database lopen en zoeken met:
PHP:
$teller =0;
if(stristr($DataUitDeDataBase, '$zoekstring') === TRUE){
// uitkomst true
$teller++; // een optellen
// onthoud het bijbehoorende id of geef de resultaten terug die je nodig hebt.
}else{
// uitkomst false
// doe waarschijnlijk niets
}
if($teller=="0"){
echo("Geen resultaten gevonden op $zoekstring");
}else{
$teller=0; // terug op nul zetten voor volgende keer
}

voor php instructies gebuik ik de site:
www.php.net
De gebuikte functie is onderstaande link
http://nl2.php.net/manual/en/function.stristr.php

Groeten,
Fred
 
Laatst bewerkt:
wat ik nu gevonden heb

zoeken.php
Code:
<form name="form" action="search.php" method="get">
  <input type="text" name="q" />
  <input type="submit" name="Submit" value="Search" />
</form>

search.php
Code:
<?php

  // Get the search variable from URL
  $var = @$_GET['q'] ;
  $trimmed = trim($var); //trim whitespace from the stored variable

// rows to return
$limit=10; 

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

// check for a search parameter
if (!isset($var))
  {
  echo "<p>We dont seem to have a search parameter!</p>";
  exit;
  }

//connect to your database ** EDIT REQUIRED HERE **
mysql_connect("localhost","moffia","12345678"); //(host, username, password)

//specify database ** EDIT REQUIRED HERE **
mysql_select_db("moffia_db_flash ") or die("Unable to select database"); //select which database we're using

// Build SQL Query  
$query = "select * from tbl_movies where 1st_field like \"%$trimmed%\"tbl_movies"; // EDIT HERE and specify your table and field names for the SQL query

 $numresults=mysql_query($query);
 $numrows=mysql_num_rows($numresults);

// If we have no results, offer a google search as an alternative

if ($numrows == 0)
  {
  echo "<h4>Results</h4>";
  echo "<p>Sorry, your search: &quot;" . $trimmed . "&quot; returned zero results</p>";

// google
 echo "<p><a href=\"http://www.google.com/search?q=" 
  . $trimmed . "\" target=\"_blank\" title=\"Look up 
  " . $trimmed . " on Google\">Click here</a> to try the 
  search on google</p>";
  }

// next determine if s has been passed to script, if not use 0
  if (empty($s)) {
  $s=0;
  }

// get results
  $query .= " limit $s,$limit";
  $result = mysql_query($query) or die("Couldn't execute query");

// display what the person searched for
echo "<p>You searched for: &quot;" . $var . "&quot;</p>";

// begin to show results set
echo "Results";
$count = 1 + $s ;

// now you can display the results returned
  while ($row= mysql_fetch_array($result)) {
  $title = $row["1st_field"];

  echo "$count.)&nbsp;$title" ;
  $count++ ;
  }

$currPage = (($s/$limit) + 1);

//break before paging
  echo "<br />";

  // next we need to do the links to other results
  if ($s>=1) { // bypass PREV link if s is 0
  $prevs=($s-$limit);
  print "&nbsp;<a href=\"$PHP_SELF?s=$prevs&q=$var\">&lt;&lt; 
  Prev 10</a>&nbsp&nbsp;";
  }

// calculate number of pages needing links
  $pages=intval($numrows/$limit);

// $pages now contains int of pages needed unless there is a remainder from division

  if ($numrows%$limit) {
  // has remainder so add one page
  $pages++;
  }

// check to see if last page
  if (!((($s+$limit)/$limit)==$pages) && $pages!=1) {

  // not last page so give NEXT link
  $news=$s+$limit;

  echo "&nbsp;<a href=\"$PHP_SELF?s=$news&q=$var\">Next 10 &gt;&gt;</a>";
  }

$a = $s + ($limit) ;
  if ($a > $numrows) { $a = $numrows ; }
  $b = $s + 1 ;
  echo "<p>Showing results $b to $a of $numrows</p>";
  
?>


om aan te g even database naam is moffia_db_flash en tabrl naam is tbl_movies
 
ook deze werkt niet

ook deze werkt niet
zie hier mijn bebedoeling
1295842348-770.jpg


nu is debedoeling om naam year mrl director en description
mee te nemen in een zoek machine en als ik bij voor beeld gedeelte in vul bij voorbeeld zwar dat alle namen met zwart om hoog komen
incl het year mrl director en description
 
Laatst bewerkt:
Ok�,

Je begint met het zoekformulier dat jij hebt.
mss dat get in hoodletter moet weet het niet zeker.
HTML:
<form name="form" action="search.php" method="GET">
  <input type="text" name="q" />
  <input type="submit" name="Submit" value="Search" />
</form>

PHP:
// Get the search variable from URL
  $var = $_GET['q'] ;
echo("$var");  // plaats een echo om te zien of de variable wordt opgehaald!

//connect to your database ** EDIT REQUIRED HERE **

$servernaam = "localhost";
$gebruiker = "moffia_db_flash"; // is bij jouw bekend
$wachtwoord = "ciskederat"; // is bij jouw bekend
$db = "moffia_db_flash"; // is bij jouw bekend

mysql_connect($servernaam,$gebruiker,$wachtwoord);
mysql_select_db($db);

$sql = "SELECT * FROM `tbl_movies`"; //alle records ophalen
$ophalen = mysql_query($sql) or die(mysql_error()); // query uitvoeren
$aantal = mysql_num_rows($ophalen); // aantal records tellen
  while($record = mysql_fetch_array($ophalen)){
  $id = $record[0];
  $name = $record[1];
  $year = $record[2];
  $mrl = $record[3];
  $director= $record[4];
  $description = $record[5];
// controleren of zoekwoord voorkomt

if(stristr($description , '$var') === TRUE){
    echo("$year<br />\r\n$mrl<br />\r\n$director<br />\r\n$description<br />\r\n ");
}

}

\r\n => geeft in de code op nieuwe regel
De database doorloopt alle records encontroleert of $var voorkomt.
Als dit waar is geef ik met echo het year mrl director en description weer.

Ik hoop dat je hier mee verder komt.
Groeten,
Fred
 
mijn dank is groot

mijn dank is nu al groot
lol ik gaat gelijk
uitproberen om te kijken of hij het nog doet ook
 
zoals vermeld

zo als vermeld heb ik dit wel toe gepast op je script <?php
en op eind ?> moet neer zetten
anders wert heel de inhoud zichbaar van het script
lijkt er op of hij geen connectie maakt met de data base
 
voor het aanmaken van je DB heb je zelf een gebruikersnaam en wachtwoord gekozen.
ik zie DB _db_flash.
dus de gegevens die je toen hebt ingevuld moet je hebben.
 
nu ik bij gebruikersnaam

nu ik bij gebruikersnaam moffia@localhost heb in gevuld
krijg ik de volgende foutmelding

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'moffia@localhost'@'localhost' (using password: YES) in /home/moffia/domains/moffia.nl/public_html/flash/zoek/search.php on line 22

Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'apache'@'localhost' (using password: NO) in /home/moffia/domains/moffia.nl/public_html/flash/zoek/search.php on line 23

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /home/moffia/domains/moffia.nl/public_html/flash/zoek/search.php on line 23

Warning: mysql_query() [function.mysql-query]: Access denied for user 'apache'@'localhost' (using password: NO) in /home/moffia/domains/moffia.nl/public_html/flash/zoek/search.php on line 26

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/moffia/domains/moffia.nl/public_html/flash/zoek/search.php on line 26
Access denied for user 'apache'@'localhost' (using password: NO)
Code:
mysql_connect($servernaam,$gebruiker,$wachtwoord);
mysql_select_db($db);
 
$sql = "SELECT * FROM `tbl_movies`"; //alle records ophalen
$ophalen = mysql_query($sql) or die(mysql_error()); // query uitvoeren
 
nu alleen moffia

als gebruikersnaam heb ik moffia in gevuld
nu krijg ik die fout melding niet
waar type ik in zwart water en druk op zoeken krijg ik alleen de teskt te zien
 
haha zou wel erg zijn als dat het was!
hij zoekt in de tabel tbl_movie
in recorditen 'decription'
ik heb het geprobeerd met Drama want die zag ik in jouw post staan.
die wekt ookniet.

je kunt de if regel weghalen inclusief {}
je houd dan alleen de regel met echo over.
Het maakt niet uit waar je nu op zoekt, hij geeft nu alle records weer.
 
deze regel

deze regel
echo("$var"); // plaats een echo om te zien of de variable wordt opgehaald!
 
nee, ik bedoel:
if(stristr($description , '$var') === TRUE){
echo("$year<br />\r\n$mrl<br />\r\n$director<br />\r\n$description<br />\r\n ");
}

dit wordt dan :
echo("$year<br />\r\n$mrl<br />\r\n$director<br />\r\n$description<br />\r\n ");

nu controleert ie niet op zoek woord maar laat alles zien
kijken of dit wel werkt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan