diff --git a/Dokumentation/Titelblatt.aux b/Dokumentation/Titelblatt.aux index 0fa5387..63709aa 100644 --- a/Dokumentation/Titelblatt.aux +++ b/Dokumentation/Titelblatt.aux @@ -20,6 +20,47 @@ \setcounter{parentequation}{0} \setcounter{float@type}{4} \setcounter{r@tfl@t}{0} +\setcounter{tikzumlPackageLayers}{3} +\setcounter{tikzumlFragmentLayers}{3} +\setcounter{tikzumlStateLayers}{3} +\setcounter{tikzumlComponentLayers}{3} +\setcounter{tikzumlPackageClassNum}{0} +\setcounter{tikzumlPackageSubPackageNum}{0} +\setcounter{tikzumlRelationNum}{1} +\setcounter{tikzumlNoteNum}{1} +\setcounter{pos}{0} +\setcounter{posT}{0} +\setcounter{posStereo}{0} +\setcounter{tikzumlPackageLevel}{0} +\setcounter{tikzumlSystemUseCaseNum}{0} +\setcounter{tikzumlSystemLevel}{0} +\setcounter{tikzumlUseCaseNum}{0} +\setcounter{tikzumlActorNum}{0} +\setcounter{tikzumlStateJoinNum}{0} +\setcounter{tikzumlStateDecisionNum}{0} +\setcounter{tikzumlStateInitialNum}{0} +\setcounter{tikzumlStateFinalNum}{0} +\setcounter{tikzumlStateEnterNum}{0} +\setcounter{tikzumlStateExitNum}{0} +\setcounter{tikzumlStateEndNum}{0} +\setcounter{tikzumlStateHistoryNum}{0} +\setcounter{tikzumlStateDeepHistoryNum}{0} +\setcounter{tikzumlStateLevel}{0} +\setcounter{tikzumlStateSubStateNum}{0} +\setcounter{tikzumlStateText}{0} +\setcounter{tikzumlObjectNum}{0} +\setcounter{tikzumlCallLevel}{0} +\setcounter{tikzumlCallNum}{0} +\setcounter{tikzumlFragmentLevel}{0} +\setcounter{tikzumlFragmentLevelNum}{0} +\setcounter{tikzumlFragmentNum}{0} +\setcounter{tikzumlFragmentPartNum}{0} +\setcounter{tikzumlCallStartFragmentNum}{0} +\setcounter{tikzumlCallEndFragmentNum}{0} +\setcounter{tikzumlSDNodeNum}{0} +\setcounter{tikzumlComponentLevel}{0} +\setcounter{tikzumlComponentSubComponentNum}{0} +\setcounter{tikzumlConnectorNum}{1} \setcounter{Item}{0} \setcounter{Hfootnote}{0} \setcounter{bookmark@seq@number}{0} diff --git a/Dokumentation/bilder/DB/DB-ERM2.png b/Dokumentation/bilder/DB/DB-ERM2.png new file mode 100644 index 0000000..5a47eb3 Binary files /dev/null and b/Dokumentation/bilder/DB/DB-ERM2.png differ diff --git a/Dokumentation/bilder/DB/DB-RM2.png b/Dokumentation/bilder/DB/DB-RM2.png new file mode 100644 index 0000000..04c95e9 Binary files /dev/null and b/Dokumentation/bilder/DB/DB-RM2.png differ diff --git a/Dokumentation/bilder/Zeitplan/Ganttplan.gan b/Dokumentation/bilder/Zeitplan/Ganttplan.gan new file mode 100644 index 0000000..2076361 --- /dev/null +++ b/Dokumentation/bilder/Zeitplan/Ganttplan.gan @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Dokumentation/bilder/Zeitplan/Ganttplan.pdf b/Dokumentation/bilder/Zeitplan/Ganttplan.pdf new file mode 100644 index 0000000..3e120ab Binary files /dev/null and b/Dokumentation/bilder/Zeitplan/Ganttplan.pdf differ diff --git a/Dokumentation/bilder/Zeitplan/ZeitplanGanttganz.pdf b/Dokumentation/bilder/Zeitplan/ZeitplanGanttganz.pdf new file mode 100644 index 0000000..1ccb8ec Binary files /dev/null and b/Dokumentation/bilder/Zeitplan/ZeitplanGanttganz.pdf differ diff --git a/Dokumentation/bilder/Zeitplan/Zeitplanganz.png b/Dokumentation/bilder/Zeitplan/Zeitplanganz.png new file mode 100644 index 0000000..03ca44c Binary files /dev/null and b/Dokumentation/bilder/Zeitplan/Zeitplanganz.png differ diff --git a/Dokumentation/ibz-document.cls b/Dokumentation/ibz-document.cls index 353020f..f41dc9e 100644 --- a/Dokumentation/ibz-document.cls +++ b/Dokumentation/ibz-document.cls @@ -80,8 +80,28 @@ bottom=3cm %\RequirePackage{graphicx} % is included in tikz %Support for Graphics -\RequirePackage{tikz} - \usetikzlibrary{matrix} +\RequirePackage{pgf,tikz} +\usetikzlibrary{% +arrows.meta, +arrows, +shapes, +shapes.misc, +shapes.symbols, +shapes.geometric, +chains, +matrix, +positioning, +shapes.multipart, +calc, +spy, +decorations, +backgrounds, +scopes} +\RequirePackage{tikz-uml} +\RequirePackage{ifthen} +\RequirePackage{xstring} +\RequirePackage{pgfkeys} +\RequirePackage{pgfplots} %Enable URL highlighting \RequirePackage{hyperref} diff --git a/Dokumentation/main.pdf b/Dokumentation/main.pdf index d93d4a2..ea6dfc1 100644 Binary files a/Dokumentation/main.pdf and b/Dokumentation/main.pdf differ diff --git a/Dokumentation/main.tex b/Dokumentation/main.tex index 5da638b..f801c8a 100644 --- a/Dokumentation/main.tex +++ b/Dokumentation/main.tex @@ -50,8 +50,59 @@ % 3 Seite - Hier beginnt die Arbeit %------------------------------------------------------------------- \setcounter{page}{1} %hier beginnt die Seitenzahl +\section{Ausgangslage} +\subsection{Zielsetzung dan die Fallstudie} +Die Webtech Case Study im dritten Semester der Ausbildung zum Dipl. Techniker IT befasst sich mit den Technologien HTML, PHP und SQL aus den Fächern Webtechnologie und Datenbanken. +Die Zielsetzung ist vom Fachgruppenleiter dokumentiert und wird gemäss diesem umgesetzt. +Es sind vier Ziele zu verfolgen:\\ -\section{Vision} +\begin{minipage}{0.6\linewidth} + \begin{itemize} + \item Der Studierende hat ein Geschäftsmodell in eine einfache dynamische Weblösung abgebildet + \item Der Studierende hat einen sinnvollen Testplan entworfen und diesen auf seine Lösung angewendet + \item Der Studierende hat die zur Verfügung stehenden Stunden in einer Planung den aufgaben zugeordnet und eine Abweichungsanalyse erstellt + \item Der Studierende hat die Lösung dokumentiert + \end{itemize} +\end{minipage} +\subsection{Rahmenbedingungen} + \begin{tabular}{l|l} + Thema & Festlegung\\\hline + Art der Arbeit & Gruppenarbeit zu dritt\\ + Umfang & 80 Stunden\\ + Präsentation & 15min. vor der Klasse \\ + Abgabe & Elektronisch\\ + Benotung & gemäss Beurteilungsschema\\ + \end{tabular} +\subsection{Umschreibung der Aufgabenstellung} +Folgendes Geschäftsmodel ist umzusetzen:\\ + +\begin{minipage}{0.96\linewidth} + \begin{itemize} + \item Firmen (Nachfrager), welche Teile zur Herstellung Ihrer Produkte benötigen (Schrauben, Muttern, Nieten...) können diese auf unserer Plattform erfassen. + \item Erfasst werden dabei die genaue Bezeichnung, die benötigte Menge und Qualität und der gewünschte Lieferzeitpunkt. + \item Anbieter solcher Teile können nun nach gewissen Teilen suchen (z.B. sucht jemand Schrauben des Typ II-C ?) + \item Findet der Anbieter einen Eintrag, so kann er, anonymisiert, ein Angebot hinterlegen (ich biete Schraube II-C zu 12 Fr. per 100 Stück an) + \item Die Nachfrager können anschliessend alle Angebote, welche zu einem bestimmten Teil abgegeben worden sind auflisten und das Ihnen passende auswählen. + \item Ein so ausgewähltes Angebot wird dem Anbieter als Bestellung im XML- Format übermittelt + \end{itemize} +\end{minipage} + +\section{Projektorganisation} +Wir entscheiden uns für eine Agile Entwicklung nach SCRUM. +\subsection{Personen, Aufgaben und Werkzeuge} +Prashath Harayanamoorthy wird die Aufgabe des SCRUM Masters übernehmen während sich Ivan Hörler als Developer integriert und Alessio Ciullo übernimmt die Sprint Reviews. \\ +Dabei wurde die Daily auf Weekly meetings ausgedehnt um den Ansprüchen der Aufgabe und der Nebenberuflichen erledigung der Case Study gerecht zu werden.\\ +Die Dokumentation wird jeweils aktuell mitgeführt und über die gleiche Versioning Software verteilt wie der Code. Geschrieben wird in Latex um die Mitarbeit aller, direkt über commits ins ''Git'' Repository sicherzustellen. Programmiert wird ausschliesslich in HTML, PHP und MYSQL Sprache.\\ +Der SCRUM Master erstellt die zu erledigenden Arbeitspaket (nachfollgend ''AP'' genannt), dazu Usecase Diagramm und User Storys und übergibt diese dem Developer der den Sprint damit beginnt. Durch den Revisor wird die jeweilige itteration beglaubigt bevor zum nächsten AP übergegangen wird. +\subsection{Kommunikationsstrukturen} +Zur Kommunikation untereinander wird ein Telegramm Messenger eingesetzt. +AP und Diagramme werden direkt im Dokument eingefügt und stehen somit mit dem nachgehenden Bericht des Developers im Selben allen zur Einsicht zur verfügung. +\subsection{Qualitätsmanagement} +Nach jedem AP wird das geleistete untersucht und eventuelle Abschweiffer von der Aufgabenstellung gleich behoben. +Untersucht wird anhand von User Stories und Usecase Diagramme ob die Lösung den Vorgaben entspricht. + +\section{Analyse} +\subsection{Vision} Die Vision beschreibt den Vorgang von Anwendern auf der Website der Firma BusinessStreamline graphisch als Kundenbeziehung. \begin{figure}[h] @@ -61,22 +112,14 @@ Die Vision beschreibt den Vorgang von Anwendern auf der Website der Firma Busine \label{fig:Kundenbeziehung} \end{figure} -% \begin{figure}[h] -% \subsection{Meilensteine} -% \includegraphics[width=\textwidth]{bilder/vision/Millestones.pdf} -% \label{fig:Meilensteine} -% \caption{Meilensteine} -% \end{figure} - - -\section{User Stories} +\subsection{User Stories} Ausgangspunkt ist diese Syntax: \begin{center}% %\begin{Small}% \textsc{Als } \textsc{\texttt{ }}\textsc{will ich } \textsc{\texttt{, }}\textsc{so dass } \textsc{\texttt{.}} %\end{Small}% \end{center}% - \subsection{BusinessStreamline} + \subsubsection{BusinessStreamline} \begin{itemize} \item Als Dienstleister firma will ich, dass der Kunde sich Anmelden muss, so dass kein unbefugter Zugang besteht. \item Als Dienstleister firma will ich Kontrolle über die Kundenanmeldung haben, so dass kein Kunde zweimal registriert sein kann. @@ -84,7 +127,7 @@ Die Vision beschreibt den Vorgang von Anwendern auf der Website der Firma Busine \item Als Dienstleister firma will ich die Angebote überprüfen können. \item Als Dienstleister firma will ich, dass alle Nachfrager und Anbieter anonym verhandeln können. \end{itemize} - \subsection{Nachfragerfirma} + \subsubsection{Nachfragerfirma} \begin{itemize} \item Als Nachfrager firma will ich eine Bezeichnung eines gesuchten Teils hinterlegen können so dass ein Anbieter das Teil spezifisch suchen kann. \item Als Nachfrager firma will ich die Qualität eines gesuchten Teils hinterlegt haben, sodass ich mich an Qualitätsmerkmalen orientieren kann. @@ -93,7 +136,7 @@ Die Vision beschreibt den Vorgang von Anwendern auf der Website der Firma Busine \item Als Nachfrager firma will ich ein Angebot annehmen können, so dass dem Anbieter eine Bestellung zugesandt wird. \item Als Nachfrager firma will ich das Teil innerhalb der Lieferzeit zugesandt bekommen. \end{itemize} - \subsection{Anbieterfirma} + \subsubsection{Anbieterfirma} \begin{itemize} \item Als Anbieter firma will ich abfragen welche Teile gesucht sind, so dass ein Angebot erstellt werden kann. \item Als Anbieter firma will ich, dass alle Eckpunkte geklärt sind, so dass keine unvorhergesehenen Kosten entstehen. @@ -101,52 +144,118 @@ Die Vision beschreibt den Vorgang von Anwendern auf der Website der Firma Busine \item Als Anbieter firma will ich anonym bleiben, so dass die Nachfragefirma nur anhand des Preises entscheidet wer sie berücksichtigt. \item Als Anbieter firma will ich bei der Bestellung eine schriftliche Antwort erhalten, so dass der Vertrag gültig ist. \end{itemize} - -\section{Benutzerführung} -Damit der Kunde sieht wie seine Webseite funktioniert wurde eine Benutzerführung in form von Flowdiagrammen zu jedem Typ von Kunden erstellt. -\subsection{Nachfrage Firma} +\subsection{Usecase Diagramme} +\subsubsection{Login} +\scalebox{0.8}{ + \begin{tikzpicture} + \begin{umlsystem}[x=4, fill=red!10]{The System} + \umlusecase[x=0,y=-5,name=case1, width=20mm]{Rechnung erstellen} + \umlusecase[x=5.5,y=-5, name=case2, width=20mm]{Zusätzliche Prüfung durch vorgesetzten auslösen.} + \umlusecase[x=0, y=-7, name=case3, width=30mm]{Rechnungsversand auslösen.} + \umlinclude[name=incl]{case1}{case3} + \umlextend[name=exte]{case2}{case1} + \end{umlsystem} + \umlactor[x=0,y=-5]{Sachb} + \umlactor[x=0,y=-7]{Kunde} + \umlinherit{case3}{Kunde} + \umlassoc{Sachb}{case1} + \umlnote[x=9,y=-7, width=4cm]{exte-1}{condition: [ betrag >= 5000 ] } + \end{tikzpicture} +} \begin{figure}[H] \begin{center} - \includegraphics[scale=0.5]{bilder/Benutzerfuehrung/Nachfrager.png} - \end{center} - \caption{Benutzerführung des Nachfragers} - \label{fig:BenutzerführungNachfrager} - \end{figure} - -\subsection{Anbieter Firma} - - \begin{figure}[H] - \begin{center} - \includegraphics[scale=0.6]{bilder/Benutzerfuehrung/Anbieter.png} + %\includegraphics[scale=0.6]{bilder/usecase/login.png} \end{center} - \caption{Benutzerführung des Anbieters} - \label{fig:BenutzerführungAnbieters} + \caption{Login Vorgang} + \label{fig:LoginVorgang} \end{figure} - -\section{Datenbank} -Die Gruppe hat sich entschieden das Projekt auf Basis einer MySQL Datenbank mit PHP zu erstellen. +\subsubsection{Angebot} + \begin{figure}[H] + \begin{center} + %\includegraphics[scale=0.6]{bilder/usecase/angebot.png} + \end{center} + \caption{Angebots Vorgang} + \label{fig:AngebotVorgang} + \end{figure} +\subsubsection{Suche} + \begin{figure}[H] + \begin{center} + %\includegraphics[scale=0.6]{bilder/usecase/suche.png} + \end{center} + \caption{Suche Vorgang} + \label{fig:SucheVorgang} + \end{figure} +\subsubsection{Profile} + \begin{figure}[H] + \begin{center} + %\includegraphics[scale=0.6]{bilder/usecase/profile.png} + \end{center} + \caption{Profile Vorgang} + \label{fig:ProfileVorgang} + \end{figure} +\subsubsection{XML} + \begin{figure}[H] + \begin{center} + %\includegraphics[scale=0.6]{bilder/usecase/xml.png} + \end{center} + \caption{XML Vorgang} + \label{fig:XMLVorgang} + \end{figure} +\subsection{Datenbank} +Die Gruppe hat sich entschieden das Projekt auf Basis einer MySQL Datenbank mit PHP zu erstellen. Da ein Hoster über ein Team-Mitglied zur verfügung stand. Zur Visualisierung wurden RM und ERM mit Dia erstellt: -\subsection{ERM} +\subsubsection{ERM} \begin{figure}[H] \begin{center} - \includegraphics[scale=0.4]{bilder/DB/DB-ERM.png} + \includegraphics[scale=0.4]{bilder/DB/DB-ERM2.png} \end{center} \caption{ERM zur Datenbank für BusinessStreamline} \label{fig:ERM} \end{figure} -\subsection{RM} +\subsubsection{RM} \begin{figure}[H] \begin{center} - \includegraphics[scale=0.5]{bilder/DB/DB-RM.png} + \includegraphics[scale=0.5]{bilder/DB/DB-RM2.png} \end{center} \caption{RM zur Datenbank für BusinessStreamline} \label{fig:RM} \end{figure} - + +\section{Detailplanung} +\subsection{Benutzerführung} +Damit der Kunde sieht wie seine Webseite funktioniert wurde eine Benutzerführung in form von Flowdiagrammen zu jedem Typ von Kunden erstellt. +\subsubsection{Nachfrage Firma} + \begin{figure}[H] + \begin{center} + \includegraphics[scale=0.45]{bilder/Benutzerfuehrung/Nachfrager.png} + \end{center} + \caption{Benutzerführung des Nachfragers} + \label{fig:BenutzerführungNachfrager} + \end{figure} +\subsubsection{Anbieter Firma} + \begin{figure}[H] + \begin{center} + \includegraphics[scale=0.48]{bilder/Benutzerfuehrung/Anbieter.png} + \end{center} + \caption{Benutzerführung des Anbieters} + \label{fig:BenutzerführungAnbieters} + \end{figure} \newpage %------------------------------------------------------------------- -\section{Coding} +\begin{landscape} +\subsection{Termine und Meilensteine} + \begin{figure}[H] + \subsection{Zeitplan} + \includegraphics[scale=0.29]{bilder/Zeitplan/Zeitplanganz.png} + \caption{Zeitplanung} + \label{fig:Zeitplanung} + \end{figure} +\end{landscape} +\newpage %------------------------------------------------------------------- + +\section{Realisation/Dokumentation} + \subsection{erstes Login} Nach dem wir einige Tutorials durchgearbeitet hatten, fanden wir mit codeingcage \cite{ref1} ein Tutorial dass die Abläufe genügend einfach gestaltet hatte. So dass wir auch in der Lage waren es zu verstehen, verändern und unseren Bedürfnissen anzupassen. @@ -172,18 +281,11 @@ Da XML eine eigene Skript art ist mussten wir uns erst damit auseinandersetzen. \subsection{Filedownload} Diese Problemstellung haben wir komplett unterschätzt. Die Art und Programmierung für den Trigger eines Downloads mit PHP ist kompliziert. Durch ausprobieren und der Kombination von verschiedenen Lösungen aus dem Internet konnte es dann bewerkstelligt werden. \cite{ref5} -\begin{landscape} -\section{Projektplanung} +\subsection{Testing} - \begin{figure}[H] - \subsection{Zeitplan} - \includegraphics[scale=0.4]{bilder/Zeitplan/Zeitplan.png} - \caption{Zeitplanung} - \label{fig:Zeitplanung} - \end{figure} -\end{landscape} +\newpage %------------------------------------------------------------------- \begin{figure}[H] - \subsection{Zeitaufwand} + \section{Zeitaufwandsliste} \begin{footnotesize} \begin{center} \begin{spreadtab}{{tabular}{ | l | c | c | c | l | }} \hline @@ -212,6 +314,11 @@ Diese Problemstellung haben wir komplett unterschätzt. Die Art und Programmieru \end{footnotesize} \end{figure} +\subsection{Abweichungsanalyse} + + + + % Etwas Hilfe zu Latex: %------------------------------------------------------------------- diff --git a/Website/dblogin.sql b/Website/dblogin.sql index be87c8a..d968d77 100644 --- a/Website/dblogin.sql +++ b/Website/dblogin.sql @@ -9,7 +9,7 @@ COLLATE utf8_general_ci; use bsldb; grant all on bsldb.* to - 'WT1CS1usr'@'%' + 'WT1CS1usr'@'localhost' identified by 'ibz4life-WT1CS1'; flush privileges; SHOW GRANTS FOR 'WT1CS1usr'; @@ -20,8 +20,8 @@ SHOW GRANTS FOR 'WT1CS1usr'; CREATE TABLE IF NOT EXISTS `bsldb`.`benutzer` ( `benutzer_id` int(11) NOT NULL AUTO_INCREMENT, - `benutzer_name` varchar(15) NOT NULL, - `benutzer_pass` varchar(255) NOT NULL, + `benutzer_name` varchar(30) NOT NULL, + `benutzer_pass` varchar(30) NOT NULL, `anmelde_datum` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, UNIQUE (`benutzer_name`), PRIMARY KEY (`benutzer_id`) diff --git a/Website/erfassen.php b/Website/erfassen.php index 7dd203a..dec63a2 100644 --- a/Website/erfassen.php +++ b/Website/erfassen.php @@ -60,7 +60,7 @@

Suchen Sie ein Teil? Dann erfassen Sie es hier!

-
+ "> diff --git a/Website/profile.php b/Website/profile.php index 7746cff..a6b1333 100644 --- a/Website/profile.php +++ b/Website/profile.php @@ -47,30 +47,29 @@ "" . "" . "" . - ""; - }else{echo - "k.A." . " " . ""; - } - if (!empty(htmlentities($row['angebot_file']))) { - // $pathtofile="xml/"; geht nicht weil der slash wird nicht mitgenommen wenn die variable abgerufenwird... - echo - ""; - } - if (!empty(htmlentities($row['angebot_preis'])) AND empty(htmlentities($row['angebot_file']))) { + ""; + } else { + echo + "kein Angebot bisher." . " " . ""; + } + if (!empty(htmlentities($row['angebot_file']))) { echo ""; + } else { + if (!empty(htmlentities($row['angebot_preis']))){ + echo + ""; + } } ""; } @@ -82,6 +81,60 @@ } ?>
Typ:" . htmlentities($row['nachfr_quali']) . " " . "" . htmlentities($row['nachfr_lieferdatum']) . " " . "" . substr(htmlentities($row['angebot_datum']),0,10) . " " . ""; if (!empty(htmlentities($row['angebot_preis']))) - {echo - "Fr. " . htmlentities($row['angebot_preis']) . " " . "" . - "" . - "" . - "" . - "" . - ""; + if (!empty(htmlentities($row['angebot_preis']))) { + echo + "Fr. " . htmlentities($row['angebot_preis']) . " " . "" . - "
" . - "" . - "" . - "
" . + "dieses Angebot wurde von dir Angenommen" . "
" . + "
" . + "" . + "" . + "
" . + "
+
+ + + + + + + + + + + query(" + SELECT * FROM nachfrager + LEFT JOIN anbieter + ON nachfrager.erfassungs_id = anbieter.erfassungs_id + WHERE anbieter.benutzer_id = $user_id + ORDER BY nachfrager.nachfr_typ ASC, anbieter.angebot_preis ASC + ") as $row) { + echo + "" . + "" . + "" . + "" . + "" . + "" . + "" . + ""; + if (!empty(htmlentities($row['angebot_file']))) { + echo + ""; + } else { + echo + ""; + } + ""; + } + + } catch (Exception $e) { + + echo $e->getMessage(); + echo $e; + } + ?> +
Deine Angebote:
EintragTypMengeQualitätLieferungA.DatumAngebotAufträge:
" . substr(htmlentities($row['nachfr_datum']),0,10) . " " . "" . htmlentities($row['nachfr_typ']) . " " . "" . htmlentities($row['nachfr_menge']) . " " . "" . htmlentities($row['nachfr_quali']) . " " . "" . htmlentities($row['nachfr_lieferdatum']) . " " . "" . substr(htmlentities($row['angebot_datum']),0,10) . " " . "" . htmlentities($row['angebot_preis']) . " " . "" . + "
" . + "" . + "" . + "
" . + "
" . + "dein Angebot wurde noch nicht bestätigt" . + "
+

sobald ein Angebot angenommen wird wird dir ein Link mit den Informationen bereitgestellt.

+
diff --git a/Website/style.css b/Website/style.css index 7ea6db7..4f07325 100644 --- a/Website/style.css +++ b/Website/style.css @@ -91,6 +91,7 @@ caption{ top: 20; left: 20; width: 100%; + height: 80%; border-spacing: 0px; text-align: left; max-width: 800px; @@ -110,6 +111,7 @@ caption{ font-family:Tahoma, Geneva, sans-serif; color:#222; font-weight:lighter; + overflow: scroll; } th{ font-size: 16px;