PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Kann mir jemand helfen mit der SQL / PHP Erstellung? (http://www.selfphp.de/forum/showthread.php?t=25307)

Sabine2 20.06.2014 13:52:13

Kann mir jemand helfen mit der SQL / PHP Erstellung?
 
Hallo,

ich möchte mit mysql eine Freizeit Datenbank erstellen.
Aus diesem Grund interessiert mich, wie man sowas macht.
Denn ich habe noch sehr wenig mit mysql und php gemacht.

Folgendes soll darin enthalten sein:

Adresse:
Name
Vorname
männlich / weiblich
Alter
Straße
PLZ
Stadt
GEO Code
Bild von der Person

Interessen:
reisen
Fußball
Handball
Fernsehen
Hockey
Federball
usw.

--------------
Xampp installieren erledigt
Mysql Datei erstellt

Ich habe 2 Tabellen:
- Adressen
- Interessen:

Tabelle mit Adressen:
Name, Vorname usw. habe ich auch schon gefüllt und ist erledigt

Jetzt habe ich 20 Testpersonen in meiner Datenbank:
- 7 Personen spielen Fußball
- 3 Personen spielen Federball
- 2 Personen schauen gerne Fernsehen
- 5 Personen gehen gerne auf reisen
- 4 Personen spielen Hockey

---------------
Nun würde mich interessieren wie man so eine SQL Datenbank weiter bearbeitet.
Sicherlich müssen diese 2 Tabellen miteinander verknüpft werden.
- Adressen
- Interessen

Die Verknüpfung wird sicherlich in der Tabelle selbst gemacht.
Wenn ich 20 Testpersonen (20 Zeilen) habe, müssten es auch 20 Interessen (20 Zeilen) sein.
Das heißt, jede einzelnen Zeile muss mit der einzige Person verknüpft sein.

--------

Nun meine Frage:

Ich möchte ein Suchfeld machen, wo ich alle Fußballspieler angezeigt werden mit Adresse.

Ich möchte eine Statistik (spitziges Diagramm) erstellen, wo folgendes angezeigt wird!
- 7 Personen spielen Fußball
- 3 Personen spielen Federball
- 2 Personen schauen gerne Fernsehen
- 5 Personen gehen gerne auf reisen
- 4 Personen spielen Hockey

Das soll ein Diagramm sein, mit Spitzen, wenn ich auf die Fußball - Spitze mit der Mouse darauf klicke, sollen alle 7 Fußballspieler Adressen angezeigt werden.

Da ich noch den GEO Code in meiner Datenbank habe, soll dies auf der Landkarte den Vornamen und das Bild von der Person mit angezeigt werden.

Kann mir einer im Internet ein ähnliches Beispiel zeigen, wo ich nur etwas umschreiben muss oder anpassen muss auf meinen Fall?
Beim Diagramm oder bei der Statistik Erstellung, benötige ich etwas mehr Hilfe, den sowas kenne ich leider noch nicht, wie man sowas umsetzt.

pguser 20.06.2014 13:58:01

AW: Kann mir jemand helfen mit der SQL / PHP Erstellung?
 
Zitat:

Zitat von Sabine2 (Beitrag 146597)
Hallo,

ich möchte mit mysql eine Freizeit Datenbank erstellen.
Aus diesem Grund interessiert mich, wie man sowas macht.
Denn ich habe noch sehr wenig mit mysql und php gemacht.

Folgendes soll darin enthalten sein:

Adresse:
Name
Vorname
männlich / weiblich
Alter

Man speichert nicht das Alter, denn das ändert sich.

Zitat:




Ich habe 2 Tabellen:
- Adressen
- Interessen:


Du brauchst eine weitere, wo du die Primary Keys der Tabellen als Foreign Key einträgst. Eine Person kann mehr als 1 Hobby haben. Beschäftige Dich mit Normalisierung.

Sabine2 20.06.2014 14:16:35

AW: Kann mir jemand helfen mit der SQL / PHP Erstellung?
 
Ja, da hast du Recht, wie kann man den automatisch das Alter nach oben zählen lassen?
Wie nennt man sowas, wonach muss ich da suchen - um es zu finden?

Was verstehst du darunder?
Primary Keys der Tabellen als Foreign Key einträgst
=> Ist das eine Zusatzspalte für die Verknüpfung?

Eine Person kann mehr als 1 Hobby haben.
=> Ja, auch da hast du Recht, nur wie programmiert man das auf mehre Hobbys?
=> Wo wird es eingetragen, in der Datenbank? Sind das mehre Spalten in der Tabelle oder stehen mehre Hobbys in einer Spalte, nur größeres Feld?

Beschäftige Dich mit Normalisierung.
=> Meinst du sowas?
http://www.peterkropff.de/site/mysql...isierte_db.htm
Oder gibt es da noch was besseres?

pguser 20.06.2014 14:23:40

AW: Kann mir jemand helfen mit der SQL / PHP Erstellung?
 
Zitat:

Zitat von Sabine2 (Beitrag 146599)
Ja, da hast du Recht, wie kann man den automatisch das Alter nach oben zählen lassen?
Wie nennt man sowas, wonach muss ich da suchen - um es zu finden?

Geburtsdatum. Sicher schon mal gehört, oder? Daraus kann man das Alter errechnen. Mathe, 3. Klasse oder so.


Zitat:

Was verstehst du darunder?
Primary Keys der Tabellen als Foreign Key einträgst
=> Ist das eine Zusatzspalte für die Verknüpfung?
Eine extra Tabelle.


Zitat:

Eine Person kann mehr als 1 Hobby haben.
=> Ja, auch da hast du Recht, nur wie programmiert man das auf mehre Hobbys?
=> Wo wird es eingetragen, in der Datenbank?
Ja. Wo sonst?

Zitat:

Sind das mehre Spalten in der Tabelle oder stehen mehre Hobbys in einer Spalte, nur größeres Feld?
Nein. Zeilen.

Zitat:

Beschäftige Dich mit Normalisierung.
=> Meinst du sowas?
http://www.peterkropff.de/site/mysql...isierte_db.htm
Oder gibt es da noch was besseres?
Zum Beispiel. Und ja, es gibt da sicher noch bessere Erklärungen. Und auch bessere Datenbanken als MySQL.

Sabine2 20.06.2014 14:59:13

AW: Kann mir jemand helfen mit der SQL / PHP Erstellung?
 
Wie berechtet man den das ganze mit dem Geburtsdatum um auf das Alter bzw. Mondphasen zukommen?

Woher bekommt man PLZ und Ort sowie die passende Straßenangaben?
Denn angeblich soll es Personen geben, die nicht die richtige PLZ / Ort sowie Straße einfügen.

pguser 20.06.2014 15:30:10

AW: Kann mir jemand helfen mit der SQL / PHP Erstellung?
 
Zitat:

Zitat von Sabine2 (Beitrag 146601)
Wie berechtet man den das ganze mit dem Geburtsdatum um auf das Alter bzw. Mondphasen zukommen?

Code:

test=# select age('1966-08-01'::date);
          age
--------------------------
 47 years 10 mons 19 days
(1 row)

Die Berechnung der Mondphasen erklärt Dir Google.


Zitat:

Woher bekommt man PLZ und Ort sowie die passende Straßenangaben?
Steht im Ausweis.

Zitat:

Denn angeblich soll es Personen geben, die nicht die richtige PLZ / Ort sowie Straße einfügen.
Bestrafen!!1elf

Sabine2 20.06.2014 17:10:29

AW: Kann mir jemand helfen mit der SQL / PHP Erstellung?
 
Was verstehst du darunder?
Primary Keys der Tabellen als Foreign Key einträgst
- Ist das eine Zusatzspalte für die Verknüpfung?

Eine extra Tabelle.
=> Das hier verstehe ich leider jetzt nicht so gut, da benötige ich mehr Infos oder ein Bild, wie du das meinst.
Es kann auch ein Link sein im Internet, wo ich es sehen kann, wie du es meist!

Für den Rest möchte ich dir danke sagen, für deine Hilfe!

pguser 20.06.2014 17:19:50

AW: Kann mir jemand helfen mit der SQL / PHP Erstellung?
 
Zitat:

Zitat von Sabine2 (Beitrag 146603)
Was verstehst du darunder?
Primary Keys der Tabellen als Foreign Key einträgst
- Ist das eine Zusatzspalte für die Verknüpfung?

Eine extra Tabelle.
=> Das hier verstehe ich leider jetzt nicht so gut, da benötige ich mehr Infos oder ein Bild, wie du das meinst.

Sowas in der Art:

Code:

test=# create table leute (id int primary key, name text, geburtsdatum date);
CREATE TABLE
Time: 103,483 ms
test=*# create table interessen (id int primary key, name text);
CREATE TABLE
Time: 3,266 ms
test=*# create table leute_haben_interessen(id_leute int references leute, interesse int references interessen);
CREATE TABLE
Time: 31,537 ms


Sabine2 21.06.2014 08:46:55

AW: Kann mir jemand helfen mit der SQL / PHP Erstellung?
 
Hallo guten Morgen,

ich möchte jetzt mein Test Beispiel erweitern!

Nehmen wir mal an, es schreibt jemand "Regensburg" falsch!

- Regensburk

oder die Straßenangabe stimmt nicht, da es dieses Straße in Wirklichkeit nicht gibt!

- Hindertupfinger Straße 11

-----------------
Aus diesem Grund möchte ich jetzt ein kleinen Klicktaste am Ende anbringen, um somit einem anderen Besucher die Möglichkeit zu geben, das Wort (Regensburk) zu verbessern.
Darum dachte ich jetzt, ich mache in meiner Datenbank / Tabelle, 3 weitere Spalten hinzu. Um somit 2 oder 3 Besucher die Möglichkeit zu geben, das Ganze zu verbessern.

Ich gehe davon aus, wenn 2 oder 3 Personen dasselbe Wort 2x unabhängig voneinander eingetragen, weil sie es nicht sehen können, das der vorherige Besucher es schon verbessert hat.

Im Admin Bereich, wäre es schön, wenn man die 2 eingetragene Städte von den Besuchern sehen könnte mit den unterschiedlichen IP Standort. Nicht das es von einer Person 2x eingetragen wurde.

---------------
Jetzt habe ich neben meiner Spalte "stadt" noch 3 weitere Spalten gemacht, "stadt1", "stadt2", "stadt3".

Nun stellt sich für mich die Frage, wie kann ich das ganze so einrichten, das man von außen (Besucherseite) nur einen Klickbotten sehen kann.
Aber nicht das Wort in der Spalte "stadt1" da ein vorherige Besucher schon was hier reingeschrieben hat überschrieben wird.
Sondern die Spalte "stadt2" verwendet wird.

Frage: wie müsste sowas ungefähr lauten?

meikel (†) 21.06.2014 09:01:53

AW: Kann mir jemand helfen mit der SQL / PHP Erstellung?
 
Zitat:

Zitat von Sabine2 (Beitrag 146611)
Frage: wie müsste sowas ungefähr lauten?

Antwort: guck Dir einfach mal diverse Forenscripte u/o Adreßverwaltungsscripte an. Und suche im Internet nach der Vokabel "Affenformular":
Ausgabe eines Formulares, bei dem die value Attribute der betreffenden Textfelder mit den Werten aus dem Userrecord vorbelegt werden.

Beachte hierbei zwingend die Sicherheit. Suche im Internet nach "SQL Injection". Beachte zwingend, daß ' und " via htmlentities oder htmlspecialchars entschärft werden müssen.
http://de2.php.net/htmlentities
Zitat:

string htmlentities ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]] )

ENT_QUOTES Konvertiert sowohl doppelte als auch einfache Anführungszeichen.
oder
http://de2.php.net/htmlspecialchars
Zitat:

string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]] )

ENT_QUOTES Konvertiert sowohl doppelte als auch einfache Anführungszeichen.
Beachte auch, daß bei den neueren PHP Versionen UTF-8 als default charset verwendet wird:
Zitat:

5.4.0 Der Standardwert für encoding wurde zu UTF-8 geändert.


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:53:41 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.