vyhladavanie v php a mysql

Programovacie jazyky, rady, poradňa...
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Príspevok od používateľa juho »

lenze hentak si musis nastavit prislusne stlpce na fulltext.
ked to robis cez rlike tak nemusis:

Kód: Vybrať všetko

$diak=array("/[áÁAa]/"=>"[áÁAa]",
            "/[Bb]/"=>"[Bb]",
            "/[ČčCc]/"=>"[ČčCc]",
            "/[ďĎDd]/"=>"[ďĎDd]",
            "/[éÉEe]/"=>"[éÉEe]",
            "/[Ff]/"=>"[Ff]",
            "/[Gg]/"=>"[Gg]",
            "/[Hh]/"=>"[Hh]",
            "/[íÍIi]/"=>"[íÍIi]",
            "/[Jj]/"=>"[Jj]",
            "/[Kk]/"=>"[Kk]",
            "/[ľĽLl]/"=>"[ľĽLl]",
            "/[Mm]/"=>"[Mm]",
            "/[ňŇNn]/"=>"[ňŇNn]",
            "/[ôOÓóo]/"=>"[ôOÓóo]",
            "/[Pp]/"=>"[Pp]",
            "/[Qq]/"=>"[Qq]",
            "/[ŕŔRr]/"=>"[ŕŔRr]",
            "/[šŠSs]/"=>"[šŠSs]",
            "/[ťŤTt]/"=>"[ťŤTt]",
            "/[úÚUu]/"=>"[úÚUu]",
            "/[Vv]/"=>"[Vv]",
            "/[Ww]/"=>"[Ww]",
            "/[Xx]/"=>"[Xx]",
            "/[ýÝYy]/"=>"[ýÝYy]",
            "/[žŽZz]/"=>"[žŽZz]",
           );


$hladat=preg_replace(array_keys($diak),array_values($diak),$_POST['hladat']);
mysql_query("select * from katalog where nazov rlike "'$hladat'");
refr0
Star
Star
Príspevky: 521
Registrovaný: 26 nov 2005, 10:55
Bydlisko: Trenčín
Kontaktovať používateľa:

Príspevok od používateľa refr0 »

hmmm sakra nejde to ani ked som tam dal '' proste je to vsetko naprd :D
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Príspevok od používateľa juho »

aku chybu to vypisuje?
refr0
Star
Star
Príspevky: 521
Registrovaný: 26 nov 2005, 10:55
Bydlisko: Trenčín
Kontaktovať používateľa:

Príspevok od používateľa refr0 »

juho napísal:aku chybu to vypisuje?
na to tvoje som nepisal ale nato predtym.. to tvoje som ete neskusal niako som sa z toho te nevysomaril co je vzstup a vystup..

//autoeditácia príspevku ( 07 Jul 2008, 16:12 )
fajn mam to tu ...

Kód: Vybrať všetko

$diak=array("/[áÁAa]/"=>"[áÁAa]",
            "/[Bb]/"=>"[Bb]",
            "/[ČčCc]/"=>"[ČčCc]",
            "/[ďĎDd]/"=>"[ďĎDd]",
            "/[éÉEe]/"=>"[éÉEe]",
            "/[Ff]/"=>"[Ff]",
            "/[Gg]/"=>"[Gg]",
            "/[Hh]/"=>"[Hh]",
            "/[íÍIi]/"=>"[íÍIi]",
            "/[Jj]/"=>"[Jj]",
            "/[Kk]/"=>"[Kk]",
            "/[ľĽLl]/"=>"[ľĽLl]",
            "/[Mm]/"=>"[Mm]",
            "/[ňŇNn]/"=>"[ňŇNn]",
            "/[ôOÓóo]/"=>"[ôOÓóo]",
            "/[Pp]/"=>"[Pp]",
            "/[Qq]/"=>"[Qq]",
            "/[ŕŔRr]/"=>"[ŕŔRr]",
            "/[šŠSs]/"=>"[šŠSs]",
            "/[ťŤTt]/"=>"[ťŤTt]",
            "/[úÚUu]/"=>"[úÚUu]",
            "/[Vv]/"=>"[Vv]",
            "/[Ww]/"=>"[Ww]",
            "/[Xx]/"=>"[Xx]",
            "/[ýÝYy]/"=>"[ýÝYy]",
            "/[žŽZz]/"=>"[žŽZz]",
           );


$hladat=preg_replace(array_keys($diak),array_values($diak),$_POST['vyhladavanie']); 
a dalej

Kód: Vybrať všetko

if (isset($_POST['vyhladavanie'])) {$result=mysql_query("SELECT * FROM katalog WHERE nazov rlike '$hladat' ORDER BY nazov"); }
ked dam hladat kde je nazov Bezpečnostná čiapka COLTAN a napisem do vyhladavaca bezpecnostna nic nenajde ale ked napisem napr bezpečnóstna tak najde..tie makcene dako nechce zobrat..
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Editoval si ten súbor v správnom kódovaní?
refr0
Star
Star
Príspevky: 521
Registrovaný: 26 nov 2005, 10:55
Bydlisko: Trenčín
Kontaktovať používateľa:

Príspevok od používateľa refr0 »

j uz som to nasiel akurat :D ja ked ulozim nieco v DW s diakritikou a ulozim to kuknem cez pozn. blog tak to tam neni .. ale ked to zmenim v pozn. bloku a ulozim tak v dw to je je na sposob

Kód: Vybrať všetko

"/[ÈèCc]/"=>"[ÈèCc]",
:D

//autoeditácia príspevku ( 07 Jul 2008, 17:55 )
mno a ked uz tak pisem neviete ako by som spravil to ze ked WHERE odosle retazec napr asdads a nenajde ziadny taky zaznam aby mi napisalo ze zaznam nenajdeny ? skusal som to uz vseliako ale neslo mi to ani raz.. kod mam

Kód: Vybrať všetko

if ($_POST['vyhladavanie'] != "") {$result=mysql_query("SELECT * FROM katalog WHERE nazov rlike '$hladat' ORDER BY nazov"); }
elseif ($pkat != "") {$result = mysql_query("SELECT * FROM katalog WHERE kategoria='$pkat' ORDER BY nazov"); }
else {$result = mysql_query("SELECT * FROM katalog ORDER BY nazov limit 5"); } 

  while ($row=mysql_fetch_array($result)) {
  $id=$row[id];
  $nazov=$row[nazov];
  $popis=$row[popis];
  $stn=$row[stn];
  $obrazok0=$row[obrazok0];
  $obrazok1=$row[obrazok1];
  $obrazok2=$row[obrazok2];
  $obrazok3=$row[obrazok3];
  $obrazok4=$row[obrazok4];
  $obrazok5=$row[obrazok5];
  $obrazok6=$row[obrazok6];
  $obrazok7=$row[obrazok7];
  $obrazok8=$row[obrazok8];
  $obrazok9=$row[obrazok9];
  $obrazok10=$row[obrazok10];
  $kategoria=$row[kategoria];
  
  
  echo "<table width=\"520\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
  <tr>
    <td width=\"350\" class=\"vyrobok_nazov\">$nazov</td>
    <td width=\"10\">&nbsp;</td>
    <td width=\"160\">&nbsp;</td>
  </tr>
  <tr>
  <td>&nbsp;</td>
  <td>&nbsp;</td>
  <td>&nbsp;</td>
  </tr>
  <tr>
    <td valign=\"top\">$popis <br /><br /><br /><b>$stn</b></td>
    <td>&nbsp;</td>
    <td><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" >
  <tr>
    <td align=\"center\">$oobrazok0</td>
  </tr>
   <tr>
    <td>&nbsp;</td>
  </tr>
   <tr>
    <td><table align=\"center\" border=\"0\" cellpadding=\"1\" cellspacing=\"1\">
      <tr>
        <td>$oobrazok1</td>
        <td>$oobrazok2</td>
        <td>$oobrazok3</td>
        <td>$oobrazok4</td>
        <td>$oobrazok5</td>
      </tr>
      <tr>
        <td>$oobrazok6</td>
        <td>$oobrazok7</td>
        <td>$oobrazok8</td>
        <td>$oobrazok9</td>
        <td>$oobrazok10</td>
      </tr>
    </table></td>
  </tr>
</table>
</td>
  </tr>
</table><br /><br />";}  ?>
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Príspevok od používateľa juho »

sak ked to nenajde tak ti nevrati ziaden riadok cize 0 riadkov.

Kód: Vybrať všetko

if(mysql_num_rows($query)==0) echo "nenasiel sa hladany vyraz");
refr0
Star
Star
Príspevky: 521
Registrovaný: 26 nov 2005, 10:55
Bydlisko: Trenčín
Kontaktovať používateľa:

Príspevok od používateľa refr0 »

mno to som uz skusal..ale stale nic...

Kód: Vybrať všetko

 if (mysql_num_rows($result)==0) {echo "nenasiel sa hladany vyraz";}
  else {
  echo "<table width=\"520\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
  <tr>
    <td width=\"350\" class=\"vyrobok_nazov\">$nazov</td>
    <td width=\"10\">&nbsp;</td>
    <td width=\"160\">&nbsp;</td>
  </tr>
  <tr>
  <td>&nbsp;</td>
  <td>&nbsp;</td>
  <td>&nbsp;</td>
  </tr>
  <tr>
    <td valign=\"top\">$popis <br /><br /><br /><b>$stn</b></td>
    <td>&nbsp;</td>
    <td><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" >
  <tr>
    <td align=\"center\">$oobrazok0</td>
  </tr>
   <tr>
    <td>&nbsp;</td>
  </tr>
   <tr>
    <td><table align=\"center\" border=\"0\" cellpadding=\"1\" cellspacing=\"1\">
      <tr>
        <td>$oobrazok1</td>
        <td>$oobrazok2</td>
        <td>$oobrazok3</td>
        <td>$oobrazok4</td>
        <td>$oobrazok5</td>
      </tr>
      <tr>
        <td>$oobrazok6</td>
        <td>$oobrazok7</td>
        <td>$oobrazok8</td>
        <td>$oobrazok9</td>
        <td>$oobrazok10</td>
      </tr>
    </table></td>
  </tr>
</table>
</td>
  </tr>
</table><br /><br />";}} ?>
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Príspevok od používateľa juho »

no pretoze to pouzivas na nespravnom mieste. musis pred tym while pretoze ten mysql_fetch_array ti to vyprazdni
Napísať odpoveď