Poradí někdo ? potřebuji z databáze vyhledat zaznamy pomocí dvou parametru , tj příklad pokud obsahuje K.Vary a Prace aby se zobrazilo jen to co obsahuje tyto dvě slova
vubec nevim jak na to mam tento script:
$id = $_POST["id"];
$zarizeni = $_POST["zarizeni"];
$strpopis = $_POST["strpopis"];
$kategorie = $_POST["kategorie"];
$oblast = $_POST["oblast"];
$foto = $_POST["foto"];
$searchstring = $_POST["searchstring"];
$searchtype = $_POST["searchtype"];
if ($searchstring)
{
$sql="SELECT * FROM $table_kv WHERE $searchtype LIKE '%$searchstring%' ORDER BY zarizeni ASC";
$result = mysql_query($sql);
$resultsnumber = mysql_numrows($result);
echo "<p>Nalezeno $resultsnumber záznamů.</p>";
echo "<table>";
$alternate = "2";
while ($myrow = mysql_fetch_array($result))
{
$zarizeni = $myrow["zarizeni"];
$id = $myrow["id"];
$strpopis = $myrow["strpopis"];
$kategorie = $myrow["kategorie"];
$oblast = $myrow["oblast"];
$foto1 = $myrow["foto1"];
$hvezdy = $myrow["hvezdy"];
if ($alternate == "1") {
$color = "#ffffff";
$alternate = "2";
}
else {
$color = "#efefef";
$alternate = "1";
}
echo "<tr style='background-color: $color'>";
echo "<th scope='col'>$zarizeni</th>";
echo "<th scope='col'>Kategorie: $kategorie</th>";
echo "</tr>";
echo "<tr style='background-color: $color'>";
echo "<td><img src='foto/$foto1' height=160 width=213></td>";
echo "<td>Popis: $strpopis</td>";
echo "</tr>";
echo "<tr style='background-color: $color'>";
echo "<td>$oblast</td>";
echo "<td><a href='view.php?id=$id'>Vice informaci</a></td>";
echo "</tr>";
}
echo "</tr></table>";
echo "<p><a href=\"$PHP_SELF\">Hledat znovu</a></p>";
}
else
{
?>
<form method="post" action="<? $PHP_SELF ?>">
<table style="width: 100%" cellspacing="0">
<tr>
<td><h1>Vyhledávání</h1></td>
<td><b>Zvolte podle čeho vyhledávat: </b></td>
</tr>
<tr>
<td style="vertical-align: top">
<input type="text" name="searchstring" size="35"/>
<select name="searchtype">
<option value="hvezdy">Kategorie</option>
<option value="zarizeni">Zarizeni</option>
</select>
</td>
<td>
<input type="text" name="searchstring" size="35"/>
<select name="searchtype">
<option value="oblast">Oblast</option>
<option value="strpopis">Popis</option>
</select>
</td>
</tr>
<tr><td><input type="submit" value="Odeslat"/></td>
<td> </td></tr>
</table>
</form>
Proč se dáváš takový šílený kód, když chceš znění SQL dotazu? Stačí náznak struktury tabulky a co a jak chceš hledat.
Zadání není zcela jasné, ale možná chceš něco takového:
SELECT * FROM $table_kv WHERE ($searchtype LIKE '%$searchstring1%') AND ($searchtype LIKE '%$searchstring2%') ORDER BY zarizeni ASC
Jinak, je zvláštní dávat názvy tabulky a sloupců do proměnné, ale budiž.
nefunguje taky sem to tak už zkoušel....... chci pokud se splní u zaznamu v databázi obě podmínky hledání aby to vypsalo ty vyhovující
příklad
oblast hvězdy adresa
-----------------------------------------------------------------
Karlovy Vary čtyři K přehrade
Praha čtyři K ujezdu
Brno čtyři Ke skale
Karlovy Vary čtyři říční
Praha tři u boudy
Brno tři K jezu
Karlovy Vary tři Zejerova
hledam searchstring1= Karlovy Vary a searchstring2= čtyři
mělo by to vypsat
oblast hvězdy adresa
-----------------------------------------------------------------
Karlovy Vary čtyři K přehrade
Karlovy Vary čtyři říční
.
> nefunguje taky sem to tak už zkoušel....... chci pokud se
> splní u zaznamu v databázi obě podmínky hledání aby to
> vypsalo ty vyhovující
>
>
> příklad
> oblast hvězdy
> adresa
> -----------------------------------------------------------------
> Karlovy Vary čtyři K
> přehrade
> Praha čtyři
> K ujezdu
> Brno
> čtyři Ke skale
> Karlovy Vary čtyři
> říční
> Praha
> tři u boudy
> Brno
> tři K jezu
> Karlovy Vary tři
> Zejerova
>
> hledam searchstring1= Karlovy Vary a searchstring2= čtyři
>
> mělo by to vypsat
>
> oblast hvězdy
> adresa
> -----------------------------------------------------------------
> Karlovy Vary čtyři K
> přehrade
> Karlovy Vary čtyři
> říční
>
>
> .
omluva
oblast.............. hvězdy.................... adresa
-----------------------------------------------------------------
Karlovy Vary...... čtyři..................... K přehrade
Praha................ čtyři...................... K ujezdu
Brno.................. čtyři..................... Ke skale
Karlovy Vary...... čtyři .....................říční
Praha................ tři......................... u boudy
Brno .................tři........................... K jezu
Karlovy Vary .....tři .........................Zejerova
vypsat
oblast .....................hvězdy....................... adresa
-----------------------------------------------------------------
Karlovy Vary ............čtyři ........................K přehrade
Karlovy Vary............ čtyři........................ říční
SELECT * FROM tabulka WHERE oblast='Karlovy Vary' && hvězdy='čtyři' ?
nenji náhodou v SQL AND (místo &&)? nebo jde obojí?
no vypadá to stejně jako ten první návrh ........ tak to asi bude chyba v proměných nebo ve formuláři bo mi to nefunguje
nevypadá, není tam LIKE ale =
&& jde taky
$searchstring = $_POST["searchstring"];
$searchstring1 = $_POST["searchstring1"];
$searchstring2 = $_POST["searchstring2"];
$searchtype1 = $_POST["searchtype1"];
$searchtype2 = $_POST["searchtype2"];
if ($searchstring)
{
$sql="SELECT * FROM tabulka WHERE $searchtype1 = '%$searchstring1%' && $searchtype2 = '%$searchstring2%' ORDER BY typ ASC";
.............
<tr>
<td style="vertical-align: top">
<input type="text" name="searchstring1" size="15"/>
<select name="searchtype1">
<option value="zarizeni">Zarizeni</option>
<option value="oblast">Oblast</option>
<option value="strpopis">Popis</option>
</select>
</td>
<td>
<input type="text" name="searchstring2" size="15"/>
<select name="searchtype2">
<option value="hvezdy">Kategorie</option>
<option value="strpopis">Popis</option>
</select>
</td>
</tr>
tak sem to udělal a stejně to nejede :-(
no, však ještě smaž ty procenta... ty k = nepatří
tam problem asi nebude , problem bude bych řekl tady
........
if ($searchstring)
..........
sem to testoval a zjistil sem že by se tam mělo specifikovat asi to $searchstring1 a $searchstring2 ale jak ...........tak k tomu sem nedošel
nevim jak ale už to chodí .................díky panove
jak vypadá ten SQL dotaz teď?
chodi to tak, jak jsem si predstavoval. Diky