Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> SELECT i tablica dwuwymiarowa porównanie
duch4ever
post
Post #1





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 22.06.2010

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


Witam chce porównać 2 tablice przy pomocy array_diff, jedna jest ok drugą pobieram z bazy przy pomocy:

  1. $cat_in_order = Db::getInstance()->ExecuteS('
  2. SELECT p.`id_category_default`
  3. FROM `'._DB_PREFIX_.'order_detail` od, `'._DB_PREFIX_.'product` p
  4. WHERE p.`id_product` = od.`product_id`
  5. AND od.`id_order` = '.intval($id_order).'
  6. ');


I wszystko by było ok tyle że zwraca mi tablic wielowymiarową :/ i nie mogę ich porównać.
Mam 2 opcje, albo żeby zapytanie zwracało tablicę jednowymiarową, albo ją jakoś przekształcić tylko jak?
Zapytanie zwraca kategorie z jakich pochodzą przedmioty w sklepie, czyli jeśli klient zamówi przedmioty z kat id 1,2,3 to takie wyniki powinno zwrócić.
Proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
everth
post
Post #2





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Czy chodzi o taką konstrukcję
Kod
result[1] => array[0] =>wynik
result[2] => array[0] =>wynik

Jeśli tak to PDO się tak nie zachowuje. Możliwe że to wynik działania PrestaShopu i jego klasy. Najprościej jest przebudować tę tablicę
  1. $result = array();
  2. foreach($wynik_zapytania as $row) { //przy czym zakładam że wynik zapytania jest tablicą lub chociaż klasą implementującą interfejs Traversable
  3. $result[] = $row[0];
  4. }


EDIT: Pierniczę głupoty. Oczywiście że PDO normalnie się tak zachowuje.

Ten post edytował everth 3.08.2010, 18:29:08
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 10.10.2025 - 12:47