Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: swz klausymai

Parašė swz· 2013 Kov. 29 12:03:35
#1

Taigi cia rasysiu visus iskilusius klausymus.

1. Darau paiešką ant savo sistemos ir turiu klausimą.
Padariau taip :


echo"
<form action='' method='post'>
<input type='text' class='pajieska' name='zodis' placeholder='Pajieskos zodis stai cia'>
</form>
";
$image_on = 'p3.gif';
$image_off = 'p2.gif';
echo'
<div class="pajieskab">
<p class="forgot-password"><a href="paieska.php?do=ieskoti&zodis='.$_POST['zodis'].'"><img src="images/p1.gif" onmouseover="this.src=\'images/'.$image_off.'\';" onmouseout="this.src=\'images/'.$image_on.'\';"/></a></p>
</div>
';


Ir i ieskoti.php pvz rasau toki koda.


 
if(isset($_GET['do']) && $_GET['do'] == 'ieskoti') {
 
$result = dbquery("SELECT * FROM filmai WHERE pavadinimas='".$_GET['zodis']."' ORDER BY filmu_id DESC");
while ($data=dbarray($result)) {
echo"".$data['pavadinimas']."";
}
 


Ir jai pavizdžiui filmo pavadinimas būna avengers2 / kersytojai2
Tai jai žmogus įves avengers2 tai jam išmes šitą filmą ar ne ? Nes man atrodo kad turi 100 % sutapti jog išmestu. Jai taip tai pasakykit kaip padaryt kad užtektu įvest puse žodžio ar net raidę ir rodo visus filmus kuriuose yra ta raidė ar ta žodžio dalis kuria parašys žmogus.

IŠSPRESTA

Redagavo swz· 2013 Kov. 29 12:03:05

Parašė SofteriZ· 2013 Kov. 29 12:03:31
#2

Radau klaidą tavo kode, dabar filmo pavadinimas turi 100 proc. atitikt vedamą paieškoje. Norint tai ištaisyti užklausoje naudok LIKE 'žodis' .

Numesiu kodą:


if(isset($_GET['do']) && $_GET['do'] == 'ieskoti') {
 
$result = dbquery("SELECT * FROM filmai WHERE LIKE '".$_GET['zodis']."' ORDER BY filmu_id DESC");
 
while ($data=dbarray($result)) {
 
echo"".$data['pavadinimas']."";
 
}


Ir kažin ar pati geriausia išeitis paieškoje naudoti $_GET metodą, rekomenduočiau jį pakeisti į $_POST, bei nepamiršk apsaugot kintamuosius.

Redagavo SofteriZ· 2013 Kov. 29 12:03:12

Parašė swz· 2013 Kov. 29 12:03:29
#3

Reikes su post daryt. Aciu uz atsakyma +11 duosiu .