-
Notifications
You must be signed in to change notification settings - Fork 23
/
Copy pathvastaavat.class.php
105 lines (81 loc) · 2.71 KB
/
vastaavat.class.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<?php
/**
* Vastaavat ketjut
* Hakee vastaavat ketjuja tuotenumerolla
*/
class Vastaavat {
// Ketjun id
private $idt;
// Tuote jolla ketju on alunperin haettu
private $tuote;
/**
* Ketju tarvitsee aina tuotenumeron minkä perusteella ketju luodaan.
*/
function __construct($tuoteno, $options = array()) {
global $kukarow;
$conditions = '';
if (!empty($options)) {
// Tsekataan tarvittavat parametrit
if ($options['skippaa_vaihtoehtoiset']) {
$conditions .= " AND vaihtoehtoinen = '' ";
}
}
if (!empty($tuoteno)) {
// Haetaan haetun tuotteen tiedot vastaavuusketjusta
$query = "SELECT group_concat(DISTINCT id order by id) idt
FROM vastaavat
WHERE yhtio = '{$kukarow['yhtio']}'
AND tuoteno = '{$tuoteno}'
$conditions";
$tuote_result = pupe_query($query);
$tuote = mysql_fetch_assoc($tuote_result);
// Ketju ja tuote talteen
$this->idt = $tuote['idt'];
$this->tuote = $tuoteno;
}
}
function onkovastaavia() {
return $this->idt != "";
}
function getIDt() {
return $this->idt;
}
/**
* Palauttaa ketjun kaikki tuotteet
*/
function tuotteet($ketju, $options = array()) {
global $kukarow;
$tuotteet = array();
$conditions = '';
if (!empty($options)) {
if ($options['skippaa_vaihtoehtoiset']) {
$conditions .= " AND vaihtoehtoinen = '' ";
}
// Tsekataan tarvittavat parametrit
if ($options['vastaavuusketjun_jarjestys'] == 'K') {
// Haetaan tuotteen järjestys jolla ketju on alunperin haettu
$query = "SELECT if (jarjestys=0, 9999, jarjestys) jarjestys
FROM vastaavat
WHERE yhtio = '{$kukarow['yhtio']}'
AND id = '{$ketju}'
AND tuoteno = '{$this->tuote}'";
$result = pupe_query($query);
$jarjestys = mysql_fetch_assoc($result);
$conditions .= "HAVING jarjestys >= {$jarjestys['jarjestys']}";
}
}
// Haetaan korvaavat ketju ja tuotteiden tiedot
$query = "SELECT 'vastaava' as tyyppi, if (vastaavat.jarjestys=0, 9999, vastaavat.jarjestys) jarjestys, vastaavat.vaihtoehtoinen, vastaavat.tunnus as vastaavat_tunnus, tuote.*
FROM vastaavat
JOIN tuote ON vastaavat.yhtio=tuote.yhtio AND vastaavat.tuoteno=tuote.tuoteno
WHERE vastaavat.yhtio = '{$kukarow['yhtio']}'
AND vastaavat.id = '{$ketju}'
$conditions
ORDER BY jarjestys, tuoteno";
$result = pupe_query($query);
while ($tuote = mysql_fetch_assoc($result)) {
$tuotteet[] = $tuote;
}
return $tuotteet;
}
}