Potrzebuję wiedzieć dlaczego funkcja "count" niepoprawnie zlicza elementy tablicy. Wynik 9, 11, 15 oraz 25 nie odpowiadają ilości elementów tablicy. Dlaczego?
Wynik operacji to:
=================================
Array
(
[0] => 102005
[1] => 102013
[2] => 102090
[3] => 102410
[4] => 102788
[5] => 102127
[6] => 102179
[7] => 102717
[8] => 102508
)
DLA DOMU
Naczynia drewniane
Przybory kuchenne drewniane
Artykuły domowe z drewna
Cukiernice, miski drewniane
ŚWIĘTA
Święta Bożonarodzeniowe
Święta Wielkanocne
NOWOŚCI
Wynik 9
=================================
Array
(
[0] => 102097
[1] => 102100
)
<b>ZABAWKI Z DREWNA</b>
Zabawki do pchania i ciągnięcia
Wynik 11
=================================
Array
(
[0] => 101995
[1] => 101996
[2] => 101997
[3] => 101999
)
SKRZYNKI z drewna, POJEMNIKI z drewna
Pudełka z drewna
Kufry z drewna
Kasetki, pudełka drewniane
Wynik 15
=================================
Array
(
[0] => 102005
[1] => 102013
[2] => 102090
[3] => 102410
[4] => 102102
[5] => 102105
[6] => 102127
[7] => 102179
[8] => 102717
[9] => 102508
)
DLA DOMU
Naczynia drewniane
Przybory kuchenne drewniane
Artykuły domowe z drewna
<b> WYROBY Z DREWNA DO DECOUPAGE</b>
Galanteria z drewna do decouage
ŚWIĘTA
Święta Bożonarodzeniowe
Święta Wielkanocne
NOWOŚCI
Wynik 25
Kod skryptu
try {
$db_server = 'localhost';
$db_name = 'admin_galanteria-drewniana';
$db_user = 'admin_localhost';
$db_passwd = 'localhost';
$db_pdo = new PDO(
"mysql:host=$db_server;dbname=$db_name",
$db_user,
$db_passwd,
[PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"]
);
$db_pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
#wyciągnięcie kategorii
$wynik = $db_pdo->query("
SELECT id, rozmiar
FROM oferta
WHERE towar IS NULL
ORDER BY id ASC;");
while ($katWiersz = $wynik->fetch()) {
$kat[] = $katWiersz;
}
$wynik = $db_pdo->query("
SELECT id, towar, tresc, cena, wartoscir, tak
FROM oferta
WHERE kategoria2 = 'sta' OR kategoria2 = 'pro'");
print "ID;TYTUŁ;OPIS;CENA;KATEGORIE;AKTYWNY;ZDJECIA".PHP_EOL;
$qqq = [];
while ($wiersz = $wynik->fetch()) {
$katProd = explode(' ', $wiersz['wartoscir']);
print str_repeat('=', 33).PHP_EOL;
print_r($katProd);
# podmiana ID na nazwy kategorii
foreach ($katProd as $pozycja) {
foreach ($kat as $katWiersz) {
if ($pozycja == $katWiersz['id']) {
$pozycja = $katWiersz['rozmiar'];
printf("%s".PHP_EOL, $pozycja);
$qqq[] = $pozycja;
}
}
}
$e = count($qqq);
print "Wynik $e ".PHP_EOL;
}
$db_pdo = NULL;
} catch (PDOException $e) {
print "Błąd: ".$e->getMessage();
die();
}