diff --git a/snnes/CSV.csv b/snnes/CSV.csv new file mode 100644 index 0000000..de4ef67 --- /dev/null +++ b/snnes/CSV.csv @@ -0,0 +1,45 @@ +Produkt;Preis;Lagerbestand;Lieferzeit;Kategorie;Dateiname +ZTE Blade 10 Smart;198,99;7;7;Handys;zte_blade_10.png +ZTE Blade 10 Smart;198,99;7;7;ZTE;zte_blade_10.png +ZTE Blade 10 Smart;198,99;7;7;Sale;zte_blade_10.png +Apple iPhone 11 Pro Max;1.566,99;3;14;Handys;apple_iphone_11.png +Apple iPhone 11 Pro Max;1.566,99;3;14;Apple;apple_iphone_11.png +Samsung A10;131,99;0;7;Handys;samsung_a10.png +Samsung A10;131,99;0;7;Samsung;samsung_a10.png +Huawei P Smart;147,99;20;7;Huawei;huawei_p_smart.png +Huawei P Smart;147,99;20;7;Handys;huawei_p_smart.png +Xiamoi Redmi Note 8 Pro;239,99;35;7;Handys;xiamoi_redmi_note_8.png +Ulefone Note 7;131,99;10;7;Handys;ulefone_note_7.png +Acer Aspire 3;399,99;2;7;Laptops;acer_aspire_3.png +Acer Aspire 3;399,99;2;7;Acer;acer_aspire_3.png +Miscrosoft Surface Laptop 3;1.119,99;9;7;Laptops;miscrosoft_surface_laptop_3.png +Miscrosoft Surface Laptop 3;1.119,99;9;7;Sale;miscrosoft_surface_laptop_3.png +Lenovo Gaming Notebook;499,99;15;14;Laptops;lenovo_gaming_notebook.png +ASUS Gaming Notebook;519,99;40;14;Laptops;asus_gaming_notebook.png +ASUS Gaming Notebook;519,99;40;14;Sale;asus_gaming_notebook.png +Jumper Ezbook X3;239,99;1;14;Laptops;jumper_ezbook_x3.png +CHUWI Lapbook Pro;379,99;29;14;Laptops;chuwi_lapbook_pro.png +Dell 24 Zoll Monitor Full HD;149,99;10;7;Monitore;dell_zoll_monitor_full_24.png +Dell 24 Zoll Monitor Full HD;149,99;10;7;Sale;dell_zoll_monitor_full_24.png +Samsung 28 Zoll Monitor 4k;247,9;25;14;Monitore;samsung_zoll_monitor_4.png +Samsung 28 Zoll Monitor 4k;247,9;25;14;Samsung;samsung_zoll_monitor_4.png +Samsung 49 Zoll Curved Gaming Full HD;809,99;3;14;Monitore;samsung_zoll_curved_gaming_full_49.png +Samsung 49 Zoll Curved Gaming Full HD;809,99;3;14;Samsung;samsung_zoll_curved_gaming_full_49.png +BenQ 32 Zoll Curved Gaming 144Hz;406,11;0;14;Monitore;benq_zoll_curved_gaming_144.png +AOC 24 Zoll Full HD;114,4;19;14;Monitore;aoc_24_zoll.png +Acer KG1 24 Zoll Full HD;129,99;12;14;Monitore;acer_kg_zoll_full_hd.png +Acer KG1 24 Zoll Full HD;129,99;12;14;Acer;acer_kg_zoll_full_hd.png +Aufziehbares Ladekabel 0,6m;9,79;100;14;Handys;aufziehbares_ladekabel_m_6m.png +Aufziehbares Ladekabel 0,6m;9,79;100;14;Samsung;aufziehbares_ladekabel_m_6m.png +Aufziehbares Ladekabel 0,6m;9,79;100;14;ZTE;aufziehbares_ladekabel_m_6m.png +BONTEC Monitorhalterung fuer Tische;48,99;17;7;Monitore;bontec_monitorhalterung_fuer_tische.png +BONTEC Monitorhalterung fuer Tische;48,99;17;7;Samsung;bontec_monitorhalterung_fuer_tische.png +BONTEC Monitorhalterung fuer Tische;48,99;17;7;Acer;bontec_monitorhalterung_fuer_tische.png +BONTEC Monitorhalterung fuer Tische;48,99;17;7;Sonstiges;bontec_monitorhalterung_fuer_tische.png +Logitech G512 Mechanische Tastatur;99;5;7;Laptops;logitech_g_mechanische_tastatur.png +Logitech G512 Mechanische Tastatur;99;5;7;Monitore;logitech_g_mechanische_tastatur.png +Logitech G512 Mechanische Tastatur;99;5;7;Sonstiges;logitech_g_mechanische_tastatur.png +Razer Kraken X USB Gaming Headset;82,9;1;7;Sonstiges;razer_kraken_x_usb_gaming_Gaming.png +Razer Kraken X USB Gaming Headset;82,9;1;7;Laptops;razer_kraken_x_usb_gaming_Gaming.png +Willful Bluetooth Kopfhoerer In Ear;22,94;13;14;Sonstiges;willful_bluetooth_kopfhoerer_in_In.png +Sharkoon Shark Force Pro Gaming Maus;14,9;22;7;Sonstiges;sharkoon_shark_force_pro_gaming_Gaming.png diff --git a/snnes/CSV.xlsx b/snnes/CSV.xlsx new file mode 100644 index 0000000..2bb1342 Binary files /dev/null and b/snnes/CSV.xlsx differ diff --git a/snnes/Dokumente/Projektbeschreibung.docx b/snnes/Dokumente/Projektbeschreibung.docx new file mode 100644 index 0000000..2125c40 Binary files /dev/null and b/snnes/Dokumente/Projektbeschreibung.docx differ diff --git a/snnes/Dokumente/fonts/Montserrat/Montserrat-Black.ttf b/snnes/Dokumente/fonts/Montserrat/Montserrat-Black.ttf new file mode 100644 index 0000000..437b115 Binary files /dev/null and b/snnes/Dokumente/fonts/Montserrat/Montserrat-Black.ttf differ diff --git a/snnes/Dokumente/fonts/Montserrat/Montserrat-BlackItalic.ttf b/snnes/Dokumente/fonts/Montserrat/Montserrat-BlackItalic.ttf new file mode 100644 index 0000000..5234835 Binary files /dev/null and b/snnes/Dokumente/fonts/Montserrat/Montserrat-BlackItalic.ttf differ diff --git a/snnes/Dokumente/fonts/Montserrat/Montserrat-Bold.ttf b/snnes/Dokumente/fonts/Montserrat/Montserrat-Bold.ttf new file mode 100644 index 0000000..221819b Binary files /dev/null and b/snnes/Dokumente/fonts/Montserrat/Montserrat-Bold.ttf differ diff --git a/snnes/Dokumente/fonts/Montserrat/Montserrat-BoldItalic.ttf b/snnes/Dokumente/fonts/Montserrat/Montserrat-BoldItalic.ttf new file mode 100644 index 0000000..9ae2bd2 Binary files /dev/null and b/snnes/Dokumente/fonts/Montserrat/Montserrat-BoldItalic.ttf differ diff --git a/snnes/Dokumente/fonts/Montserrat/Montserrat-ExtraBold.ttf b/snnes/Dokumente/fonts/Montserrat/Montserrat-ExtraBold.ttf new file mode 100644 index 0000000..80ea806 Binary files /dev/null and b/snnes/Dokumente/fonts/Montserrat/Montserrat-ExtraBold.ttf differ diff --git a/snnes/Dokumente/fonts/Montserrat/Montserrat-ExtraBoldItalic.ttf b/snnes/Dokumente/fonts/Montserrat/Montserrat-ExtraBoldItalic.ttf new file mode 100644 index 0000000..6c961e1 Binary files /dev/null and b/snnes/Dokumente/fonts/Montserrat/Montserrat-ExtraBoldItalic.ttf differ diff --git a/snnes/Dokumente/fonts/Montserrat/Montserrat-ExtraLight.ttf b/snnes/Dokumente/fonts/Montserrat/Montserrat-ExtraLight.ttf new file mode 100644 index 0000000..ca0bbb6 Binary files /dev/null and b/snnes/Dokumente/fonts/Montserrat/Montserrat-ExtraLight.ttf differ diff --git a/snnes/Dokumente/fonts/Montserrat/Montserrat-ExtraLightItalic.ttf b/snnes/Dokumente/fonts/Montserrat/Montserrat-ExtraLightItalic.ttf new file mode 100644 index 0000000..f3c1559 Binary files /dev/null and b/snnes/Dokumente/fonts/Montserrat/Montserrat-ExtraLightItalic.ttf differ diff --git a/snnes/Dokumente/fonts/Montserrat/Montserrat-Light.ttf b/snnes/Dokumente/fonts/Montserrat/Montserrat-Light.ttf new file mode 100644 index 0000000..990857d Binary files /dev/null and b/snnes/Dokumente/fonts/Montserrat/Montserrat-Light.ttf differ diff --git a/snnes/Dokumente/fonts/Montserrat/Montserrat-LightItalic.ttf b/snnes/Dokumente/fonts/Montserrat/Montserrat-LightItalic.ttf new file mode 100644 index 0000000..2096040 Binary files /dev/null and b/snnes/Dokumente/fonts/Montserrat/Montserrat-LightItalic.ttf differ diff --git a/snnes/Dokumente/fonts/Montserrat/Montserrat-Medium.ttf b/snnes/Dokumente/fonts/Montserrat/Montserrat-Medium.ttf new file mode 100644 index 0000000..6e079f6 Binary files /dev/null and b/snnes/Dokumente/fonts/Montserrat/Montserrat-Medium.ttf differ diff --git a/snnes/Dokumente/fonts/Montserrat/Montserrat-MediumItalic.ttf b/snnes/Dokumente/fonts/Montserrat/Montserrat-MediumItalic.ttf new file mode 100644 index 0000000..0dc3ac9 Binary files /dev/null and b/snnes/Dokumente/fonts/Montserrat/Montserrat-MediumItalic.ttf differ diff --git a/snnes/Dokumente/fonts/Montserrat/Montserrat-Regular.ttf b/snnes/Dokumente/fonts/Montserrat/Montserrat-Regular.ttf new file mode 100644 index 0000000..8d443d5 Binary files /dev/null and b/snnes/Dokumente/fonts/Montserrat/Montserrat-Regular.ttf differ diff --git a/snnes/Dokumente/fonts/Montserrat/Montserrat-RegularItalic.ttf b/snnes/Dokumente/fonts/Montserrat/Montserrat-RegularItalic.ttf new file mode 100644 index 0000000..eb4232a Binary files /dev/null and b/snnes/Dokumente/fonts/Montserrat/Montserrat-RegularItalic.ttf differ diff --git a/snnes/Dokumente/fonts/Montserrat/Montserrat-SemiBold.ttf b/snnes/Dokumente/fonts/Montserrat/Montserrat-SemiBold.ttf new file mode 100644 index 0000000..f8a43f2 Binary files /dev/null and b/snnes/Dokumente/fonts/Montserrat/Montserrat-SemiBold.ttf differ diff --git a/snnes/Dokumente/fonts/Montserrat/Montserrat-SemiBoldItalic.ttf b/snnes/Dokumente/fonts/Montserrat/Montserrat-SemiBoldItalic.ttf new file mode 100644 index 0000000..336c56e Binary files /dev/null and b/snnes/Dokumente/fonts/Montserrat/Montserrat-SemiBoldItalic.ttf differ diff --git a/snnes/Dokumente/fonts/Montserrat/Montserrat-Thin.ttf b/snnes/Dokumente/fonts/Montserrat/Montserrat-Thin.ttf new file mode 100644 index 0000000..b985875 Binary files /dev/null and b/snnes/Dokumente/fonts/Montserrat/Montserrat-Thin.ttf differ diff --git a/snnes/Dokumente/fonts/Montserrat/Montserrat-ThinItalic.ttf b/snnes/Dokumente/fonts/Montserrat/Montserrat-ThinItalic.ttf new file mode 100644 index 0000000..e488998 Binary files /dev/null and b/snnes/Dokumente/fonts/Montserrat/Montserrat-ThinItalic.ttf differ diff --git a/snnes/Dokumente/fonts/Montserrat/OFL.txt b/snnes/Dokumente/fonts/Montserrat/OFL.txt new file mode 100644 index 0000000..f435ed8 --- /dev/null +++ b/snnes/Dokumente/fonts/Montserrat/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2011 The Montserrat Project Authors (https://github.com/JulietaUla/Montserrat) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/snnes/Dokumente/fonts/desktop.ini b/snnes/Dokumente/fonts/desktop.ini new file mode 100644 index 0000000..8fd8ab5 --- /dev/null +++ b/snnes/Dokumente/fonts/desktop.ini @@ -0,0 +1,2 @@ +[LocalizedFileNames] +Montserrat.zip=@Montserrat.zip,0 diff --git a/snnes/Dokumente/grafiken/button_aktiv.png b/snnes/Dokumente/grafiken/button_aktiv.png new file mode 100644 index 0000000..0a1ebc5 Binary files /dev/null and b/snnes/Dokumente/grafiken/button_aktiv.png differ diff --git a/snnes/Dokumente/grafiken/button_aktiv.svg b/snnes/Dokumente/grafiken/button_aktiv.svg new file mode 100644 index 0000000..54a8a0f --- /dev/null +++ b/snnes/Dokumente/grafiken/button_aktiv.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/snnes/Dokumente/grafiken/button_inaktiv.png b/snnes/Dokumente/grafiken/button_inaktiv.png new file mode 100644 index 0000000..c601af2 Binary files /dev/null and b/snnes/Dokumente/grafiken/button_inaktiv.png differ diff --git a/snnes/Dokumente/grafiken/button_inaktiv.svg b/snnes/Dokumente/grafiken/button_inaktiv.svg new file mode 100644 index 0000000..de342ea --- /dev/null +++ b/snnes/Dokumente/grafiken/button_inaktiv.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/snnes/Dokumente/grafiken/lupe.png b/snnes/Dokumente/grafiken/lupe.png new file mode 100644 index 0000000..3040f33 Binary files /dev/null and b/snnes/Dokumente/grafiken/lupe.png differ diff --git a/snnes/Dokumente/grafiken/lupe.svg b/snnes/Dokumente/grafiken/lupe.svg new file mode 100644 index 0000000..808b237 --- /dev/null +++ b/snnes/Dokumente/grafiken/lupe.svg @@ -0,0 +1,3 @@ + + + diff --git a/snnes/Dokumente/grafiken/pfeil.png b/snnes/Dokumente/grafiken/pfeil.png new file mode 100644 index 0000000..e0b32f2 Binary files /dev/null and b/snnes/Dokumente/grafiken/pfeil.png differ diff --git a/snnes/Dokumente/grafiken/pfeil.svg b/snnes/Dokumente/grafiken/pfeil.svg new file mode 100644 index 0000000..7616531 --- /dev/null +++ b/snnes/Dokumente/grafiken/pfeil.svg @@ -0,0 +1,3 @@ + + + diff --git a/snnes/Dokumente/screens/Desktopansicht Detailübersicht Kein Lagerbestand.jpg b/snnes/Dokumente/screens/Desktopansicht Detailübersicht Kein Lagerbestand.jpg new file mode 100644 index 0000000..572102f Binary files /dev/null and b/snnes/Dokumente/screens/Desktopansicht Detailübersicht Kein Lagerbestand.jpg differ diff --git a/snnes/Dokumente/screens/Desktopansicht Detailübersicht.jpg b/snnes/Dokumente/screens/Desktopansicht Detailübersicht.jpg new file mode 100644 index 0000000..f9cb5e7 Binary files /dev/null and b/snnes/Dokumente/screens/Desktopansicht Detailübersicht.jpg differ diff --git a/snnes/Dokumente/screens/Desktopansicht Geräteübersicht.jpg b/snnes/Dokumente/screens/Desktopansicht Geräteübersicht.jpg new file mode 100644 index 0000000..91b15bb Binary files /dev/null and b/snnes/Dokumente/screens/Desktopansicht Geräteübersicht.jpg differ diff --git a/snnes/Dokumente/screens/Interaktive_ansicht_info.txt b/snnes/Dokumente/screens/Interaktive_ansicht_info.txt new file mode 100644 index 0000000..bb54039 --- /dev/null +++ b/snnes/Dokumente/screens/Interaktive_ansicht_info.txt @@ -0,0 +1,5 @@ +Link: + +https://xd.adobe.com/view/ca7542de-d985-4871-7afb-c06a5fb3a6ff-bc44/?fullscreen + +Passwort: Schommer2020 \ No newline at end of file diff --git a/snnes/Dokumente/screens/Mobilansicht Detailseite.jpg b/snnes/Dokumente/screens/Mobilansicht Detailseite.jpg new file mode 100644 index 0000000..1b2c96a Binary files /dev/null and b/snnes/Dokumente/screens/Mobilansicht Detailseite.jpg differ diff --git a/snnes/Dokumente/screens/Mobilansicht Geräteübersicht.jpg b/snnes/Dokumente/screens/Mobilansicht Geräteübersicht.jpg new file mode 100644 index 0000000..16bb0ab Binary files /dev/null and b/snnes/Dokumente/screens/Mobilansicht Geräteübersicht.jpg differ diff --git a/snnes/Dokumente/styleguide und abstände/Desktopansicht Detailübersicht Abstände.jpg b/snnes/Dokumente/styleguide und abstände/Desktopansicht Detailübersicht Abstände.jpg new file mode 100644 index 0000000..d1e51c2 Binary files /dev/null and b/snnes/Dokumente/styleguide und abstände/Desktopansicht Detailübersicht Abstände.jpg differ diff --git a/snnes/Dokumente/styleguide und abstände/Desktopansicht Geräteübersicht Abstände.jpg b/snnes/Dokumente/styleguide und abstände/Desktopansicht Geräteübersicht Abstände.jpg new file mode 100644 index 0000000..4f228f7 Binary files /dev/null and b/snnes/Dokumente/styleguide und abstände/Desktopansicht Geräteübersicht Abstände.jpg differ diff --git a/snnes/Dokumente/styleguide und abstände/Styleguide.jpg b/snnes/Dokumente/styleguide und abstände/Styleguide.jpg new file mode 100644 index 0000000..2f8eaa5 Binary files /dev/null and b/snnes/Dokumente/styleguide und abstände/Styleguide.jpg differ diff --git a/snnes/README.md b/snnes/README.md new file mode 100644 index 0000000..27d85f7 --- /dev/null +++ b/snnes/README.md @@ -0,0 +1,6 @@ +Dieses Projekt habe ich in der Ausbildung bekommen um meine ersten Berührungen mit PHP zu erfahren. +Dazu wurde mein Wissen über Datenbanken und MySQL getestet. + +Das Projekt benötigt eine Datenbank mit zwei Tabellen. +Einmal die Tabelle mit den Produkten. +Und eine Tabelle für die Kategorien, welche mit der Tabelle mit den Produkten per m:n Relation verbunden ist. diff --git a/snnes/alle_produkte/acer_aspire_3.png b/snnes/alle_produkte/acer_aspire_3.png new file mode 100644 index 0000000..dc8e1be Binary files /dev/null and b/snnes/alle_produkte/acer_aspire_3.png differ diff --git a/snnes/alle_produkte/acer_kg_zoll_full_hd.png b/snnes/alle_produkte/acer_kg_zoll_full_hd.png new file mode 100644 index 0000000..e03b0ab Binary files /dev/null and b/snnes/alle_produkte/acer_kg_zoll_full_hd.png differ diff --git a/snnes/alle_produkte/aoc_24_zoll.png b/snnes/alle_produkte/aoc_24_zoll.png new file mode 100644 index 0000000..7ad310f Binary files /dev/null and b/snnes/alle_produkte/aoc_24_zoll.png differ diff --git a/snnes/alle_produkte/apple_iphone_11.png b/snnes/alle_produkte/apple_iphone_11.png new file mode 100644 index 0000000..6e06559 Binary files /dev/null and b/snnes/alle_produkte/apple_iphone_11.png differ diff --git a/snnes/alle_produkte/asus_gaming_notebook.png b/snnes/alle_produkte/asus_gaming_notebook.png new file mode 100644 index 0000000..44ecd8f Binary files /dev/null and b/snnes/alle_produkte/asus_gaming_notebook.png differ diff --git a/snnes/alle_produkte/aufziehbares_ladekabel_m_6m.png b/snnes/alle_produkte/aufziehbares_ladekabel_m_6m.png new file mode 100644 index 0000000..e445091 Binary files /dev/null and b/snnes/alle_produkte/aufziehbares_ladekabel_m_6m.png differ diff --git a/snnes/alle_produkte/benq_zoll_curved_gaming_144.png b/snnes/alle_produkte/benq_zoll_curved_gaming_144.png new file mode 100644 index 0000000..34ea1b6 Binary files /dev/null and b/snnes/alle_produkte/benq_zoll_curved_gaming_144.png differ diff --git a/snnes/alle_produkte/bontec_monitorhalterung_fuer_tische.png b/snnes/alle_produkte/bontec_monitorhalterung_fuer_tische.png new file mode 100644 index 0000000..0fbf766 Binary files /dev/null and b/snnes/alle_produkte/bontec_monitorhalterung_fuer_tische.png differ diff --git a/snnes/alle_produkte/chuwi_lapbook_pro.png b/snnes/alle_produkte/chuwi_lapbook_pro.png new file mode 100644 index 0000000..9c87b39 Binary files /dev/null and b/snnes/alle_produkte/chuwi_lapbook_pro.png differ diff --git a/snnes/alle_produkte/dell_zoll_monitor_full_24.png b/snnes/alle_produkte/dell_zoll_monitor_full_24.png new file mode 100644 index 0000000..7a5614f Binary files /dev/null and b/snnes/alle_produkte/dell_zoll_monitor_full_24.png differ diff --git a/snnes/alle_produkte/huawei_p_smart.png b/snnes/alle_produkte/huawei_p_smart.png new file mode 100644 index 0000000..1bbee34 Binary files /dev/null and b/snnes/alle_produkte/huawei_p_smart.png differ diff --git a/snnes/alle_produkte/jumper_ezbook_x3.png b/snnes/alle_produkte/jumper_ezbook_x3.png new file mode 100644 index 0000000..877280d Binary files /dev/null and b/snnes/alle_produkte/jumper_ezbook_x3.png differ diff --git a/snnes/alle_produkte/lenovo_gaming_notebook.png b/snnes/alle_produkte/lenovo_gaming_notebook.png new file mode 100644 index 0000000..dec9158 Binary files /dev/null and b/snnes/alle_produkte/lenovo_gaming_notebook.png differ diff --git a/snnes/alle_produkte/logitech_g_mechanische_tastatur.png b/snnes/alle_produkte/logitech_g_mechanische_tastatur.png new file mode 100644 index 0000000..259e9b4 Binary files /dev/null and b/snnes/alle_produkte/logitech_g_mechanische_tastatur.png differ diff --git a/snnes/alle_produkte/miscrosoft_surface_laptop_3.png b/snnes/alle_produkte/miscrosoft_surface_laptop_3.png new file mode 100644 index 0000000..93d4e7d Binary files /dev/null and b/snnes/alle_produkte/miscrosoft_surface_laptop_3.png differ diff --git a/snnes/alle_produkte/razer_kraken_x_usb_gaming_Gaming.png b/snnes/alle_produkte/razer_kraken_x_usb_gaming_Gaming.png new file mode 100644 index 0000000..c55a42d Binary files /dev/null and b/snnes/alle_produkte/razer_kraken_x_usb_gaming_Gaming.png differ diff --git a/snnes/alle_produkte/samsung_a10.png b/snnes/alle_produkte/samsung_a10.png new file mode 100644 index 0000000..fde5571 Binary files /dev/null and b/snnes/alle_produkte/samsung_a10.png differ diff --git a/snnes/alle_produkte/samsung_zoll_curved_gaming_full_49.png b/snnes/alle_produkte/samsung_zoll_curved_gaming_full_49.png new file mode 100644 index 0000000..6193c1b Binary files /dev/null and b/snnes/alle_produkte/samsung_zoll_curved_gaming_full_49.png differ diff --git a/snnes/alle_produkte/samsung_zoll_monitor_4.png b/snnes/alle_produkte/samsung_zoll_monitor_4.png new file mode 100644 index 0000000..7553754 Binary files /dev/null and b/snnes/alle_produkte/samsung_zoll_monitor_4.png differ diff --git a/snnes/alle_produkte/sharkoon_shark_force_pro_gaming_Gaming.png b/snnes/alle_produkte/sharkoon_shark_force_pro_gaming_Gaming.png new file mode 100644 index 0000000..3be55e7 Binary files /dev/null and b/snnes/alle_produkte/sharkoon_shark_force_pro_gaming_Gaming.png differ diff --git a/snnes/alle_produkte/ulefone_note_7.png b/snnes/alle_produkte/ulefone_note_7.png new file mode 100644 index 0000000..55b2a2a Binary files /dev/null and b/snnes/alle_produkte/ulefone_note_7.png differ diff --git a/snnes/alle_produkte/willful_bluetooth_kopfhoerer_in_In.png b/snnes/alle_produkte/willful_bluetooth_kopfhoerer_in_In.png new file mode 100644 index 0000000..1c60724 Binary files /dev/null and b/snnes/alle_produkte/willful_bluetooth_kopfhoerer_in_In.png differ diff --git a/snnes/alle_produkte/xiamoi_redmi_note_8.png b/snnes/alle_produkte/xiamoi_redmi_note_8.png new file mode 100644 index 0000000..d49fca4 Binary files /dev/null and b/snnes/alle_produkte/xiamoi_redmi_note_8.png differ diff --git a/snnes/alle_produkte/zte_blade_10.png b/snnes/alle_produkte/zte_blade_10.png new file mode 100644 index 0000000..199ef05 Binary files /dev/null and b/snnes/alle_produkte/zte_blade_10.png differ diff --git a/snnes/css/style.css b/snnes/css/style.css new file mode 100644 index 0000000..3f45732 --- /dev/null +++ b/snnes/css/style.css @@ -0,0 +1,380 @@ +/*DETEILANSICHT*/ +#prodbild img { + width: 500px; + height: 500px; + float: left; +} + +#prodbild { + display: block; + width: 60%; +} + +#preis { + margin-top: 3em; +} + +#vorschl { + margin-top: 3.125em; + display: flex; + flex-wrap: wrap; + gap: 15px; +} + +.vprod h2 { + margin-top: 0; + margin-bottom: 0.5em; +} + +.vprod h1 { + margin-bottom: 0; +} + +.vprodinfo { + width: 360px; + height: auto; + display: block; + margin-left: 1em; + float: left; +} + +.vprod { + width: 22.5em; + height: 27.546em; + text-align: left; + margin-left: 0.2em; +} + +.vprod img { + width: 350px; + height: 360px; + border-left: solid 0.5px grey; +} + +#vortit { + font-family: 'Montserrat', sans-serif; + font-size: 25px; + font-weight: 700; + color: #505050; + line-height: 24px; + margin-top: 3.75em; +} + +#vorschl h1 { + font-family: 'Montserrat', sans-serif; + font-size: 25px; + font-weight: 400; + color: #505050; + line-height: 30px; +} + +#details #prodname { + font-family: 'Montserrat', sans-serif; + font-size: 25px; + font-weight: 700; + color: #505050; + line-height: 24px; + margin-right: 1em; +} + +#details h2 { + display: inline-block; + height: 0; + width: auto; +} + +#details h1 { + display: block; + margin-top: 0; + width: auto; +} + +#details { + float: left; + width: 80%; +} + +#oben { + display: flex; + margin-top: 4em; +} + +#backbutton { + height: 2.25em; + display: block; + width: 8em; +} + +#backbutton a { + font-family: 'Montserrat', sans-serif; + font-size: 16px; + font-weight: 400; + color: #505050; + line-height: 19px; + text-decoration: none !important; +} + +#kaufbutton:hover { + cursor: pointer; + background-color: #AFD96F; +} + +#kaufbutton { + float: left; + margin-top: 2em; + margin-right: 6em; + border-radius: 28px; + border: 1px solid #AFD96F; + height: 50px; + width: 200px; + font-family: 'Montserrat', sans-serif; + font-size: 16px; + font-weight: 400; + color: #505050; + line-height: 19px; +} + +/*STARTSEITE*/ +.grid-container { + display: flex; + flex-wrap: wrap; + gap: 15px; +} + +.grid-container a { + text-decoration: none !important; +} + +.grid-item { + width: 500px; + height: 500px; + margin-bottom: 50px; + border-left: solid 0.5px grey; + text-align: left; + margin-left: 10px; +} + +img { + width: 375px; + height: 360px; +} + +#seiten { + margin: 50px auto auto auto; + width: 50%; + text-align: center; +} + +.pagebtn { + border: solid 1px; + height: 20px; + border-radius: 0; +} + +.pagebtn:hover { + cursor: pointer; +} + +#soldindex { + display: block; + margin-left: 45px; +} + +.sold { + color: #DF2727; +} + +.grau { + -webkit-filter: grayscale(100%); + -moz-filter: grayscale(100%); + -ms-filter: grayscale(100%); + -o-filter: grayscale(100%); + filter: grayscale(100%); + +} + +h1 { + font-family: 'Montserrat', sans-serif; + font-size: 25px; + font-weight: 400; + color: #505050; + line-height: 30px; +} + +h2 { + font-family: 'Montserrat', sans-serif; + font-size: 20px; + font-weight: 700; + color: #AFD96F; + line-height: 24px; +} + +.prodname { + display: block; + margin-left: 45px; +} + +.price { + display: block; + margin-top: -15px; + margin-left: 45px; +} + +html, +body { + height: 100%; +} + +#filter { + float: left; + width: 300px; + min-height: 100%; + height: auto !important; + height: 100%; + display: block; + text-align: center; + box-shadow: rgba(0, 0, 0, 0.15) 3.95px 0px 6px; + align-content: center; +} + +::placeholder { + padding-top: 10px; + padding-left: 20px; + padding-bottom: 10px; +} + +#suche { + height: 30px; + margin-top: 20px; + margin-bottom: 10px; + margin-left: -10px; + display: inline-block; + border: solid 1px; + +} + +#kategorien input[type="checkbox"] { + appearance: none; + box-sizing: border-box; + padding: 0; + width: 1.15em; + height: 1.15em; + position: absolute; + display: grid; + font: inherit; + color: currentColor; + border: 0.1em solid grey; + border-radius: 0; + margin-top: 0em; + margin-left: -2.0em; + transform: translateY(-0.075em); + place-content: center; + content: ""; + +} + +input[type="checkbox"]::before { + content: ""; + width: 0.65em; + height: 0.55em; + transform: scale(0); + content: ""; + border: 0.1em solid white; + background-color: #AFD96F; + transition: 120ms transform ease-in-out; + box-shadow: inset 1em 1em var(--form-control-color); +} + +input[type="checkbox"]:checked::before { + transform: scale(1); +} + +[type="search"] { + border: none; +} + +#checkboxen { + display: inline; + + margin-left: 40px; + width: 50px; +} + +.kategorie { + margin-bottom: 20px; + width: 20px; + +} + +#suchleiste { + height: inherit; + position: relative; + top: -6px; + left: -0px; + display: inline-block; +} + +input:focus { + outline: none; +} + + +#kategorien { + position: relative; + width: 60px; + height: auto !important; + min-height: 150px; + margin-top: 2.375em; + margin-left: 3.25em; +} + + +label { + font-family: 'Montserrat', sans-serif; + font-size: 16px; + font-weight: 400; + color: #505050; + line-height: 19px; + display: block; + margin-top: 0.625em; + text-align: left; +} + +button[type="submit"]:hover { + background-color: gray; +} + +button[type="submit"] { + display: inline-block; + height: inherit; + background: none; + border-width: 0; + border-style: none; + outline: none; +} + +#h2price { + display: inline-block; + position: absolute; + margin-left: -6.5em; + border: none; +} + +#h2kat { + display: inline-block; + position: absolute; + margin-top: 3.375em; + margin-left: -10.5em; + text-align: left; + border: none; +} + +#prices { + height: 30px; + margin-top: 3.625em; + width: 215px; + margin-left: 1.5em; + display: block; + border: solid 1px; + +} \ No newline at end of file diff --git a/snnes/db.php b/snnes/db.php new file mode 100644 index 0000000..769f5e6 --- /dev/null +++ b/snnes/db.php @@ -0,0 +1,30 @@ +connect_error) { + die("Verbindung fehlgeschlagen: " . $dbhandle->connect_error); +} else { + + // echo "VERBINDUNG: ERFOLG!
"; +} + +function dbaction($handle, $query) +{ + if ($handle->connect_error) { + die("Verbindung fehlgeschlagen: " . $handle->connect_error); + } else { + + if ($handle->query($query) === TRUE) { + echo "QUERY: ERFOLG!
"; + } else { + echo "QUERY: FEHLER( " . $handle->error . ")
"; + } + } +} + +?> \ No newline at end of file diff --git a/snnes/detail.html b/snnes/detail.html new file mode 100644 index 0000000..f7ea502 --- /dev/null +++ b/snnes/detail.html @@ -0,0 +1,57 @@ + + + + + + + Document + + + + + +
+
+ ˂ zurück +
+
+ +
+ +
+

Apple iPhone 15 Pro Max

+
+

Preis

+

1.556,99€

+
+
+

Versand

+

Lieferung bis Dienstag 2. Juni

+
+
+

Lagerbestand

+

Auf Lager.

+
+ +
+ +
+
+
+ +
+

Ähnliche Suchvorschläge

+ +
+
+
+

Samsung A10

+

155,99€

+
+ +
+
+
+ + + \ No newline at end of file diff --git a/snnes/detail.php b/snnes/detail.php new file mode 100644 index 0000000..b0ebde0 --- /dev/null +++ b/snnes/detail.php @@ -0,0 +1,134 @@ + + + + + + + + + + + + + Detailseite + + + +
+
+ ˂ zurück +
+ query($sql); + if (!$result) { + die('SQL-Fehler: ' . mysqli_error($conn)); + } + if ($result && $result->num_rows == 1) { + while ($row = $result->fetch_assoc()) { + $preis = number_format($row["preis"], 2, ',', '.'); + echo '
+ +
'; + + echo '
+

' . $row["produkt"] . '

'; + + echo '
+

Preis

+

' . $row["preis"] . '€

+
'; + + echo '
+

Versand

+

Lieferung in ' . $row["lieferzeit"] . ' Tagen

+
'; + + echo '
+

Lagerbestand

'; + if ($row["lager"] == 0) { + echo '

AUSVERKAUFT

'; + } else { + echo '

' . $row["lager"] . ' auf Lager

.'; + } + echo '
'; + echo '
+ +
+
+
'; + } + } + + $produktid = $_GET["prodid"]; + $sql1 = "SELECT * FROM mapping WHERE produktid = $produktid"; + $ergebnis1 = $dbhandle->query($sql1); + + if ($ergebnis1) { + $row = $ergebnis1->fetch_assoc(); + $kategorieid = $row['kategorieid']; + + // Schritt 1: Versuche, genau 5 Produkte derselben Kategorie abzurufen + $sql2 = "SELECT * FROM produkte + JOIN mapping ON produkte.id = mapping.produktid + WHERE mapping.kategorieid = $kategorieid AND produkte.id <> $produktid + LIMIT 6"; // Maximal 5 Produkte anzeigen + $ergebnis2 = $dbhandle->query($sql2); + + if ($ergebnis2 && $ergebnis2->num_rows > 0) { + // Es gibt mindestens 1 Produkt derselben Kategorie (außer dem ausgewählten Produkt) + while ($row = $ergebnis2->fetch_assoc()) { + showalt($row, $ergebnis2); + } + } /*else { + + $sql3 = "SELECT * FROM produkte WHERE produkt LIKE '%$produktname%' AND id <> $produktid LIMIT 6"; // Maximal 5 Produkte anzeigen + $ergebnis3 = $dbhandle->query($sql3); + + if ($ergebnis3 && $ergebnis3->num_rows > 0) { + // Es gibt ähnliche Produkte + while ($row = $ergebnis3->fetch_assoc()) { + showalt($row, $ergebnis3); + } + } else { + echo "Keine weiteren Produkte gefunden"; + } + }*/ + } else { + echo "Fehler bei der Abfrage: " . $dbhandle->error; + } + } else { + header('location: ./index.php'); + } + + + + + function showalt($ro, $res) + { + echo '
'; + echo '

Ähnliche Produkte

'; + echo '
'; + while ($ro = $res->fetch_assoc()) { + echo '
+
'; + echo '

' . $ro["produkt"] . '

'; + echo '

' . $ro["preis"] . '€

'; + echo "
"; + echo ''; + echo "
"; + } + + echo "
"; + echo "
"; + } + ?> + + + \ No newline at end of file diff --git a/snnes/import.php b/snnes/import.php new file mode 100644 index 0000000..05b6341 --- /dev/null +++ b/snnes/import.php @@ -0,0 +1,84 @@ +connect_error) { + die("FEHLER: " . $conn->connect_error); +} + +// CSV-Datei einlesen und Daten importieren + +if (($handle = fopen("CSV.csv", "r")) !== FALSE) { + fgetcsv($handle); + while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) { + $produkt = $data[0]; + $preis = $data[1]; + $lager = $data[2]; + $lieferzeit = $data[3]; + $kategorie = $data[4]; + $dateiname = $data[5]; + + // Produkt existent? + $prodid = 0; + $prodquery = "SELECT id FROM produkte WHERE produkt = '$produkt'"; + $prodres = $conn->query($prodquery); + + if ($prodres !== false && $prodres->num_rows > 0) { + $row = $prodres->fetch_assoc(); + $prodid = $row["id"]; + } else { + + $preis = str_replace('.', '', $preis); + $preis = str_replace(',', '.', $preis); + $preis = (float)$preis; + // Produkt in DB einfügen + $insprodquery = "INSERT INTO produkte (produkt, preis, lager, lieferzeit, dateiname) + VALUES ('$produkt', '$preis', $lager, $lieferzeit, '$dateiname')"; + $conn->query($insprodquery); + $prodid = $conn->insert_id; + } + + // Kategorie existent? + $katid = 0; + $katquery = "SELECT id FROM kategorien WHERE kategorie = '$kategorie'"; + $katres = $conn->query($katquery); + + + if ($katres->num_rows > 0) { + $row = $katres->fetch_assoc(); + $katid = $row["id"]; + } else { + // Kategorie anlegen + $inskat = "INSERT INTO kategorien (kategorie) VALUES ('$kategorie')"; + $conn->query($inskat); + $katid = $conn->insert_id; + } + + // Verknüpfung zwischen Produkt und Kategorie herstellen + $checklinkq = "SELECT * FROM mapping WHERE produktid = '$prodid' AND kategorieid = '$katid'"; + $checklinkres = $conn->query($checklinkq); + if (!$checklinkres) { + die("Fehler in der Abfrage: " . $conn->error); + } + if ($checklinkres && $checklinkres->num_rows == 0) { + $insprodkat = "INSERT INTO mapping (produktid, kategorieid) + VALUES ($prodid, $katid)"; + dbaction($conn, $insprodkat); + } + } + fclose($handle); +} else { + echo "Fehler beim Öffnen der CSV-Datei."; +} + +$conn->close(); diff --git a/snnes/index.php b/snnes/index.php new file mode 100644 index 0000000..671cf0c --- /dev/null +++ b/snnes/index.php @@ -0,0 +1,134 @@ + + + + + + + shopseite + + + + + + + + + + +
+
+
+ + + + +
+

Kategorien

+ +
+
+ query($sql); + if ($result && $result->num_rows > 0) { + while ($row = $result->fetch_assoc()) { + echo ""; + } + } + + ?> +
+
+

Preis

+
+ +
+ +
+ +
+ 1) { + $sql = "SELECT * FROM produkte LIMIT 6 OFFSET " . $offset; + $result = $dbhandle->query($sql); + //echo $offset; + } else { + //echo $offset; + $sql = "SELECT * FROM produkte LIMIT 6 OFFSET 0"; + $result = $dbhandle->query($sql); + } + } else { + //echo $offset; + $sql = "SELECT * FROM produkte LIMIT 6 OFFSET 0"; + $result = $dbhandle->query($sql); + } + + + if (isset($_GET["kategorie"])) { + $sql = "SELECT * FROM produkte WHERE id =1"; + $result = $dbhandle->query($sql); + $kat = mysqli_fetch_assoc($result); + print_r($kat); + } + + if (!isset($_GET["suchbegriff"])) { + if ($result && $result->num_rows > 0) { + while ($row = $result->fetch_assoc()) { + $preis = number_format($row["preis"], 2, ',', '.'); + echo ''; + echo "
"; + echo "

"; + echo $row["produkt"]; + echo "

"; + echo "

$preis €

"; + if ($row["lager"] == 0) { + echo "

AUSVERKAUFT

"; + echo ''; + } else { + echo ''; + } + echo "
"; + echo "
"; + } + } else { + echo "Keine Daten gefunden."; + } + } + + ?> +
+ +
+ + + + +
+ + + + + \ No newline at end of file diff --git a/snnes/kauf.html b/snnes/kauf.html new file mode 100644 index 0000000..4db07c1 --- /dev/null +++ b/snnes/kauf.html @@ -0,0 +1,11 @@ + + + + + + Document + + +

Du hast was gekauft!

+ + \ No newline at end of file diff --git a/snnes/snens.php b/snnes/snens.php new file mode 100644 index 0000000..3d246b9 --- /dev/null +++ b/snnes/snens.php @@ -0,0 +1,43 @@ +query($katquery); + if ($katres !== false && $katres->num_rows > 0) { + $row = $katres->fetch_assoc(); + $katid = $row["id"]; + } else { + // Kategorie anlegen, wenn nicht existent + $insert_katquery = "INSERT INTO kategorien (kategorie) VALUES ('$kategorie')"; + $dbhandle->query($insert_katquery); + $katid = $dbhandle->insert_id; + } + + // Produkt in die Datenbank einfügen + $prodquery = "INSERT INTO produkte (produkt, preis, lager, lieferzeit, kategorie, dateiname) + VALUES ('$produkt', '$preis', $lager, $lieferzeit, '$kategorie','$dateiname')"; + $dbhandle->query($prodquery); + + // Verknüpfung zwischen Produkt und Kategorie + $prodkatquery = "INSERT INTO mapping (produktid, kategorieid) + VALUES (" . $dbhandle->insert_id . ", $katid)"; + $dbhandle->query($prodkatquery); + } + fclose($handle); +} + +$dbhandle->close(); +?> diff --git a/snnes/suche.php b/snnes/suche.php new file mode 100644 index 0000000..fe69ab7 --- /dev/null +++ b/snnes/suche.php @@ -0,0 +1,34 @@ +query($sql); + if (!$result) { + die('SQL-Fehler: ' . mysqli_error($conn)); + } + if ($result && $result->num_rows > 0) { + while ($row = $result->fetch_assoc()) { + $preis = number_format($row["preis"], 2, ',', '.'); + echo "
"; + echo "

"; + echo $row["produkt"]; + echo "

"; + echo "

$preis €

"; + if ($row["lager"] == 0) { + echo "

AUSVERKAUFT

"; + echo ''; + } else { + echo ''; + } + echo "
"; + } + } else { + echo "Es wurden keine Produkte gefunden, welche ihrer Suchanfrage entsprechen."; + } +}