Category tree

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ervaren PHP ontwikkelaar

Functie Jij als PHP ontwikkelaar komt te werken in een team van 4 andere PHP ontwikkelaars. Je zult je voornamelijk bezig houden met: – Het ontwikkelen van nieuwe features – Doorontwikkelen van de API – Nadenken over de technische infrastructuur – Datakwaliteit Samen met het team ben jij verantwoordelijk voor de verdere ontwikkeling van de software en om de positie als marktleider in Europa te behouden. Ze werken volgens SCRUM in 2 wekelijkse sprints, werken met Jira voor alle tickets en communiceren veel via Slack. Eisen • Minimaal 3 jaar ervaring als back end developer • Je hebt affiniteit met

Bekijk vacature »

Software Developer PHP JavaScript Python HBO SQL

Samengevat: Wij zijn een softwarebedrijf voor Autodealers. Ben jij een Medior of Senior Software Developer? Heb je ervaring met PHP, JavaScript of Python? Vaste baan: Java.Developer Software HBO €3.000 - €5.200 Bij ons op de werkvloer is er een positieve en informele sfeer. Naast een goede begeleiding en een enthousiaste klantenkring biedt deze werkgever een prettige omgeving met zeer afwisselende werkzaamheden. Houd jij van aanpakken en denk je dat je deze uitdaging aankunt? Dan zoeken wij jou! Zij werken voor grote klanten. Zij doen omvangrijke projecten die we bij deze werkgever op kantoor realiseren (geen detachering). Zij werken met state-of-the-art

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een erkende werkgever in de regio van Goes zijn wij op zoek naar een enthousiaste software programmeur met PHP/Symfony ervaring. Een gedreven persoon die het development team komt versterken met het aanpakken van complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel professionele als persoonlijke groei? Lees dan snel verder! Dit ga je doen: Beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Testen en door ontwikkelen van software; Ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Ervaren Magento developer gezocht!

Functie Je komt te werken in een zelfsturend team waarin vertrouwen voorop staat en inbreng en ideeën worden gewaardeerd. Ook staat innovatie centraal. Ze bieden jou de mogelijkheid om jezelf door te ontwikkelen. Denk hierbij aan cursussen en een persoonlijk ontwikkelplan. Je komt terecht in het team van momenteel 4 (ervaren) collega’s en zal meewerken aan de doorontwikkeling en nieuwbouw van de Magento platformen van meerdere opdrachtgevers volgens Agile/Scrum. Denk hierbij aan nieuwe functionaliteiten, UX en koppelingen met verschillende back-end systemen. Als ervaren developer zul je hiernaast ook andere developers assisteren en waar nodig de leiding nemen in het project.

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar ga jij aan de slag bij een van onze klanten actief in de High Tech Industrie. Onze klanten zijn voornamelijk gelokaliseerd in de omgeving van Eindhoven. Wij zijn erg selectief als het gaat om de projecten die wij accepteren en richten ons dan ook alleen op innovatieve en complexe projecten. Omdat onze klanten voornamelijk gespecialiseerd zijn in de machinebouw, werk jij ook vaak dicht tegen de machines aan. Ons team bestaat momenteel uit Embedded engineers, IOT developers en Cloud engineers. Wij werken voornamelijk aan Microsoft projecten waar er gebruik wordt gemaakt van WPF, UWP, .NET Core

Bekijk vacature »

Ontwikkelaar Centrale Monitoring

Ontwikkelaar centrale Monitoring Functieomschrijving Wil jij een bijdrage leveren aan het onderhoud, opzetten en ontwikkelingen van technologieën van SSC-ICT, een van de grootste ICT-dienstverleners van en voor de Rijksoverheid? Je komt als monitorspecialist te werken bij team Operations Management Services. Dit team werkt aan het stabiliseren en waarborgen van een betrouwbare monitoromgeving voor 7 ministeries. Jij begeleidt het implementatieproces van de te monitoren technologieën, onder andere via management packs, connectoren en API's. Je hebt hiervoor veel contact met interne en externe klanten, die hun wensen op het gebied van monitoring aan jou doorgeven. Je beoordeelt deze wensen en komt met

Bekijk vacature »

Software Ontwikkelaar C# .NET

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Amersfoort gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Bedrijfsprofiel De organisatie waar je voor gaat werken heeft een onafhankelijk dataplatform ontwikkelt voor de agrarische sector.

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP Developer ga jij aan de slag met uitdagende software projecten. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Deze software bouw je vooral in PHP en specifiek Laravel. Dit framework kent dus geen geheimen voor jou. De software die jij gaat ontwikkelen is heel divers, van urenregistratiesystemen tot compleet geautomatiseerde tools. In deze veelzijdige functie ga jij je zeker niet vervelen, elke dag bestaat weer uit nieuwe uitdagingen. Bedrijfsprofiel Deze

Bekijk vacature »

Back-end developer (Magento2)

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »

C# .NET Developer

Functieomschrijving Voor dit leuke softwarre bedrijf in de omgeving Vught zijn we per direct op zoek naar een C#/.NET Developer. Is development jouw passie en doe je dit graag met C#/.NET? Lees dan snel verder! Jou werkzaamheden zullen zijn: Zorgen voor de optimalisatie van de huidige software en het automatiseren van bedrijfsprocessen. Naar aanleiding van de wensen van de klant ga je, met je collega's op zoel naar passende oplossingen en je werkt dit uit tot een mooi eindproduct. Je gaat webshops, websites en webapplicaties ontwikkelen door middel van ASP.NET, C# en MVC Framework. Bedrijfsprofiel Deze opdrachtgever houdt zich bezig

Bekijk vacature »

Java developer

Als Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde Java professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfs kritische systemen voor onze klanten in regio Noordoost zoals DUO, ING, CJIB en Tendernet. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We organiseren regelmatig technische Meetups en doen veel aan kennisdeling. Sogetisten hebben plezier in hun werk en staan

Bekijk vacature »

SAP ABAP Developer

Dit ga je doen Software ontwikkeling met behulp van o.a. ABAP, Sapscript en Smartforms Maatwerk development op SAP ECC 6.0, in de toekomst S/4 HANA Samenwerken met Business Analisten die functioneel en technisch ontwerpen aanleveren Testen van opgeleverde software Bugfixing Ondersteuning van eindgebruikers Hier ga je werken Onze klant, een internationaal gevestigd productiebedrijf dat mensen blij maakt, is ter versterking op zoek naar een ABAP Developer voor hun SAP team. Het team van 4 mensen verzorgt de ontwikkeling van maatwerk voor de SAP omgeving waar wordt gewerkt met modules SD, FI/CO, PM en MM. Momenteel draait het bedrijf op SAP

Bekijk vacature »

Java Programmeur

Functie Heb jij altijd al samen willen werken met ervaren java ontwikkelaars dan hebben wij hier de ultieme kans voor jou! Voor een opdrachtgever in omgeving van Naaldwijk zijn wij op zoek naar uitbreiding van het vaste ontwikkel team. Je zult je hier voornamelijk bezig gaan houden met; Wijzigingsverzoeken van klanten uitvoeren, hier wordt je diep in betrokken; Samen met consultants sluit je aan bij gesprekken met klanten, voor alle projecten; Je schakelt veel met consultants, wat is de behoefte van de klant? Hoe kan je hierop integreren?; Het framework moet naar de Cloud gebracht worden, je wordt betrokken bij

Bekijk vacature »

Sportieve Junior C#.NET developer gezocht!

Bedrijfsomschrijving Wil jij werken aan webapplicaties bij de marktleider binnen de branche? Voor een klant in de buurt van Oosterhout ben ik op zoek naar een Fullstack .NET developer. Dit bedrijf bestaat bijna 10 jaar en is inmiddels uitgegroeid tot marktleider in Nederland en heeft tevens kantoren in meerdere landen in Europa. Dit bedrijf bouwt webapplicaties waarbij internationaal enkele honderdduizenden deelnemers, soms tegelijk, een beroep doen op de realtime data uit deze applicaties. Dit brengt erg veel technische uitdaging met zich mee. Ze ontwikkelen nieuwe applicaties maar ook bestaande applicaties worden uitgebreid en verbeterd. Hier kan jij een onderdeel van

Bekijk vacature »

Java developer

Functie Je gaat aan de slag als Tester voor een aantal mooie projecten. Je komt terecht in een DevOps team waar jij aan de slag gaat om de kwaliteit te waarborgen omtrent de maatwerk software voor de klanten. Je draait je hand er niet voor om de adviserende rol te bekleden op het gebied van testautomatisering en het opzetten van testframeworks. Zoals aangegeven ga je daadwerkelijk in het eigen team aan de slag en is het daarnaast ook gebruikelijk bij de klanten op locatie te komen om te werken aan de opdrachten. Je krijgt zodoende echt een mooie kijk in

Bekijk vacature »
Onbekend Onbekend

Onbekend Onbekend

05/03/2009 20:51:00
Quote Anchor link
Stel, ik heb een tabel met items. Ieder item heeft een id. Ik heb nog een tabel met categorieën, dit is zeg maar een oneindige tree. Iedere categorie kan weer een child zijn van een andere categorie. Ik heb ook een koppel tabel, die een itemId aan een categoryId koppelt. Ik kan de category tabel compleet opnieuw indelen met lft & rgt etc.. (ik snap er totaal niets van), dus dat is geen punt.

Stel, ik heb zo'n tree:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
- 1
   - 2
     - 3
   - 4
     - 5
       - 6
       - 7
     - 8
- 9
etc..
(dit zijn dus de id's van de categorien


Zo kan het oneindig door gaan.
Stel, ik koppel item 1 aan categorie 3 en 4. Dat zijn dus twee records in de koppel tabel. Ik wil uiteindelijk kan voor item 1 dit weergeven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
1  2  3
1  4


Zeg maar net als bij nieuws bij T.net. Kan iemand mij misschien helpen met hoe ik dit kan bereiken? Ik weet dat het lukt met gewoon iedere categorie een parent op geven en dan eerst een query om alles van item 1 uit de koppel tabel te halen en vervolgens eerst alle children selecteren met de id's die in de koppel tabel staan en als parentId niet 0 is nog een query en zo een path opbouwen, maar ik zou dit graaaaag met zo min mogelijk queries doen.

Gr. Thomas.
 
PHP hulp

PHP hulp

01/06/2024 09:32:04
 
Kumkwat Trender

Kumkwat Trender

05/03/2009 20:57:00
Quote Anchor link
nog een kolom in je database maken en daarin de toebehoren categorien beheren

dus stel je voor

id's | koppel id's
-------------------
1 |
2 | 1
3 | 1
4 | 2
5 |
6 |


En dat je je script zo bouwt dat je dan zo een output krijgt:

1
- 2
-- 4
- 3
5
6

(misschien is er een andere handigere manier ervoor, de enigste manier dat ik op het moment kan bedenken is dit namelijk)
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
 
Onbekend Onbekend

Onbekend Onbekend

05/03/2009 21:51:00
Quote Anchor link
Ik snap er niet veel van. Kun je dat misschien nog wat duidelijker uitleggen?

Edit: is het niet het makkelijkste om dit toch met een aantal queries te doen en bij het bewerken op te slaan en direct de output te geven? Maar stel dat ik dan de naam van een categorie bewerk, dan is de output die opgeslagen is niet meer correct. Wat is hiervoor de beste methode?
Gewijzigd op 01/01/1970 01:00:00 door Onbekend Onbekend
 
Kumkwat Trender

Kumkwat Trender

05/03/2009 22:27:00
Quote Anchor link
Wat ik zei is toch ook goed? welke deel snap je niet van me uitleg?

Gewoon
stel je voor je gaat alle id nummers na
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$id
=1;

$koppelid2 = "1";
$koppelid6 = "1";
$koppelid7 = "2";
$koppelid8 = "3";

while ($id <= 10) {
    if(empty(${'koppelid'.$id})) {
        echo $id.'<br>';
    }
elseif(ctype_digit(${'koppelid'.$id})) {
        for($streep=0;$streep<${'koppelid'.$id};$streep++){
            echo '<dir>';
        }

        echo '- '.$id;
        for($streep=0;$streep<${'koppelid'.$id};$streep++){
            echo '</dir>';
        }
    }

    $id++;
}

?>


als output krijg ik
1
---- 2
3
4
5
------ 6
----------- 7
---------------- 8
9
10
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
 
Onbekend Onbekend

Onbekend Onbekend

06/03/2009 07:40:00
Quote Anchor link
Ik snap het wel wat jij nou bedoelt, maar heb je überhaubt mijn post gelezen? Ik wil iets heel anders dan dat jij nu aan het doen bent.
 
Jason de Ridder

Jason de Ridder

06/03/2009 09:18:00
Quote Anchor link
Tommy, je mag ook best wat duidelijker zijn.

Je hebt drie tabellen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
-- MENU --   -- ITEMS --  -- MENU_ITEMS --
  id                id                menu_id
  name          item             item_id
  childof        
  left
  right

Met de volgende waarden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
-- MENU --  -- ITEMS --           -- MENU_ITEMS --
 1 home        1 nieuwsitem1      2 - 1
 2 nieuws      2 nieuwsitem2      2 - 2
 3 contact      3 plattegrond       3 - 3


Wat je uiteindelijke wil is een associatieve array in de trant van:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
[menu] =>
    ['home'] => 'home'
    ['nieuws'] =>
        [0] => 'nieuwsitem1'
        [1] => 'nieuwsitem2'
    ['contact'] =>
        [0] => 'plattegrond'


Moet ff weg, als ik zo tijd heb maak ik het wel ff af.

[9:39 uur]
Ik bedacht in één keer dat je ook gewoon alleen menu kan doen en deze iets van een type mee kan geven. (type menuitem, type content)
Er is een 'mooie' PEAR class, deze gebruikt het sorteer principe - ben ik even kwijt -. Komt erop neer: elk item krijgt een nummer links en een nummer rechts. Zo kan alles berekend worden, voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
   1 home 16
   2 nieuws 15
       3 nieuwsitem1 14
       4 nieuwsitem2 13
            5 subnieuws 12
       6 nieuwsitem3 11
   7 contact 10
       8 plattegrond 9


[edit]
Sorting heet: Modified Preorder Tree Traversal: http://www.sitepoint.com/article/hierarchical-data-database/2/
[/edit]
Gewijzigd op 01/01/1970 01:00:00 door Jason de Ridder
 
Arian Stolwijk

Arian Stolwijk

06/03/2009 11:37:00
Quote Anchor link
Kijk ook eens naar deze class:

http://www.phphulp.nl/php/scripts/4/1538/

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php

$sql
= "SELECT id,parent_id,title,link FROM menu";

// ... $results wordt gevuld met de resultaten, via mysqli,pdo whatever


$nested = new Nested ();

foreach($results as $menu_item){
    $nested->addChild($menu_item['id'],$menu_item['parent_id'],$menu_item);
}


?>


Vervolgens kun je dan makkelijk via een recursieve functie er bijvoorbeeld een html list (<ul>/<li>) van maken voor je menu.
 
Jurgen assaasas

Jurgen assaasas

06/03/2009 11:46:00
Quote Anchor link
Je kunt toch gewoon:


categorien

id INT
parent INT
name TEXT

Als er geen parent is, is het dus een hoofd categorie.
 
Onbekend Onbekend

Onbekend Onbekend

06/03/2009 15:49:00
Quote Anchor link
Het is de bedoeling dus dat ik zeg maar categorieën heb. Iedere categorie heeft een parent, zoniet, dan is parent 0. Het ophalen van een tree is niet zo moeilijk. Stel, ik heb deze tabellen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
items
+----------------------------------+
| itemId                           |
+----------------------------------+
| 1                                |
| 2                                |
| 3                                |
+----------------------------------+

koppelTable
+--------+------------+------------+
| id     | itemId     | categoryId |
+--------+------------+------------+
| 1      | 1          | 3          |
| 2      | 1          | 4          |
| 3      | 2          | 1          |
| 4      | 3          | 1          |
+----------------------------------+

categories
+--------+------------+------------+
| id     | name       | parent     |
+--------+------------+------------+
| 1      | Test 1     | 0          |
| 2      | Test 2     | 1          |
| 3      | Test 3     | 2          |
| 4      | Test 4     | 1          |
| 5      | Test 5     | 4          |
| 6      | Test 6     | 5          |
+----------------------------------+


Dus ik bekijk item 1. Daarbij wil ik dan deze trees weergeven:
Test 1 » Test 2 » Test 3
Test 1 » Test 4

Hoe kan ik dit met zo min mogelijk queries doen? Ik hoop dat het nu een beetje duidelijk id.

Ik gebruik btw MySQL

Edit, is het niet makkelijker om gewoon álle data uit de categorieën tabel te selecteren en uit de koppel tabel en dan een tree bouwen en eventueel server-side cachen?
Gewijzigd op 01/01/1970 01:00:00 door Onbekend Onbekend
 
Jurgen assaasas

Jurgen assaasas

06/03/2009 17:18:00
Quote Anchor link
Je moet een recursieve functie maken die een loop doorloopt en vervolgens zichzelf aanroept om de childs weer te vinden. Ik had eerst een mooie link waarbij je 2 array's had, een array parents en een array childs.
 
Onbekend Onbekend

Onbekend Onbekend

06/03/2009 17:46:00
Quote Anchor link
Ik ben even gaan knutselen, en kreeg zo'n tree:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
array(2) {
  [0]=>
  array(1) {
    [2]=>
    array(3) {
      ["id"]=>
      string(1) "2"
      ["name"]=>
      string(6) "Genres"
      ["children"]=>
      array(1) {
        [3]=>
        array(3) {
          ["id"]=>
          string(1) "3"
          ["name"]=>
          string(8) "Shooters"
          ["children"]=>
          array(1) {
            [4]=>
            array(3) {
              ["id"]=>
              string(1) "4"
              ["name"]=>
              string(21) "First Person Shooters"
              ["children"]=>
              array(1) {
                [0]=>
                array(3) {
                  ["id"]=>
                  string(1) "6"
                  ["name"]=>
                  string(1) "t"
                  ["parent"]=>
                  string(1) "4"
                }
              }
            }
          }
        }
      }
    }
  }
  [1]=>
  array(1) {
    [0]=>
    array(3) {
      ["id"]=>
      string(1) "2"
      ["name"]=>
      string(6) "Genres"
      ["parent"]=>
      string(1) "0"
    }
  }
}


Met deze code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
                if ($reviewsData[0]['categoriesCacheId'] == "0") {
                    $categoriesModel = new categoriesModel();
                    $categoriesDump = $categoriesModel->getAllCategories(0, true, 'parent');
                    foreach ($categoriesDump as $category) $categoriesData[$category['parentId']] = $category;
                    unset($categoriesDump);
                    
                    $categoriesLinks = $reviewsModel->getAllCategoryLinks($reviewsData[0]['reviewId']);
                    
                    $outputTree = array();
                    foreach ($categoriesLinks as $link) {
                        $outputDump = array();
                        $outputDump[] = array('id' => $categoriesData[$link['category']]['parentId'], 'name' => $categoriesData[$link['category']]['name'], 'parent' => $categoriesData[$link['category']]['parent']);
                        
                        $stop = true;
                        $categoryId = $link['category'];
                        
                        while ($stop) {
                            $categoryId = $categoriesData[$categoryId]['parent'];
                            echo $categoryId;
                            
                            if ($categoryId != 0) {
                                $outputDumpCopy = $outputDump;
                                unset($outputDump);
                                $outputDump = array();
                                $outputDump[$categoryId]['id'] = $categoryId;
                                $outputDump[$categoryId]['name'] = $categoriesData[$categoryId]['name'];
                                $outputDump[$categoryId]['children'] = $outputDumpCopy;
                                unset($outputDumpCopy);
                                
                                echo '<hr /><pre>';
                                var_dump($outputDump);
                                echo '</pre>';
                            }
else {
                                $stop = false;
                            }
                        }

                        
                        $outputTree[] = $outputDump;
                    }

                    $this->view->assign('v', $outputTree);
                }

?>


Nu is mijn bedoeling om dit te cachen in een tabel en als er iets aan een categorie wordt gewijzigd, de cache items waar de gewijzigde category wordt gebruikt, te verwijderen, en als er geen tree in de cache zit, gewoon een nieuwe maken.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.