Problem s trazilicom

Ovako, uz neke tutorijale, napravio sam trazilicu ali ne radi, izbacuje errore…

Kod:

Sve mi lijepo izbaci kako treba biti a onda kada pokusam nesta traziti izbacuje errore. Drugi problem je sto stalo izbacuje “Nema rezultata!”, i kada trazim i kada tek upalim stranicu… Moze pomoc??

Jel ima tko???

Kakve errore izbacuje?

$i = 0;

$query .= “keywords LIKE =’%$each%’”; (jednostruki navodnici)

i stavi razmak ispred OR

napravi si echo $query; pa vidi kako ti upit izgleda

Probaj s ovim kodom.

@Igor…opet neće isto izbacuje…

To sam napravio preko tutorijala i sve kao na njemu ali nece, a ovo “Nema rezultata!” treba izbaciti tek kada se upise nesta sta nije u bazi podataka ali to stoji uvijek…Izbacuje mi errore u liniji 15, 22 i 32…

Copy/paste errore koje ti izbaci, da vidimo o kakvoj se grešci radi.

Notice: Undefined index: k in C:\xampp\htdocs\search\index.php on line 8

Notice: Undefined variable: guery in C:\xampp\htdocs\search\index.php on line 22

Notice: Undefined variable: numrows in C:\xampp\htdocs\search\index.php on line 32
Nema rezultata!


To je taj problem!!

Nema rezultata

ovi errori su samo da nisi definirao varijable na pocetku, ili ih definiraj ili iskljuci error reporting (hint Google)

da bi izbjegao izvršavanje pretrage kad tek upališ tražilicu stavi sve u

if(isset($_GET[‘k’]))
{
}

i ja bi ovo radije sa POST metodom nego GET

Ama ne radi, ponovno isti problem…jel možeš ti to napraviti sebi pa isbrobaj, opet neće raditi uvijek izbacuje error ali sada kada upišem riječ iako je uvedeno u bazu podataka. U bazi imam Title, Descriptions, keyword i link pa opet neće…

probat cu sad

jel je polje “keyword” ili “keywords”?

<form action='<?php echo htmlentities($_SERVER['PHP_SELF']); ?>' method='post'>

     <input type='text' name='k' size='50' value='<?php echo $_POST['k'];?>'/>

     <input type='submit' value='Search'>

</form>

     <hr />

<?php 
       
     if(isset($_POST['k']))
     {
         $k = $_POST['k'];
         $i=0;
         $terms = explode(" ", $k);
         $query = "SELECT * FROM search WHERE";
       
         foreach($terms as $each ) {
       
            $i++;
          
            if($i == 1)
                $query .= " keywords LIKE \"%$each%\""; 
            else
                $query .=" OR keywords LIKE \"%$each%\""; 
          }

          echo $query;
        
          //connect
         mysql_connect("mysql14.000webhost.com","a1602182_skejo","malatea007");
         mysql_select_db("a1602182_baza");
       
         $result = mysql_query($query);
      
         $numrows = mysql_num_rows($result); 
       
         if ($numrows > 0) {
       
             while($row = mysql_fetch_assoc($result)) {
           
                $id = $row['id'];
                $title = $row['title'];
                $descriptions = $row['descriptions'];
                $keyword = $row['keywords'];
                $link = $row['link'];
              
              
                echo "<h2><a href='$link'>$title<a></h2>
                $description

";
           
           
             }
       
         }
       
         else 
             echo "Nema rezultata!";
       
         //disconnect
         mysql_close();

     }

?>

Nije mi se dalo radit tablicu, mislim da bi ovo trebalo radit, falilo ti je $numrows = mysql_num_rows($result);

Ako radi, obrisi ili zakomentiraj echo $query;

Sada je drugi problem!! Ja odem na stranicu a u polju za unos teksta za taj search piše ovo:

Notice: Undefined index: k in C:\xampp\htdocs\search\index.php on line 3

A ispod ništa kako i treba biti. No, kada upišem željeni rezultat onda mi izbaci je error:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\search\index.php on line 38
Nema rezultata!