[ a zo zo @ 31.05.2010. 11:32 ] @
Imam ovaj problem:


elseif (ISSET ($_POST['nadjisl']))
{
$nazivbp='".$_POST["bp"]."';
$nazivbp2=$nazivbp."%";
$sqlslic="SELECT * FROM lazar WHERE (bp LIKE ('".$nazivbp2."') AND zastupnik=('".$_POST["zastupnik"]."'))"; <- tu je problem


Kako da ja namestim da u polje bp ubacim nesto i da mi se selektuju samo oni clanovi koji sadrze tu rec? Verovatno ne znam da izadjem na kraj s ovim silnim navodnicima... Hvala!
[ ColdKeyboard @ 31.05.2010. 13:14 ] @
Code:

$post_nadjisl = isset($_POST['nadjisl']) ? mysql_real_escape_string($_POST['nadjisl']) : '';
$post_bp = isset($_POST['bp']) ? mysql_real_escape_string($_POST['nadjisl']) : '';
$post_zastupnik = isset($_POST['zastupnik']) ? mysql_real_escape_string($_POST['zastupnik']) : '';

elseif (!empty($post_nadjisl)) {
$query = mysql_query("select * from `lazar` where bp like '%$post_bp%' and zastupnik='$post_zastupnik'") or die('MySQL greska #1: '. mysql_error());
while ($item = mysql_fetch_array($query, MYSQL_ASSOC)) { 
//obrada podataka
}
}


Napamet sam iskucao kod tako da mozda se podkrala neka greska mada ne bi trebala.
Praktikuj uvijek da sve podatke koje ti korisnik unosi na sajtu da ih filtriras prije nego sto ih proslijedis bazi (mysql_real_escape_string ili neka druga metoda).

Mozda ti je gore zastupnik polje drop-down lista iz koje korisnik bira, ukoliko nije onda ces imati problem ako korisnik ne unese to polje, query ce onda traziti unose gdje je zastupnik polje prazno.

I uvijek kada radis query dodaj poslije or die('Naziv upita: '. mysql_error()) jer tada ce ti MySQL baza reci ukoliko imas gresku u upitu a ovaj dio 'Naziv upita' ce ti pomoci ukoliko u aplikaciji
imas gomilu upita pa da odmah mozes da lociras koji pravi problem i da ga rjesis. Naravno kada aplikacija bude online onda napravis neki mailer koji ce ti slati error ili logger koji ce ti logovati sve
greske i prikazivati ih u nekom tvom admin panelu.

Nadam se da sam bio od pomoci

Pozdrav,
Sale
[ a zo zo @ 31.05.2010. 13:38 ] @
Hvala, hvala!

Evo kako sam ja resila problemcic, a tebi hvala puno na iscrpnom odgovoru:

elseif (ISSET ($_POST['nadjisl']))
{
$procenat='%';
$nazivbp=$_POST["bp"];
$nazivbp2=$procenat.$nazivbp.$procenat;
$sqlslic="SELECT * FROM lazar WHERE (bp LIKE ('".$nazivbp2."') AND zastupnik=('".$_POST["zastupnik"]."'))";
$resultslic=mysql_query($sqlslic,$db);

...

Pozdrav!