Search Engine με multiple search keywords από drop down menu

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Nomadi
Δημοσιεύσεις: 14
Εγγραφή: 16 Απρ 2008 16:25

Search Engine με multiple search keywords από drop down menu

Δημοσίευση από Nomadi » 16 Απρ 2008 16:28

Καλησπέρα και καλώς σας βρήκα.
Ετοιμάζω ένα project για τη σχολή μου το οποίο αποτελείται από μια μηχανή αναζήτησης για τα δρομολόγια του προαστιακού.
Βρήκα αρκετά scripts στο internet για μηχανή αναζήτησης αλλά μόνο ένα δούλεψε για μένα.Το πρόβλημα μου είναι ότι δουλεύει κανονικά όταν ο χρήστης δώσει ένα keyword για αναζήτηση ενώ εγώ θα ήθελα να εμφανίσω 4 drop down menus και ο χρήστης να επιλέγει πχ αφετηρία,προορισμό,ημερομηνία και ώρα δρομολογίου και κατόπιν να γίνεται η αναζήτηση και με τα 4 keywords.Ενώ μπορώ να κάνω edit το συγκεκριμένο script για να εμφανίσω αυτά τα drop down menus δεν ξέρω πως να πάρω και τα 4 κριτήρια αναζήτησης και να γίνει η αναζήτηση με βάση αυτά.
Μπορείτε να με βοηθήσετε?
Παραθέτω τον κώδικα.

Κώδικας: Επιλογή όλων

<html>
<head>
<title>Test</title>
</head>
<body>

<form name="form" action="search.php" method="get">
  <select name="q" size="1" />
  <option value="ano liosia">Ano Liosia
  <option value="aspropyrgos">Aspropyrgos
  <option value="kiato">Kiato
  

  <select name="q" size="1" />
  <option value="ano liosia">Ano Liosia
  <option value="aspropyrgos">Aspropyrgos
  <option value="kiato">Kiato
  

  <select name="q" size="1" />
  <option value="03/04/2008">03/04/2008
  <option value="04/04/2008">04/04/2008
  <option value="05/04/2008">05/04/2008
  </select>
  <input type="submit" name="Submit" value="Search" />
</form>

<?php

  // Get the search variable from URL

  $var = @$_GET&#91;'q'&#93; ;
  $trimmed = trim&#40;$var&#41;;   //trim whitespace from the stored variable

// rows to return
$limit=50; 

// check for an empty string and display a message.
if &#40;$trimmed == ""&#41;
  &#123;
  echo "<p>Please enter a search...</p>";
  exit;
  &#125;

// check for a search parameter
if &#40;!isset&#40;$var&#41;&#41;
  &#123;
  echo "<p>We dont seem to have a search parameter!</p>";
  exit;
  &#125;

//connect to your database ** EDIT REQUIRED HERE **
mysql_connect&#40;"localhost","root","mypass"&#41;; //&#40;host, username, password&#41;

//specify database ** EDIT REQUIRED HERE **
mysql_select_db&#40;"search"&#41; or die&#40;"Unable to select database"&#41;; //select which database we're using

// Build SQL Query  
$query = "select * from omg where afetiria like \"%$trimmed%\" OR proorismos like \"%$trimmed%\" OR imerominia like \"%$trimmed%\" OR ora like \"%$trimmed%\" 
  order by afetiria"; // EDIT HERE and specify your table and field names for the SQL query

 $numresults=mysql_query&#40;$query&#41;;
 $numrows=mysql_num_rows&#40;$numresults&#41;;

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

if &#40;$numrows == 0&#41;
  &#123;
  echo "<h4>Results</h4>";
  echo "<p>Sorry, your search&#58; &quot;" . $trimmed . "&quot; returned zero results</p>";

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

// next determine if s has been passed to script, if not use 0
  if &#40;empty&#40;$s&#41;&#41; &#123;
  $s=0;
  &#125;

// get results
  $query .= " limit $s,$limit";
  $result = mysql_query&#40;$query&#41; or die&#40;"Couldn't execute query"&#41;;

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

// begin to show results set
echo "Results&#58;&nbsp;Afetiria&nbsp;//Proorismos&nbsp;//Imerominia&nbsp;//Ora<br />";
$count = 1 + $s ;

// now you can display the results returned
  while &#40;$row= mysql_fetch_array&#40;$result&#41;&#41; &#123;
  $title = $row&#91;"afetiria"&#93;;
  $title1 = $row&#91;"proorismos"&#93;;
  $title2 = $row&#91;"imerominia"&#93;;
  $title3 = $row&#91;"ora"&#93;;

  echo "$count.&#41;&nbsp;$title&nbsp;//&nbsp;$title1&nbsp;//&nbsp;$title2&nbsp;//&nbsp;$title3<br />" ;
  $count++ ;
  &#125;

$currPage = &#40;&#40;$s/$limit&#41; + 1&#41;;

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

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

// calculate number of pages needing links
  $pages=intval&#40;$numrows/$limit&#41;;

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

  if &#40;$numrows%$limit&#41; &#123;
  // has remainder so add one page
  $pages++;
  &#125;

// check to see if last page
  if &#40;!&#40;&#40;&#40;$s+$limit&#41;/$limit&#41;==$pages&#41; && $pages!=1&#41; &#123;

  // 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>";
  &#125;

$a = $s + &#40;$limit&#41; ;
  if &#40;$a > $numrows&#41; &#123; $a = $numrows ; &#125;
  $b = $s + 1 ;
  echo "<p>Showing results $b to $a of $numrows</p>";
  
?>


</body>
</html>
Καταλαβαίνω ότι κάτι παίζει με το <select name="q" και το $var = @$_GET['q'] ; αλλά δε γνωρίζω πως πρέπει να το κάνω edit.
Ευχαριστώ για οποιαδήποτε βοήθεια.

Άβαταρ μέλους
Marinos Stergiou
Δημοσιεύσεις: 741
Εγγραφή: 12 Νοέμ 2006 14:49
Τοποθεσία: Τριτοκοσμική

Search Engine με multiple search keywords από drop down menu

Δημοσίευση από Marinos Stergiou » 16 Απρ 2008 19:14

Κώδικας: Επιλογή όλων

<html>
<head>
</head>

<body>

<form name="form" action="search.php" method="get"> 
  <select name="q1" size="1" /> 
  <option value="ano liosia">Ano Liosia 
  <option value="aspropyrgos">Aspropyrgos 
  <option value="kiato">Kiato</select> 
  

  <select name="q2" size="1" /> 
  <option value="ano liosia">Ano Liosia 
  <option value="aspropyrgos">Aspropyrgos 
  <option value="kiato">Kiato </select>
  

  <select name="q3" size="1" /> 
  <option value="03/04/2008">03/04/2008 
  <option value="04/04/2008">04/04/2008 
  <option value="05/04/2008">05/04/2008 
  </select> 
  
  <select name="q4" size="1" /> 
  <option value="03/04/2008">03/04/2008 
  <option value="04/04/2008">04/04/2008 
  <option value="05/04/2008">05/04/2008 
  </select> 
    
  <input type="submit" name="Submit" value="Search" /> 
</form> 

</body>
</html>


<? 

  // Get the search variable from URL 

  $var1 = @$_GET&#91;'q1'&#93; ;
  $var2 = @$_GET&#91;'q2'&#93; ;
  $var3 = @$_GET&#91;'q3'&#93; ;
  $var4 = @$_GET&#91;'q4'&#93; ;
//
//
//  
?>

Οι μεταβλητές var1, var2, var3, var4 παίρνουν τιμές από τις αντίστοιχες q1,q2,q3,q4 της φόρμας. Μέ αυτές θα αναζητήσεις από την βάση σου τα στοιχεία που θέλεις
Εάν δεν δουλέψει το method="get" βάλε method="post"

Nomadi
Δημοσιεύσεις: 14
Εγγραφή: 16 Απρ 2008 16:25

Search Engine με multiple search keywords από drop down menu

Δημοσίευση από Nomadi » 16 Απρ 2008 19:52

Ευχαριστώ για την απάντηση,θα το δοκιμάσω σε λιγάκι και θα ξαναποστάρω.

Nomadi
Δημοσιεύσεις: 14
Εγγραφή: 16 Απρ 2008 16:25

Search Engine με multiple search keywords από drop down menu

Δημοσίευση από Nomadi » 16 Απρ 2008 21:00

Έκανα αυτό που μου είπες με τις 4 διαφορετικές μεταβλητές και ενώ μου λέει πως έψαξα με βάση τα 4 κριτήρια τα αποτελέσματα φαίνεται να επιστρέφονται λαμβάνοντας μόνο μια από αυτές και συγκεκριμένα νομίζω μόνο την ώρα.
Τα παρακάτω είναι τα σημεία που άλλαξα.

Κώδικας: Επιλογή όλων

// Get the search variable from URL

  $var1 = @$_GET&#91;'q1'&#93; ;
  $var2 = @$_GET&#91;'q2'&#93; ;
  $var3 = @$_GET&#91;'q3'&#93; ;
  $var4 = @$_GET&#91;'q4'&#93; ;
  $trimmed1 = trim&#40;$var1&#41;;
  $trimmed2= trim&#40;$var2&#41;;
  $trimmed3 = trim&#40;$var3&#41;;
  $trimmed4 = trim&#40;$var4&#41;;   //trim whitespace from the stored variable


// check for a search parameter
if &#40;!isset&#40;$var1,$var2,$var3,$var4&#41;&#41;
  &#123;
  echo "<p>We dont seem to have a search parameter!</p>";
  exit;
  &#125;


// Build SQL Query  
$query = "select * from omg where afetiria like \"%$trimmed1%\" or proorismos like \"%$trimmed2%\" or imerominia like \"%$trimmed3%\" or ora like \"%$trimmed4%\" 
  order by ora asc"; // EDIT HERE and specify your table and field names for the SQL query


// display what the person searched for
echo "<p>You searched for&#58; &quot;" . $var1 . "&quot;&quot;" . $var2 . "&quot;&quot;" . $var3 . "&quot;&quot;" . $var4 . "&quot;</p>";
Έχει και παρακάτω την μεταβλητή $var αλλά δεν ξέρω πως ακριβώς να την αλλάξω και δεν ξέρω κατά πόσο μπορεί να φταίει αυτό καθώς τα $var αυτά είναι για το next page και previous page.Έπίσης δοκίμασα στο query να βάλω AND αντι για OR που έχω τώρα αλλά δε μου δούλεψε. :(

EDIT:Είχα ξεχάσει να βάλω τα trimmed1 2 3 4 στο mysql query αλλά και τώρα που τα έβαλα δεν κάνει καθόλου αναζήτηση ενώ πριν έκανε έστω και λαμβάνοντας υπόψη μόνο την ώρα.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

Search Engine με multiple search keywords από drop down menu

Δημοσίευση από fafos » 16 Απρ 2008 22:04

Antikatesthse thn query sou me to parakato:

Κώδικας: Επιλογή όλων

if&#40;trimmed1 || $trimmed2 ||$trimmed3 || $trimmed4&#41; &#123;
       $sql = "select * from omg  WHERE ";
	if&#40;$trimmed1  !=''&#41; &#123; $sql .= " afetiria LIKE '%$trimmed1%' AND"; &#125;
	if&#40;$trimmed2  !=''&#41; &#123; $sql .= " proorismos LIKE '%$trimmed2%' AND "; &#125;
	if&#40;$trimmed2  !=''&#41; &#123; $sql .= " proorismos LIKE '%$trimmed3%' AND "; &#125;
	if&#40;$trimmed4  !=''&#41; &#123; $sql .= " ora LIKE '%$trimmed4%' "; &#125;
	if&#40;substr&#40;$sql, strlen&#40;$sql&#41;-4, 4&#41; == ' AND'&#41; &#123;	$sql = substr&#40;$sql, 0, strlen&#40;$sql&#41;-4&#41;; &#125;
				   $sql .= " order by ora asc";

        	$result = mysql_query&#40;$sql,$linka&#41;;
&#125;

Nomadi
Δημοσιεύσεις: 14
Εγγραφή: 16 Απρ 2008 16:25

Search Engine με multiple search keywords από drop down menu

Δημοσίευση από Nomadi » 16 Απρ 2008 22:17

Thanks για την απάντηση Fafos.Αντικατέστησα την query με τη δική σου αλλά πάλι τπτ.Όλα τα άλλα είναι σωστά δηλαδή?Παραθέτω πάλι τον κώδικα μήπως καταφέρετε να βρείτε κάποιο λάθος.

Κώδικας: Επιλογή όλων

<html>
<head>
<title>Αναζήτηση Δρομολογίων Προαστειακού Σιδηρόδρομου</title>
</head>

<body bgcolor="#ececec" text="#474545">

<b><h2 align="center">Μηχανή Αναζήτησης Δρομολογίων του Προαστειακού Σιδηρόδρομου.</h2></b>
<h4 align="center">Συμπληρώστε τη φόρμα που ακολουθεί και βρείτε το δρομολόγιο που σας ενδιαφέρει σε λίγα μόλις δευτερόλεπτα!</h4>

<br><br>

<form name="form" action="search.php" method="get">
  <select name="q1" size="1" />
  <option value="ano liosia">Ano Liosia
  <option value="aspropyrgos">Aspropyrgos
  <option value="kiato">Kiato</select>
 

  <select name="q2" size="1" />
  <option value="ano liosia">Ano Liosia
  <option value="aspropyrgos">Aspropyrgos
  <option value="kiato">Kiato </select>
 

  <select name="q3" size="1" />
  <option value="03/04/2008">03/04/2008
  <option value="04/04/2008">04/04/2008
  <option value="05/04/2008">05/04/2008
  </select>
 
  <select name="q4" size="1" />
  <option value="10&#58;19">10&#58;19
  <option value="10&#58;36">10&#58;36
  <option value="11&#58;36">11&#58;36
  </select>
   
  <input type="submit" name="Submit" value="Search" />
</form>

<?php

  // Get the search variable from URL

  $var1 = @$_GET&#91;'q1'&#93; ;
  $var2 = @$_GET&#91;'q2'&#93; ;
  $var3 = @$_GET&#91;'q3'&#93; ;
  $var4 = @$_GET&#91;'q4'&#93; ;
  $trimmed1 = trim&#40;$var1&#41;;
  $trimmed2 = trim&#40;$var2&#41;;
  $trimmed3 = trim&#40;$var3&#41;;
  $trimmed4 = trim&#40;$var4&#41;;   //trim whitespace from the stored variable

// rows to return
$limit=50; 

// check for an empty string and display a message.
if &#40;$trimmed == ""&#41;
  &#123;
  echo "<p>Please enter a search...</p>";
  exit;
  &#125;

// check for a search parameter
if &#40;!isset&#40;$var1,$var2,$var3,$var4&#41;&#41;
  &#123;
  echo "<p>We dont seem to have a search parameter!</p>";
  exit;
  &#125;

//connect to your database ** EDIT REQUIRED HERE **
mysql_connect&#40;"localhost","root","mypass"&#41;; //&#40;host, username, password&#41;

//specify database ** EDIT REQUIRED HERE **
mysql_select_db&#40;"search"&#41; or die&#40;"Unable to select database"&#41;; //select which database we're using

// Build SQL Query  
if&#40;trimmed1 || $trimmed2 ||$trimmed3 || $trimmed4&#41; &#123;
       $sql = "select * from omg  WHERE ";
   if&#40;$trimmed1  !=''&#41; &#123; $sql .= " afetiria LIKE '%$trimmed1%' AND"; &#125;
   if&#40;$trimmed2  !=''&#41; &#123; $sql .= " proorismos LIKE '%$trimmed2%' AND "; &#125;
   if&#40;$trimmed2  !=''&#41; &#123; $sql .= " proorismos LIKE '%$trimmed3%' AND "; &#125;
   if&#40;$trimmed4  !=''&#41; &#123; $sql .= " ora LIKE '%$trimmed4%' "; &#125;
   if&#40;substr&#40;$sql, strlen&#40;$sql&#41;-4, 4&#41; == ' AND'&#41; &#123;   $sql = substr&#40;$sql, 0, strlen&#40;$sql&#41;-4&#41;; &#125;
               $sql .= " order by ora asc";

           $result = mysql_query&#40;$sql,$linka&#41;;
&#125;

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

if &#40;$numrows == 0&#41;
  &#123;
  echo "<h4>Results</h4>";
  echo "<p>Sorry, your search&#58; &quot;" . $trimmed . "&quot; returned zero results</p>";

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

// next determine if s has been passed to script, if not use 0
  if &#40;empty&#40;$s&#41;&#41; &#123;
  $s=0;
  &#125;

// get results
  $query .= " limit $s,$limit";
  $result = mysql_query&#40;$query&#41; or die&#40;"Couldn't execute query"&#41;;

// display what the person searched for
echo "<p>You searched for&#58; &quot;" . $var1 . "&quot;&quot;" . $var2 . "&quot;&quot;" . $var3 . "&quot;&quot;" . $var4 . "&quot;</p>";

// begin to show results set
echo "Results&#58;&nbsp;Afetiria&nbsp;//Proorismos&nbsp;//Imerominia&nbsp;//Ora<br />";
$count = 1 + $s ;

// now you can display the results returned
  while &#40;$row= mysql_fetch_array&#40;$result&#41;&#41; &#123;
  $title = $row&#91;"afetiria"&#93;;
  $title1 = $row&#91;"proorismos"&#93;;
  $title2 = $row&#91;"imerominia"&#93;;
  $title3 = $row&#91;"ora"&#93;;

  echo "$count.&#41;&nbsp;$title&nbsp;//&nbsp;$title1&nbsp;//&nbsp;$title2&nbsp;//&nbsp;$title3<br />" ;
  $count++ ;
  &#125;

$currPage = &#40;&#40;$s/$limit&#41; + 1&#41;;

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

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

// calculate number of pages needing links
  $pages=intval&#40;$numrows/$limit&#41;;

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

  if &#40;$numrows%$limit&#41; &#123;
  // has remainder so add one page
  $pages++;
  &#125;

// check to see if last page
  if &#40;!&#40;&#40;&#40;$s+$limit&#41;/$limit&#41;==$pages&#41; && $pages!=1&#41; &#123;

  // 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>";
  &#125;

$a = $s + &#40;$limit&#41; ;
  if &#40;$a > $numrows&#41; &#123; $a = $numrows ; &#125;
  $b = $s + 1 ;
  echo "<p>Showing results $b to $a of $numrows</p>";
  
?>


</body>
</html>
Συγνώμη για το πρήξιμο και ευχαριστώ για το χρόνο σας.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

Search Engine με multiple search keywords από drop down menu

Δημοσίευση από fafos » 16 Απρ 2008 22:57

Auto:?

Κώδικας: Επιλογή όλων

<html>
<head>
<title>Αναζήτηση Δρομολογίων Προαστειακού Σιδηρόδρομου</title>
</head>

<body bgcolor="#ececec" text="#474545">

<b><h2 align="center">Μηχανή Αναζήτησης Δρομολογίων του Προαστειακού Σιδηρόδρομου.</h2></b>
<h4 align="center">Συμπληρώστε τη φόρμα που ακολουθεί και βρείτε το δρομολόγιο που σας ενδιαφέρει σε λίγα μόλις δευτερόλεπτα!</h4>

<br><br>

<form name="form" action="search.php" method="get">
  <select name="q1" size="1" />
  <option value="ano liosia">Ano Liosia
  <option value="aspropyrgos">Aspropyrgos
  <option value="kiato">Kiato</select>
 

  <select name="q2" size="1" />
  <option value="ano liosia">Ano Liosia
  <option value="aspropyrgos">Aspropyrgos
  <option value="kiato">Kiato </select>
 

  <select name="q3" size="1" />
  <option value="03/04/2008">03/04/2008
  <option value="04/04/2008">04/04/2008
  <option value="05/04/2008">05/04/2008
  </select>
 
  <select name="q4" size="1" />
  <option value="10&#58;19">10&#58;19
  <option value="10&#58;36">10&#58;36
  <option value="11&#58;36">11&#58;36
  </select>
   
  <input type="submit" name="Submit" value="Search" />
</form>

<?php

  // Get the search variable from URL

  $var1 = @$_GET&#91;'q1'&#93; ;
  $var2 = @$_GET&#91;'q2'&#93; ;
  $var3 = @$_GET&#91;'q3'&#93; ;
  $var4 = @$_GET&#91;'q4'&#93; ;
  $trimmed1 = trim&#40;$var1&#41;;
  $trimmed2 = trim&#40;$var2&#41;;
  $trimmed3 = trim&#40;$var3&#41;;
  $trimmed4 = trim&#40;$var4&#41;;   //trim whitespace from the stored variable

// rows to return
$limit=50;

// check for an empty string and display a message.
if &#40;$trimmed1 == "" && $trimmed2 == ""  && $trimmed3 == ""  && $trimmed4 == "" &#41;
  &#123;
  echo "<p>Please enter a search...</p>";
  exit;
  &#125;



//connect to your database ** EDIT REQUIRED HERE **
mysql_connect&#40;"localhost","root","mypass"&#41;; //&#40;host, username, password&#41;

//specify database ** EDIT REQUIRED HERE **
mysql_select_db&#40;"search"&#41; or die&#40;"Unable to select database"&#41;; //select which database we're using

// Build SQL Query 
if&#40;trimmed1 || $trimmed2 ||$trimmed3 || $trimmed4&#41; &#123;
       $query = "select * from omg  WHERE ";
   if&#40;$trimmed1  !=''&#41; &#123; $query .= " afetiria LIKE '%$trimmed1%' AND"; &#125;
   if&#40;$trimmed2  !=''&#41; &#123; $query .= " proorismos LIKE '%$trimmed2%' AND "; &#125;
   if&#40;$trimmed3  !=''&#41; &#123; $query .= " proorismos LIKE '%$trimmed3%' AND "; &#125;
   if&#40;$trimmed4  !=''&#41; &#123; $query .= " ora LIKE '%$trimmed4%' "; &#125;
   if&#40;substr&#40;$query, strlen&#40;$query&#41;-4, 4&#41; == ' AND'&#41; &#123;   $query = substr&#40;$query, 0, strlen&#40;$query&#41;-4&#41;; &#125;
               $query .= " order by ora asc";

$numresults=mysql_query&#40;$query&#41;;
$numrows=mysql_num_rows&#40;$numresults&#41;; 
&#125;

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

if &#40;$numrows == 0&#41;
  &#123;
  echo "<h4>Results</h4>";
  echo "<p>Sorry, your search&#58; &quot;" . $trimmed . "&quot; returned zero results</p>";

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

// next determine if s has been passed to script, if not use 0
  if &#40;empty&#40;$s&#41;&#41; &#123;
  $s=0;
  &#125;

// get results
  $query .= " limit $s,$limit";
  $result = mysql_query&#40;$query&#41; or die&#40;"Couldn't execute query"&#41;;

// display what the person searched for
echo "<p>You searched for&#58; &quot;" . $var1 . "&quot;&quot;" . $var2 . "&quot;&quot;" . $var3 . "&quot;&quot;" . $var4 . "&quot;</p>";

// begin to show results set
echo "Results&#58;&nbsp;Afetiria&nbsp;//Proorismos&nbsp;//Imerominia&nbsp;//Ora<br />";
$count = 1 + $s ;

// now you can display the results returned
  while &#40;$row= mysql_fetch_array&#40;$result&#41;&#41; &#123;
  $title = $row&#91;"afetiria"&#93;;
  $title1 = $row&#91;"proorismos"&#93;;
  $title2 = $row&#91;"imerominia"&#93;;
  $title3 = $row&#91;"ora"&#93;;

  echo "$count.&#41;&nbsp;$title&nbsp;//&nbsp;$title1&nbsp;//&nbsp;$title2&nbsp;//&nbsp;$title3<br />" ;
  $count++ ;
  &#125;

$currPage = &#40;&#40;$s/$limit&#41; + 1&#41;;

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

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

// calculate number of pages needing links
  $pages=intval&#40;$numrows/$limit&#41;;

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

  if &#40;$numrows%$limit&#41; &#123;
  // has remainder so add one page
  $pages++;
  &#125;

// check to see if last page
  if &#40;!&#40;&#40;&#40;$s+$limit&#41;/$limit&#41;==$pages&#41; && $pages!=1&#41; &#123;

  // 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>";
  &#125;

$a = $s + &#40;$limit&#41; ;
  if &#40;$a > $numrows&#41; &#123; $a = $numrows ; &#125;
  $b = $s + 1 ;
  echo "<p>Showing results $b to $a of $numrows</p>";
 
?>


</body>
</html>

Nomadi
Δημοσιεύσεις: 14
Εγγραφή: 16 Απρ 2008 16:25

Search Engine με multiple search keywords από drop down menu

Δημοσίευση από Nomadi » 17 Απρ 2008 01:21

Ούτε αυτό δουλεύει φίλε μου.Δε νομίζω να κάνω κάτι λάθος εγώ,κάτι άλλο πρέπει να παίζει στο script.Δεν κάνει καθόλου search τώρα,ενώ με το αρχικό εμφάνιζε τουλάχιστον κάποια results.Ανεβάζω πάντως και τον πίνακα για καλό και για κακό.

EDIT:Τώρα μου βγάζει αυτό.Λέει ότι έκανε κενό search ("") ενώ πιο κάτω λέει τις παραμέτρους searched for. :-?

Results

Sorry, your search: "" returned zero results

Click here to try the search on google

You searched for: "ano liosia""aspropyrgos""03/04/2008""10:19"
Results: Afetiria //Proorismos //Imerominia //Ora

Next 10 >>

Showing results 1 to 0 of 0
Συνημμένα
table.JPG

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

Search Engine με multiple search keywords από drop down menu

Δημοσίευση από fafos » 17 Απρ 2008 15:08

Prospathise auto:

allakse auto:

Κώδικας: Επιλογή όλων

//connect to your database ** EDIT REQUIRED HERE **
mysql_connect&#40;"localhost","root","mypass"&#41;; //&#40;host, username, password&#41;

//specify database ** EDIT REQUIRED HERE **
mysql_select_db&#40;"search"&#41; or die&#40;"Unable to select database"&#41;; //select which database we're using 


me auto:

Κώδικας: Επιλογή όλων

//connect to your database ** EDIT REQUIRED HERE **
$link = mysql_connect&#40;"localhost","root","mypass"&#41;; //&#40;host, username, password&#41;

//specify database ** EDIT REQUIRED HERE **
$db = mysql_select_db&#40;"search", $link&#41; or die&#40;"Unable to select database"&#41;; //select which database we're using 

kai auto:

Κώδικας: Επιλογή όλων

$numresults=mysql_query&#40;$query&#41;;

me auto:

Κώδικας: Επιλογή όλων

$numresults=mysql_query&#40;$query, $link&#41;;

Nomadi
Δημοσιεύσεις: 14
Εγγραφή: 16 Απρ 2008 16:25

Search Engine με multiple search keywords από drop down menu

Δημοσίευση από Nomadi » 17 Απρ 2008 17:28

Τα άλλαξα όπως μου είπες αλλά μου λέει πάλι
Results

Sorry, your search: "" returned zero results

Click here to try the search on google

You searched for: "aspropyrgos""kiato""04/04/2008""08:00"
Results: Afetiria //Proorismos //Imerominia //Ora

Next 10 >>

Showing results 1 to 0 of 0

/cry

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Search Engine με multiple search keywords από drop down menu

Δημοσίευση από Alice_Cooper » 19 Απρ 2008 01:54

vale ligo kato apo thn

Κώδικας: Επιλογή όλων

echo "<p>You searched for&#58; &quot;" . $var1 . "&quot;&quot;" . $var2 . "&quot;&quot;" . $var3 . "&quot;&quot;" . $var4 . "&quot;</p>"; 
thn

Κώδικας: Επιλογή όλων

echo "<p>kai ginan&#58; &quot;" .$trimmed1. "&quot;&quot;" .$trimmed2. "&quot;&quot;" .$trimmed3. "&quot;&quot;" .$trimmed4. "&quot;</p>"; 
na doume ti tha epistrepsei

episeis to trimed den eida kapou na pernei timh ....

opote logiko afto

Κώδικας: Επιλογή όλων

echo "<p>Sorry, your search&#58; &quot;" . $trimmed . "&quot; returned zero results</p>"; 
na epistrefei ""
ektos apo to an kati den eida.....
dokimase na valeis kato apo thn

Κώδικας: Επιλογή όλων

// If we have no results, offer a google search as an alternative 
$trimmed = "for ".$trimmed1 ."  and ".$trimmed2 ."  and ".$trimmed3 ."  and ".$trimmed4; //<==afto

Nomadi
Δημοσιεύσεις: 14
Εγγραφή: 16 Απρ 2008 16:25

Search Engine με multiple search keywords από drop down menu

Δημοσίευση από Nomadi » 24 Απρ 2008 17:25

Ευχαριστώ για την απάντηση Alice_Cooper αλλά αυτό που μου είπες να κάνω ήταν πιο πολύ θέμα αισθητικής εμφάνισης.Τώρα το πρόβλημα είναι πως δεν κάνει καθόλου αναζήτηση.Δηλαδή ενώ οι λέξεις κλειδιά για την αναζήτηση υπάρχουν στη βάση,δεν τα εμφανίζει σαν αποτελέσματα.
Πάντως βάζοντας αυτά που μου είπες παίρνω πίσω :

Κώδικας: Επιλογή όλων

Results

Sorry, your search&#58; " ano liosia and aspropyrgos and 03/04/2008 and 11&#58;36" returned zero results

Click here to try the search on google

You searched for&#58; "ano liosia""aspropyrgos""03/04/2008""11&#58;36"

kai ginan&#58; "ano liosia""aspropyrgos""03/04/2008""11&#58;36"
Results&#58; Afetiria //Proorismos //Imerominia //Ora

 Next 10 >>

Showing results 1 to 0 of 0
[/code]

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Search Engine με multiple search keywords από drop down menu

Δημοσίευση από Alice_Cooper » 25 Απρ 2008 03:13

den htan esthitiko to thema
ithela na fenetai sthn page pos stelnontai oi times kai
pos ginontai prin ginei to query... ;)

apo oti fenetai sosta einai

as doume tora kai ta query pou stelnontai ....
kane afto

Κώδικας: Επιλογή όλων

// Build SQL Query
if&#40;trimmed1 || $trimmed2 || $trimmed3 || $trimmed4&#41; &#123;
       $query = 'select * from omg  WHERE ';
   if &#40;$trimmed1!=''&#41; &#123;  $query.=' afetiria LIKE "%'.$trimmed1.'%" AND'; &#125;
   if &#40;$trimmed2!=''&#41; &#123;  $query.=' proorismos LIKE "%'.$trimmed2.'%" AND '; &#125;
   if &#40;$trimmed3!=''&#41; &#123;  $query.=' imerominia LIKE "%'.$trimmed3.'%" AND '; &#125;
   if &#40;$trimmed4!=''&#41; &#123;  $query.=' ora LIKE "%'.$trimmed4.'%"'; &#125;
   if &#40;substr&#40;$query, strlen&#40;$query&#41;-4, 4&#41; == ' AND'&#41; &#123;   $query = substr&#40;$query, 0, strlen&#40;$query&#41;-4&#41;; &#125;
               $query .= " order by ora asc";
echo $query; // <== edo vale afto ....
$numresults=mysql_query&#40;$query&#41;;
$numrows=mysql_num_rows&#40;$numresults&#41;;
&#125; 
kai

Κώδικας: Επιλογή όλων

// get results
  $query .= " limit $s,$limit";
  echo query; // <== edo afto
  $result = mysql_query&#40;$query&#41; or die&#40;"Couldn't execute query"&#41;; 
ps: ekana kai kapies alages stis echo ... ta " me ta ' (perisotero epidi me volevei ston na ta elegxo)
logika ok htan
Τελευταία επεξεργασία από το μέλος Alice_Cooper την 25 Απρ 2008 18:35, έχει επεξεργασθεί 1 φορά συνολικά.

Nomadi
Δημοσιεύσεις: 14
Εγγραφή: 16 Απρ 2008 16:25

Search Engine με multiple search keywords από drop down menu

Δημοσίευση από Nomadi » 25 Απρ 2008 14:51

Τώρα μου έβγαλε αυτό φίλε μου.

Κώδικας: Επιλογή όλων

select * from omg WHERE afetiria LIKE %ano liosia% AND proorismos LIKE "%aspropyrgos%" AND proorismos LIKE "%03/04/2008%" AND ora LIKE "%11&#58;36%" order by ora asc
Warning&#58; mysql_num_rows&#40;&#41;&#58; supplied argument is not a valid MySQL result resource in C&#58;\wamp\www\site\search.php on line 85
Results

Sorry, your search&#58; " ano liosia and aspropyrgos and 03/04/2008 and 11&#58;36" returned zero results

Click here to try the search on google
queryCouldn't execute query
Ευχαριστώ για το χρόνο σου!

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Search Engine με multiple search keywords από drop down menu

Δημοσίευση από Alice_Cooper » 25 Απρ 2008 18:36

xmm afto sto evgale giati eixa grapsei ligo oti nane sto proto komati
kane to etc....

Κώδικας: Επιλογή όλων

// Build SQL Query
if&#40;trimmed1 || $trimmed2 || $trimmed3 || $trimmed4&#41; &#123;
       $query = 'select * from omg  WHERE ';
   if &#40;$trimmed1!=''&#41; &#123;  $query.=' afetiria LIKE "%'.$trimmed1.'%" AND'; &#125;
   if &#40;$trimmed2!=''&#41; &#123;  $query.=' proorismos LIKE "%'.$trimmed2.'%" AND '; &#125;
   if &#40;$trimmed3!=''&#41; &#123;  $query.=' imerominia LIKE "%'.$trimmed3.'%" AND '; &#125;
   if &#40;$trimmed4!=''&#41; &#123;  $query.=' ora LIKE "%'.$trimmed4.'%"'; &#125;
   if &#40;substr&#40;$query, strlen&#40;$query&#41;-4, 4&#41; == ' AND'&#41; &#123;   $query = substr&#40;$query, 0, strlen&#40;$query&#41;-4&#41;; &#125;
               $query .= " order by ora asc";
echo $query; // <== edo vale afto ....
$numresults=mysql_query&#40;$query&#41;;
$numrows=mysql_num_rows&#40;$numresults&#41;;
&#125; 
ps: to diorthosa kai pano

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης