Keresés
Hírlevél
 
Kiemelt témák
»Hogy viszonyul ehhez a család?
»Legjobb metodika emberi relációk tárolására
»A programozó hibája, hogy törik a programját?
»Jogosultság kezelés mezőszinten
Állás/munka
»Wordpress szakértőt keresünk
»Kamu álláshirdetők listája
»Front-end fejlesztő / Sitebuilder
»DataStore Developer
»PHP programozó, webfejlesztő munkát keres
» több téma
Tudástár
Oldalon keresés 8x írja ki az eredményt
?XML-ből sok szövegmező
?Input mezőből visszakapott adat probléma
TinyMCE és az ékezetek
?Rengeteg hasonló kép betöltése gyorsan (PHP)
Ékezetes kar. nem minden táblában jól
?Shelltreeview gond
Grafikon rajzolás probléma
?Onclick= php függvény
?Egyenes megrajzolása
?Access-ből adott xml fájl kinyerése
Listázás időpont szerint
Exportálás változó könyvtárba
*Link eredményének kiolvasása
Imagemapre képet
» több téma
Társalgó
»A programozásból jól meg lehet élni?
»MFC tanulás
»Könyvet adok-veszek
»Hogy viszonyul ehhez a család?
»Nintendo wii
»Letölthető az új Rad Studio XE és Delphi XE
»Weblap véleményezés
»Játékmotor elmélet
»Informatikai bulvárlap
»Delphi-ről C++-ra váltás
» több téma
ASP  |  C#  |  C++  |  CSS  |  Delphi  |  Flash  |  HTML  |  Java  |  JavaScript  |  Pascal  |  Perl  |  PHP  |  Python  |  Visual Basic  |  Visual C++  |    »    

Tudástár

»

Termékkereső típusra, gyártóra, kategóriára

»

Termékkereső típusra, gyártóra, kategóriára

nyitotta: nuendo, idő: 2010.03.12., moderátor: Árnyék
  Értesítés változás esetén Felvétel kedvencekhez Küldés emailben Nyomtatható verzió

Kategóriák:Programozási nyelvek » PHP

Sorrend:
Időzóna:
Blokkméret:
Üdv mindenkinek! van egy termékkeresőm, ahol szeretném hogy a keresésnél lehessen külön gyártóra, típusra, kategóriákra keresni..előre is nagyon szépen köszönöm a segítésegeket!

űrlapom

<form name="kereso" method="post" action="'.$_SERVER['PHP_SELF'].'">
<input type="text" ID="termek" VALUE="'.$_POST['termkereso'].'" name="tipus">
<input name="termekkereso[]" type="radio" value="kategoria">
<input name="termekkereso[]" type="radio" value="gyarto">
<input name="termekkereso[]" type="radio" value="tipus">

<input type="image" name="keres" src="kepek/vegyes/kereses.jpg" alt="keresés">
<INPUT TYPE="hidden" NAME="elsoe" VALUE="'.$_POST['elsoe'].'">

</form>

PHP

<?php 
if(isset($_POST['termkereso']))
{
$kereses=mysql_real_escape_string($_POST['termkereso']);
$qry=mysql_query("SELECT raktar.azon, gyartok.gyarto, tipus, kategoria.kategoria, ar FROM raktar
INNER JOIN kategoria on raktar.kategoria=kategoria.azon
INNER JOIN gyartok on raktar.gyarto=gyartok.azon");

if ( isset( $_POST["termekkereso"] ) )

    $kategoria = array_map( "mysql_real_escape_string" , $_POST["termekkereso"] );
    $query_sql .= "WHERE kategoria.kategoria IN ('" . implode( "','" , $kategoria ) . "')";
}
if(mysql_num_rows($qry)==0)
{
echo "<p align=center><b><font color=#FF0000>A keresett termék nem található!</font></b></p>";
}
else
print "<b><font color=#00FF00>A keresés <u>";
echo mysql_num_rows($qry);  //Találatok száma
print "</u> találatot eredményezett!</font></b><br></br>";
{
while($row= mysql_fetch_array($qry, MYSQL_ASSOC))
{
találatok kiíratása....
}
}
}
<input name="termekkereso[]" type="radio" value="kategoria">
<input name="termekkereso[]" type="radio" value="gyarto">
<input name="termekkereso[]" type="radio" value="tipus">


helyett

<input name="termekkereso" type="radio" value="kategoria">
<input name="termekkereso" type="radio" value="gyarto">
<input name="termekkereso" type="radio" value="tipus">
(A 3 közül úgy is csak 1 lehet)


$kereses="SELECT raktar.azon, gyartok.gyarto, tipus, kategoria.kategoria, ar FROM raktar
INNER JOIN kategoria on raktar.kategoria=kategoria.azon
INNER JOIN gyartok on raktar.gyarto=gyartok.azon";

if(isset($_POST['termekereso']))
    {
    switch ($_POST['termekereso']) {
       case "kategoria":
       case "gyarto":
       case "tipus":
           $f=" where ".$_POST['termekereso']."='". mysql_real_escape_string($_POST['tipus'])."'";
       default:
           $f=""
       }
    }
$qry=mysql_query($kereses.$f);
if(mysql_num_rows($qry)==0)
//.....
köszönöm a segítséget, de sajnos ha már rámegyek arra a menüpontra akkor kiirja az összes terméket, pedig még nem is mentem ár hogy keresés..illetve bármit beirok, akkor is kiirja az összeset...:(
a keresésnél lehessen külön gyártóra, típusra, kategóriákra keresni

simán lehet a keresést kiterjeszteni gyártóra típusra vagy kategóriára.

@nuendo: rádió helyett checkboxokkal kérd be a keresés helyét.
ÉS WHERE feltétel részeit ezektől függőek add hozzá a lekérésedhez OR al elválasztva.
tehát akkor azt is meglehet oldani hogy ha beírom azt hogy Korg, mint hangszergyártó, akkor megnézi hogy ez a kifejezés megtalálható-e a kategóriákba, gyártókba és típusba?
Persze.

A where-be beleteszed a 3 feltételt or-al.
a keresésnél lehessen külön gyártóra, típusra, kategóriákra keresni

És ezt miért idézted? Igen, külön lehet keresni.

Mivel radio volt, ez egymást kizárta. Ha kizárta felesleges a [].
az ok, de akkor miért próbált termekkereso[] -et adni a változónak?
Könyörgöm.....

Ott hagytad elötte a te if-edet?

<?php 
if(isset($_POST['termkereso']))
    {
    $kereses="SELECT raktar.azon, gyartok.gyarto, tipus,kategoria.kategoria, ar FROM raktar
INNER JOIN kategoria on raktar.kategoria=kategoria.azon
INNER JOIN gyartok on raktar.gyarto=gyartok.azon";

if(isset($_POST['termekkereso']))
    {
    switch ($_POST['termekkereso']) {
       case "kategoria":
       case "gyarto":
       case "tipus":
           $f=" where ".$_POST['termekkereso']."='". mysql_real_escape_string($_POST['tipus'])."'";
       default:
           $f=""
       }
    }
   $qry=mysql_query($kereses.$f);
   if(mysql_num_rows($qry)==0)
      {
      echo "<p align=center><b><font color=#FF0000>A keresett termék nem található!</font></b></p>";
      }
    else
      {
      print "<b><font color=#00FF00>A keresés <u>";
      echo mysql_num_rows($qry);  //Találatok száma
      print "</u> találatot eredményezett!</font></b><br></br>";
      while($row= mysql_fetch_array($qry, MYSQL_ASSOC))
          {
          találatok kiíratása....
          }
     }
     }

Remélem a {}-eket nem szúrtam el.
Miért?
"de sajnos ha már rámegyek arra a menüpontra akkor kiirja az összes terméket, pedig még nem is mentem ár hogy keresés.."

Mert arra se jött rá, hogy az ő részébe hogy kell beletenni ezt a részt.


nem hagytam ott az IF-et....a {} jeleket meg helyesen elrendeztem!
nem hagytam ott az IF-et..

Hát ez az.
Nem tünt fel, hogy azt adtam meg az elején, amit módosítani kellett?

---
Remélem a {}-eket nem szúrtam el.
Ez meg a mostani kódomra vonatkozott.
=======
20:32-es kód (megfelelő } lezárással) jó?
elrendeztem, áttanulmányoztam, és logikusnak tűnik, de sajna nem csinál semmit..
$qry=mysql_query($kereses.$f);

után
echo $kereses.$f;

mit ír ki?
----

de szerintem a
if(isset($_POST['termkereso']))
helyett
if(isset($_POST['termekkereso']))


Honnan vennéd a $_POST['termkereso'] változót?
kezdek rájönni a dolgokra..ugy hogy próbálkozom..és majd írok hogy hol tartok!
Belépés
E-mail cím:
Jelszó:

RSS források
-Hírek
-Cikkek
-Fórumok
-Állás/munka
Top pontgyűjtők
»Micu1.030
»Interlock280
»mezofi150
»Pitta_100
»Frostech0100
»szbzs.2100
»Riha60
»Akhiles50
»mrchandra50
»Bakter50
Top wikieditorok
»Sting
»Doi
»FlamingClaw
»Argathron
»Csaboka2
»Vodka
»Joexy
»Ivn
»Balucinho
»Kelemzol
» ugrás a wikire
A nap kifejezései
»Algoritmus
»Hogyan kezdjem el
»Perl
» ugrás a wikire
Hírek
»Megérkezett a PostgreSQL 9.0 kiadásra jelölt változata
»Letölthető az új Rad Studio XE és Delphi XE
»Function-X digitális művészeti találkozó és demoscene party
»Webfejlesztőknek szóló közösségi oldalt indított a Microsoft
»Letölthető a hardvergyorsított Chrome 7 első fejlesztői kiadása
» több hír
PC Fórum hírek
»Itt az első kép az AMD nyolcmagos processzoráról
»"Szuperdizájnos" érintő-egeret mutatott be a Microsoft
»Szabadalmaztatta a számítógép kikapcsolását a Microsoft
»Vírusriadót váltott ki a webezőknél a Google
»Ingyen iWiW-ezhetnek mobiljaikról a T-Mobile-osok
»Automatikusan kiválogatja legfontosabb leveleink a Google
»OOo4Kids - ingyenes Office csomag gyerekeknek
»Új, gyorsabb Core i3 és Pentium processzorokat jelentett be az Intel
Tagi blogok
»PSP
»Első Programozó
»USB
»PHP, mint sablonmotor egyszerűen