"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Pollscript MySQL Tabellen [php/sql] ??

Phobos 23.03.2003 - 21:26 1718 30
Posts

vossi

been there, done that
Avatar
Registered: Feb 2003
Location: Vienna
Posts: 1436
joa und es is redundant .. dein Datenmodell würd meinem Angewandte Datentechnik Lehrer die Tränen in die Augen treiben!

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von vossi
joa und es is redundant .. dein Datenmodell würd meinem Angewandte Datentechnik Lehrer die Tränen in die Augen treiben!
wiso? ich find die lösung net so schlecht, wenn man mehrere polls mit einem script bewältigen will. auch wenn ich ip-logging etwas useless find, weil sich zb meine ip alle 8h ändert...

Phobos

✝
Avatar
Registered: Jan 2003
Location: 1050
Posts: 2111
besser als eine endless vote moeglichkeit :)

ich werds mit cookies machen.

Phobos

✝
Avatar
Registered: Jan 2003
Location: 1050
Posts: 2111
Zitat von vossi
joa und es is redundant .. dein Datenmodell würd meinem Angewandte Datentechnik Lehrer die Tränen in die Augen treiben!

ich nehm ja gerne konstruktive kritik hin, aber anstatt anzugeben koenntest du deine meinung auch begruenden?

vossi

been there, done that
Avatar
Registered: Feb 2003
Location: Vienna
Posts: 1436
Zitat von watchout
wiso? ich find die lösung net so schlecht, wenn man mehrere polls mit einem script bewältigen will. auch wenn ich ip-logging etwas useless find, weil sich zb meine ip alle 8h ändert...

siehe weiter unten ;)

Zitat von Phobos
ich nehm ja gerne konstruktive kritik hin, aber anstatt anzugeben koenntest du deine meinung auch begruenden?

gewöhn dir nen andren Ton an wenn du von mir was erwartest.
Ich setz mich nicht umsonst hin und modellier im ER Studio blöd herum wenn man dann nur angemacht wird und erklärt ist es in meinem ersten Posting schon!

Du hast zwei Tables

bei der ersten steht drinnen wie der Vote heisst und ne ID
bei der zweiten schreibst du die Optionen, deren namen und jedesmal auch den Text der Option NEU hinein

das würd dann so aussehen

Code:
Vote:
ID = 1 
Name = Testwahl
Anzahl = 2

Options:
ID = 1
VoteID = 1
OPT = 1
Name = Bla
IP = 127.0.0.1

ID = 2
VoteID = 1
OPT = 2
Name = vossi
IP = 10.0.0.1

Wo kommt dann der Name für die Option hin?
Und wenn du den Namen der Option bei Options hinzugibst muss er immer wieder drinnen stehen.

Verstehst du wie ich meine?

Schau dir mein Datenmodell und die Beschreibung dazu nochmal an wenn du fragen zur Notation der Verbindungen (den komischen Linien zwischen den Tables) oder andren Sachen hast nur raus damit.
Bearbeitet von vossi am 26.03.2003, 23:54

Phobos

✝
Avatar
Registered: Jan 2003
Location: 1050
Posts: 2111
ich erwarte überhaupt nix von dir, auserdem hat mich dein datenmodell jetzt nicht wirklich interessiert, sondern was du an meinem auszusetzen hast.

in meinem datenmodell schaut das in wirklichkeit so aus (nehmen wir an wir haben ein poll mit 2 antworten)
Code:
[b]Poll:[/b]
id: 1
titel: Ja oder nein?
anzahl: 2

[b]Votes:[/b]
id: 1
pollid: 1
opt: 1
name: Ja
ip:

id: 2
pollid: 1
opt: 1
name: 
ip: 127.0.0.1

id: 3
pollid: 1
opt: 1
name: 
ip: 192.168.0.2

id: 4
pollid: 1
opt: 2
name: Nein!
ip:

(2 leute haben hier für "JA" gevotet)

abfrage der namen der optionen wäre dann:
Code: PHP
/* steht alles in einer schleife */
$query = "select name from votes where opt='$x'";
$anfrage = mysql_query($query);
$name = mysql_result($anfrage,0,name);
$votes = mysql_num_rows($anfrage) - $anzahl /* wird vorher in einem pollquery defniniert */
...
...

so wird immer die erste zeile aller datensätze abgefragt in denen die optionsnummer $x ist. so hab ich den namen, einen iplogger, und es steht nicht in jedem datensatz der name drinnen.

vielleicht etspricht es nicht deinen prinzipien bzw denen deines lehrers, aber da ich keine informatikschule oder irgendwas in die richtung besuche, begnüge ich mich mit diesem hier.

und erwarte dir keine freundlichkeit wenn du herablassend mit jemandem sprichst.

so long
pHs

vossi

been there, done that
Avatar
Registered: Feb 2003
Location: Vienna
Posts: 1436
jap .. und das hab ich kritisiert.
dein name bleibt leer bei allen folgenden antworten und somit wird der speicher umsonst belegt dafür.

Deshalb solltest du die Lösung mit den drei Tables verwenden.

Aber wie du meinst .. warum fragst du hier herinnen wenn du jegliche Vorschläge ignorierst und einfach das machst was du glaubst. :bash:

Phobos

✝
Avatar
Registered: Jan 2003
Location: 1050
Posts: 2111
ich frage weil ich interesse daran habe wie es andere machen.

dein beispiel post habe ich durchaus durchdacht, es war mir dan aber doch sympathischer den speicherplatz des users in ansppruch zu nehmen, indem ich das mit cookies mache anstatt mit einer history.

kritisierst hast du _GARNICHTS_
du hast lediglich gesagt: "dein Datenmodell würd meinem Angewandte Datentechnik Lehrer die Tränen in die Augen treiben!"

das war in meinen augen weder kritik noch besonders zielfuehrend. ich bat dich nochmal mir zu sagen was du an meinem auszusetzen hast, wieder keine antwort.

dein erster post war ja ueberhaupt eine frechheit un bedarf eigentlich ein kommentar weil er eine mischung aus intolleranz, ignoranz, unueberlegtheit und dummheit ist. ich bin kein "CSler" der "eine memberdatenbank" braucht sondern hab lediglich gefragt wie andere es machen wuerden, ich hatte an meinem ersten post angefuegt das ich beretis 2 moegichkeiten habe die in frage kommen.

wenn du glaubst das du mit mir herablassend reden kannst hast du dich getaeuscht. wenn du um aufmerksamkeit buhlen willst mit solchen kommentaren dann geh ins OT. hoer bitte auf dich fuer das groeste zu halten.
Bearbeitet von Phobos am 27.03.2003, 16:47

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
die options in eine eigene tabelle aufzunehmen is imho nicht sehr zweckführend, da alles im endeffekt sowohl in php als auch in mysql unhandlicher wird, 2 sind in diesem anwendungsfall genau richtig (wenn ich ip loggen will) was spricht dagegen die polloptions in _einem_ feld kommagetrennt zu speichern?

vossi

been there, done that
Avatar
Registered: Feb 2003
Location: Vienna
Posts: 1436
Zitat von watchout
die options in eine eigene tabelle aufzunehmen is imho nicht sehr zweckführend, da alles im endeffekt sowohl in php als auch in mysql unhandlicher wird, 2 sind in diesem anwendungsfall genau richtig (wenn ich ip loggen will) was spricht dagegen die polloptions in _einem_ feld kommagetrennt zu speichern?

ich kann dir mit einem SQL query alle polloptionen mit den gewählten stimmen (oder prozent) ausgeben

nur weiss ich nicht ob der sh*t dann im MySQL funzt (PosgreSQL rulez)

@Phobos .. ok letz stop flaming

mein erster Post war ne überreaktion und der rest darauf eine gegenseitige Aufschäumung.

ich Entschuldige mich hiermit the End

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von vossi
ich kann dir mit einem SQL query alle polloptionen mit den gewählten stimmen (oder prozent) ausgeben

nur weiss ich nicht ob der sh*t dann im MySQL funzt (PosgreSQL rulez)
typischerweise hängts beim mysql an den subselects :rolleyes:

whatsoever -> geschmackssache ;)

Sticker

Big d00d
Avatar
Registered: Mar 2003
Location: Wien
Posts: 177
EDIT:
Die Scripts sind in dieser Textdatei: poll.txt--------->poll.txt

Das geht, es ist zwar ein sehr simples Script, Post und Get sollte man nach belieben einsetzen, ich empfehle aber get.

Ip Logging kann man auch einbauen, dieses Script braucht eine MySQL Tabelle und ist so konzipiert möglichst wenig von der MySQL DB zu wollen.

Es hat ein paar Sicherheitslücken die man leicht ausmärzen kann, z.B. wird an die vote.php der Strint mit den Votes übergeben, wenn der User diesen verändert können die bisherigen Votes überschrieben werden, wenn man sich die Daten statt sie über das Formular zu übergeben nochmal aus der DB holt umgeht man diese Sicherheitslücke.

DAs Script geht davon aus das der form.php die Anzahl der Antwortmöglichkeiten übergeben wird und der anzeigen.php die id des Polls


Das nur um zu zeigen das man auch bei dieser Möglichkeit voten kann ;)
Bearbeitet von Sticker am 29.03.2003, 00:39

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von Sticker
form.php:[...]
1. kein kompletter code bitte

2. wenn schon dann ab in ein .txt damit!

Sticker

Big d00d
Avatar
Registered: Mar 2003
Location: Wien
Posts: 177
Sorry, hab hier keine Regeln gesehen die das ebsagen, naja jetzt weiß ichs.

Wollte nur mal aufzeigen das es doch so möglich ist

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von Sticker
Sorry, hab hier keine Regeln gesehen die das ebsagen, naja jetzt weiß ichs.

Wollte nur mal aufzeigen das es doch so möglich ist
und jetzt könntest es ändern :rolleyes: :bash:

na, es gibt keine "regel" aber es gab eine aussage von nem supermod oder admin diesbezüglich ;)

lösung -> pm ;) (hint: think modular!)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz