Poradziłem sobie z PDO, potrzebuję jeszcze pomocy w kwestii dostosowania wyszukiwarki na podstawie pobranego rekordu.
Na MYSQLI skrypt wyświetlający dane z bazy danych wyglądał tak:
<?php
$sql = "SELECT * FROM samochody where 1";
if( isset($_GET['auto']) ){
$sql .= " and LEFT(autorej,20)='".$_GET['auto']."' ";
}
$sql .=" ORDER BY id DESC";
$result = mysqli_query($mysqli,$sql);
$sno = 1;
while($wynik = mysqli_fetch_array($result)){
$id = $wynik['id'];
$autodata = $wynik['autodata'];
$autorej = $wynik['autorej'];
$autonaprawa = $wynik['autonaprawa'];
$autoprzebieg = $wynik['autoprzebieg'];
$autouwagi = $wynik['autouwagi']
?>
Filtr na MYsQLI:
<?php
echo '';
if( !isset($_GET['auto']) ){
echo '';
}
echo '';
$alpha_sql = "select DISTINCT LEFT(autorej , 10) as firstCharacter,( select count(*) from samochody where LEFT(autorej , 10)= firstCharacter )
AS counter from samochody order by autorej asc";
$result_alpha = mysqli_query($mysqli,$alpha_sql);
while($row_alpha = mysqli_fetch_array($result_alpha) ){
$firstCharacter = $row_alpha['firstCharacter'];
$counter = $row_alpha['counter'];
echo '<a href="index.php?auto='.$firstCharacter.'" class="przycisk2"';
if( isset($_GET['auto']) && $firstCharacter == $_GET['auto'] ){
echo '';
}
echo ' >'.$firstCharacter.' ('.$counter.')</a>';
}
?>
Na PDO dane pobieram tak:
<?php
$pdo_statement = $dbh->prepare("SELECT * FROM samochody ORDER BY id DESC");
$pdo_statement->execute();
$result = $pdo_statement->fetchAll();
?>
A filtr na PDO wygląda tak:
<?php
echo '';
if( !isset($_GET['auto']) ){
echo '';
}
echo '';
$pdo_statement = $dbh->prepare("select DISTINCT LEFT(autorej , 10) as firstCharacter,( select count(*) from samochody where LEFT(autorej , 10)= firstCharacter ) AS counter from samochody order by autorej DESC");
$pdo_statement->execute();
while($row_alpha = $pdo_statement->fetch(PDO::FETCH_ASSOC) ){
$firstCharacter = $row_alpha['firstCharacter'];
$counter = $row_alpha['counter'];
echo '<a href="index.php?auto='.$firstCharacter.'" class="przycisk2"';
if( isset($_GET['auto']) && $firstCharacter == $_GET['auto'] ){
echo '';
}
echo ' >'.$firstCharacter.' ('.$counter.')</a>';
}
?>
Po przejściu na PDO działa tak jak na mysqli z wyjątkiem odnośnika do wyświetlenia szukanego rekordu, po kliknięciu przenosi niby do podstrony index.php?auto=numer_rejestracyjny ale nie filtruje.