Witam,
Potrzebuję przerobić wyszukiwarkę, żeby zamiast jednego z select'ów (model) wyświetlał połączone rekordy z 2 kolumn (model + nadwozie).
Mam takie coś:
include('dbconfig.php');
$action = $_REQUEST['action'];
if ($action=='showAll')
{
$id = "0";
} else {
$id=$_POST['id'];
}
switch(true)
{
case ($action == 'showAll' OR ($action == 'marka' and $id == '')):
default:
$stmt=$DB_con->prepare('SELECT marka FROM haki2 GROUP BY marka');
$stmt->execute();
break;
case ($action == 'marka' OR ($action == 'model' and $id == '')):
$marka = $_POST['marka'];
$stmt=$DB_con->prepare('SELECT model FROM haki2 WHERE marka=:marka GROUP BY model ORDER BY model');
$stmt->execute(array(':marka'=>$marka)); break;
case ($action == 'model' OR ($action == 'rocznik' and $id == '')):
$marka = $_POST['marka'];
$stmt=$DB_con->prepare('SELECT rok_produkcji FROM haki2 WHERE model=:model GROUP BY rok_produkcji ORDER BY rok_produkcji');
$stmt->execute(array(':model'=>$model)); break;
case ($action == 'rocznik'):
$marka = $_POST['marka'];
$stmt=$DB_con->prepare('SELECT * FROM haki2 WHERE model=:model AND rok_produkcji=:rocznik ORDER BY rok_produkcji');
$stmt->execute(array(':model'=>$model, ':rocznik'=>$rocznik)); break;
}
Po zmianie zapytania na:
$stmt=$DB_con->prepare('SELECT model, nadwozie, CONCAT(model, " - ", nadwozie) AS model_new FROM haki2 WHERE marka=:marka GROUP BY model_new ORDER BY model_new');
wyrzuca dwa błędy odnoszące się do linii:
$stmt->execute(array(':marka'=>$marka));
1. Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined':
2. ( ! ) PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in E:\wamp\www\Tomek\2018-04-02\pokaz_haki.php on line 33
Ten post edytował Przemo75 3.04.2018, 14:35:49