tak na szybko znowu zmieniłem po nowemu i nic
$username=$_SESSION['user'][4];
':aktywne' => 1,
':username' => $_SESSION['user'][4]
);
'aktywne=:aktywne',
'username=:username'
);
if (!empty($_POST['nazwa_ogloszenia'])) {
$where[] = "nazwa_ogloszenia LIKE :nazwa_ogloszenia";
$bind[':nazwa_ogloszenia'] = '%'.$_POST['nazwa_ogloszenia'].'%';
}
if (!empty($_POST['id_kategoria'])) {
$where[] = 'id_kategoria = '.'"'.$_POST['id_kategoria'].'"';
$bind[':id_kategoria'] = $_POST['id_kategoria'];
// tj wartośc int z pola select nie wiem czy bindować czy nie
}
try
{
$pdo = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
if ( count( $where ) > 1
) {
$stmt = $pdo->prepare("SELECT nazwa_ogloszenia,id_kategoria,aktywne FROM ogloszenia WHERE ". implode( ' AND ', $where ) ); $a = $stmt->execute($bind);
}
else
{
$stmt = $pdo->prepare("SELECT nazwa_ogloszenia,id_kategoria,aktywne FROM ogloszenia WHERE aktywne=:aktywne and username=:username");
$stmt -> bindValue(':username', $username, PDO::PARAM_STR);
$stmt -> bindValue(':aktywne', 1, PDO::PARAM_INT);
$stmt -> execute();
$a = $stmt->execute();
}
while($ogloszenia = $a -> fetch())
{
//przykładowe dane
echo $ogloszenia['nazwa_ogloszenia']; }
$stmt -> closeCursor();
}
catch(PDOException $e)
{
}
a skoro mam skrypt wg starego schematu
<input type='text' size='50' class='style7' maxlength='50' name="nazwa_ogloszenia" id="nazwa_ogloszenia">
<select name="id_kategoria" class="style7" id="id_kategoria">
<option value=''>--wybierz--</option>
<option value='1'>Dam pracę</option>
//itd
<option>
//i wyciagam to czego szukam z tego warunku
if (!empty($_POST['nazwa_ogloszenia'])) {
$wh[] = "nazwa_ogloszenia LIKE '%$nazwa_ogloszenia%'";
}
if (!empty($_POST['id_kategoria'])) {
$wh[] = 'id_kategoria = '.'"'.$_POST['id_kategoria'].'"';
}
{
$where = 'WHERE '.implode(' and ', $wh); select from tabela ".$where."
}
else
{
select * from tabela
}
//to nie mogę poprostu wpisać
$stmt -> bindValue(':id_kategoria', $_POST['id_kategoria'], PDO::PARAM_STR);
//itd