|
Yukimura
|
| Titel: MySQL mit PHP verknüpfen |
12.09.2011 19:59 |
|
|
Anmeldungsdatum: 02.07.2007
Beiträge: 265
|
Hi Leute, ich schreibe in PHP eine Umfrage. Hierbei gibt es 3 mögliche Ergebnis. Ich möchte nun auf einer seite anzeigen, wie oft welches Ergebnis dabei rauskam.
Kann mir hierbei jemand helfen?
Vielen dank 
________________________________________ Meine Seite: Game 2
|
 |
|
| |
|
L3oop
|
| Titel: MySQL mit PHP verknüpfen |
12.09.2011 20:48 |
|
Moderator 45.021 Punkte (?)
Anmeldungsdatum: 25.04.2008
Beiträge: 9.399
 |
Experte |
1 Mitglied findet diesen Beitrag gut
|
Ich würde jeweils eine Tabelle für die Umfragen und eine für die möglichen Ergebnisse machen. Willst du wissen wie du eine Verbindung zur Datenbank herstellst oder geht es dir nur um die Abfragen?
________________________________________ Stereomix • Bootreihenfolge ändern • PC beschleunigen
|
 |
|
| |
|
Yukimura
|
| Titel: MySQL mit PHP verknüpfen |
15.09.2011 16:53 |
|
|
Anmeldungsdatum: 02.07.2007
Beiträge: 265
|
auch wie ich sie erstellen. sagen wir mal es gibt als ergebnis 1, die variable x als 2. ergbnis die Variable y und als drittes z
wie erstelle ich die datei und wie verbinde ich dies?
bin ein absoluter MySQL neuling 
[Zuletzt bearbeitet: 15.09.2011 16:53]
________________________________________ Meine Seite: Game 2
|
 |
|
| |
|
Black-Baron
|
| Titel: MySQL mit PHP verknüpfen |
16.09.2011 10:01 |
|
|
Anmeldungsdatum: 08.04.2007
Beiträge: 674
1 Mitglied findet diesen Beitrag gut
|
Hallo,
also du brauchst zumindest einmal 2 Tabellen in MySQL.
Diese erstellst du als Anfänger am leichtesten über PHPmyAdmin (o.Ä.)
Die eine Tabelle nennst du dann "Umfrage", die zweite nennst du "Moeglichkeit" (es wird bei Tabellen in der Regel immer die Einzahl genommen... also wäre auch Baum anstadt Baeume zu verwenden)
Die Tabellen benötigen folgende Felder: Tabelle Umfrage: ID (Int)(als PrimaryKey und auto_increment) Frage(VarChar)
Tabelle Moeglichkeit: ID (Int)(als PrimaryKey und auto_increment) FrageID(Int) Moeglichkeit(VarChar) Anzahl(Int)
Anschließend machst du so eine Umfrage: In die Tabelle Umfrage schreibst du bei "Frage" die Frage rein und die ID sollte sich automatisch eintragen. Nun musst du dir die ID der Umfrage merken und gehst in die Tabelle Moeglichkeit und trägst dort folgendes ein: ID (Wird automatisch eingefügt) FrageID(Hier die ID von der Umfrage) Moeglichkeit(Der Text der Möglichkeit) Anzahl(in diesem Fall 0, da dieses Feld die Anzahl zählt)
Zum Auslesen der Ergebnisse brauchst du nun folgende SQL-Anweisung. SELECT M.Moeglichkeit, M.Anzahl, U.Frage From Moeglichkiet AS M, Umfrage AS U WHERE U.ID = M.FrageID AND FrageID = $umfrageID
So solltest du mal einen groben Anfang haben. vielleicht hat L3ooß ja noch mehr dazu zu schreiben. Ich bin aktuell etws in Zeitnot :/
|
 |
|
| |
|
Yukimura
|
| Titel: MySQL mit PHP verknüpfen |
16.09.2011 12:58 |
|
|
Anmeldungsdatum: 02.07.2007
Beiträge: 265
|
ich versuche es mal.
Fand die Erkärung mir Baum anstatt Baeume sehr gut.
________________________________________ Meine Seite: Game 2
|
 |
|
| |
|
Black-Baron
|
| Titel: MySQL mit PHP verknüpfen |
19.09.2011 14:10 |
|
|
Anmeldungsdatum: 08.04.2007
Beiträge: 674
1 Mitglied findet diesen Beitrag gut
|
Und wie sieht es aus?
|
 |
|
| |
|
DYnamiC
|
| Titel: MySQL mit PHP verknüpfen |
19.09.2011 19:40 |
|
|
Anmeldungsdatum: 30.11.2008
Beiträge: 450
 |
Tutorial Autor (?) |
1 Mitglied findet diesen Beitrag gut
|
Wofür brauchst du MySQL? Du kannst doch einfach per PHP die Daten auf eine externe txt-Datei schreiben lassen. jedes mal, wenn jemand auf die eine Möglichkeit klickt, wird der Wert in der TXT Datei um einen erhöht. Einen Code könnte ich mal machen, habe jetzt aber leider keine Zeit.
________________________________________ iPhone 4/3GS Jailbreak für iOS 4.3.5 BIETE HTML Template
|
 |
|
| |
|
Yukimura
|
| Titel: MySQL mit PHP verknüpfen |
19.09.2011 20:55 |
|
|
Anmeldungsdatum: 02.07.2007
Beiträge: 265
|
ich würde dich echt feier 
Leider ist das MySQL doch ein wenig schwieriger als gedacht oder ich fail einfach nur mega hart. aber das mit der txt Datei wäre geil wenn du des schreiben könntest, falls sich das zeitlich vereinbaren lässt 
________________________________________ Meine Seite: Game 2
|
 |
|
| |
|
Black-Baron
|
| Titel: MySQL mit PHP verknüpfen |
20.09.2011 09:36 |
|
|
Anmeldungsdatum: 08.04.2007
Beiträge: 674
|
Natürlich kann er das auch mit einer TXT/XML Datei machen. Ist im Grunde auch nicht anders als eine DB. Unterschied ist eben nur, dass Datenbanken bei mehreren Umfragen leichter zu pflegen und schneller sind.
zusätzlich steigt die Gefahr des doppelt überschreiben sollten viele User gleichzeitig abstimmen.
|
 |
|
| |
|
DYnamiC
|
| Titel: MySQL mit PHP verknüpfen |
20.09.2011 15:47 |
|
|
Anmeldungsdatum: 30.11.2008
Beiträge: 450
 |
Tutorial Autor (?) |
|
Ich muss mich mal selber kritisieren, was mir noch im Nachhinein noch aufhefallen ist. Soweit ich weiß ist es per Txt Datei nicht wirklich einfach, jeden Besucher nur einmal abstimmen zu lassen. Zwar kann man das mit Browsercookies machen, aber die kann man ja löschen. Frage ist halt nur, Ob das über mysql einfacher zu verwirklichen ist.
________________________________________ iPhone 4/3GS Jailbreak für iOS 4.3.5 BIETE HTML Template
|
 |
|
| |
|
Black-Baron
|
| Titel: MySQL mit PHP verknüpfen |
20.09.2011 16:56 |
|
|
Anmeldungsdatum: 08.04.2007
Beiträge: 674
1 Mitglied findet diesen Beitrag gut
|
es kommt drauf an, ob du mit einem User-System arbeitest oder nicht.
Wenn du keine User verwendest kannst du maximal mit der IP arbeiten. Erstelle dazu eine weitere Tabelle, in der folgende Dinge gespeichert werden:
ID der Umfrage IP-Adresse UNIX-Timestamp (nach 24h soll der Eintrag gelöscht werden)
Jeder User der keine feste IP hat (also fast alle) kann somit nur noch alle 24h voten. Das würde ich nich mit einem Cookie absichern, falls irgendjemand auf die Idee kommt den Rooter neu zu starten. Natürlich kann er zusätzlich auch noch die Cookies löschen aber immerhin sind ein paar "aufwändige" Arbeitsvorgänge für den Nutzer notwendig. Der wird sich dann erstmal Gedanken machen ob sich die Arbeit denn lohnt.
|
 |
|
| |
|
Yukimura
|
| Titel: MySQL mit PHP verknüpfen |
20.09.2011 19:58 |
|
|
Anmeldungsdatum: 02.07.2007
Beiträge: 265
|
mir reicht es 1x pro IP
________________________________________ Meine Seite: Game 2
|
 |
|
| |
|
Black-Baron
|
| Titel: MySQL mit PHP verknüpfen |
21.09.2011 00:21 |
|
|
Anmeldungsdatum: 08.04.2007
Beiträge: 674
1 Mitglied findet diesen Beitrag gut
|
blöd ist eben, das du eine IP nur temporär einem Anschluss zuordnen kannst. Die IP die du heute hast, hat Morgen evtl. dein Nachbar. Bei jedem rooter-Reconnect bekommst du eine neue IP (zumindest bei den meisten Providern)
|
 |
|
| |
|
Yukimura
|
| Titel: MySQL mit PHP verknüpfen |
21.09.2011 12:54 |
|
|
Anmeldungsdatum: 02.07.2007
Beiträge: 265
|
würde das heissen wenn ich mit der IP: 1.1.1.1 abstimmen würde, und mein nachbar hat diese ip am nächsten Tag, kann er dann nicht mehr abstimmen?
Gibt es da eine möglichkeit (ohne User) das man nur einmal ama tag abstimmen kann?
________________________________________ Meine Seite: Game 2
|
 |
|
| |
|
Black-Baron
|
| Titel: MySQL mit PHP verknüpfen |
21.09.2011 14:37 |
|
|
Anmeldungsdatum: 08.04.2007
Beiträge: 674
|
Zitat: würde das heissen wenn ich mit der IP: 1.1.1.1 abstimmen würde, und mein nachbar hat diese ip am nächsten Tag, kann er dann nicht mehr abstimmen?
richtig ;)
Zitat: Gibt es da eine möglichkeit (ohne User) das man nur einmal ama tag abstimmen kann? Ja, wie oben beschrieben. Du speicherst die IP, mit welcher abgestimmt wird. Zusätzlich speicherst du ein Cookie im Browser der Person die abstimmt. In Verbindung mit der IP speicherst du einen Zeitstempel (UNIX-Timestamp) wann abgestimmt wurde. Sobald ein neuer User abstimmen möchte, prüfst du ob die IP in der DB vorhanden ist und wenn ja, wie alt der Eintrag ist (dazu den zeitstempel). Nun kommt noch das mit dem Cookie als weitere Sicherheit dazu und alles ist ok. Eine 100% sichere Umfrage kannst du ohne Usersystem nicht machen. Denn ich könnte ja auch meinen Rooter neustarten und cookies löschen und hab somit ne neue IP, kein Cookie mehr und werde somit als "neuer Benutzer" identifiziert xD
|
 |
|
| |
|
|
|
|