Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Połączenie rekordów z 2 kolumn
Przemo75
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 2
Dołączył: 9.03.2004
Skąd: POLSKA

Ostrzeżenie: (0%)
-----


Witam,
Potrzebuję przerobić wyszukiwarkę, żeby zamiast jednego z select'ów (model) wyświetlał połączone rekordy z 2 kolumn (model + nadwozie).

Mam takie coś:

  1. include('dbconfig.php');
  2. $action = $_REQUEST['action'];
  3.  
  4. if ($action=='showAll')
  5. {
  6. $id = "0";
  7. } else {
  8. $id=$_POST['id'];
  9. }
  10.  
  11. switch(true)
  12. {
  13. case ($action == 'showAll' OR ($action == 'marka' and $id == '')):
  14. default:
  15. $stmt=$DB_con->prepare('SELECT marka FROM haki2 GROUP BY marka');
  16. $stmt->execute();
  17. break;
  18.  
  19. case ($action == 'marka' OR ($action == 'model' and $id == '')):
  20. $marka = $_POST['marka'];
  21. $stmt=$DB_con->prepare('SELECT model FROM haki2 WHERE marka=:marka GROUP BY model ORDER BY model');
  22. $stmt->execute(array(':marka'=>$marka));
  23. break;
  24.  
  25. case ($action == 'model' OR ($action == 'rocznik' and $id == '')):
  26. $marka = $_POST['marka'];
  27. $model=str_replace("\\", "", $_POST['model']);
  28. $stmt=$DB_con->prepare('SELECT rok_produkcji FROM haki2 WHERE model=:model GROUP BY rok_produkcji ORDER BY rok_produkcji');
  29. $stmt->execute(array(':model'=>$model));
  30. break;
  31.  
  32. case ($action == 'rocznik'):
  33. $marka = $_POST['marka'];
  34. $model=str_replace("\\", "", $_POST['model']);
  35. $rocznik=str_replace("\\", "", $_POST['rocznik']);
  36. $stmt=$DB_con->prepare('SELECT * FROM haki2 WHERE model=:model AND rok_produkcji=:rocznik ORDER BY rok_produkcji');
  37. $stmt->execute(array(':model'=>$model, ':rocznik'=>$rocznik));
  38. break;
  39. }



Po zmianie zapytania na:

  1. $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:
  1. $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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 08:58