Wie soll ich das Umfrage-Script machen?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
antworten
array
code
frage
gesamte anzahl
hund
jemand
kleine prozentzahl
kommentar
limit
problem
prozentsatz
prozentuale aufteilung
rechnen
schleife
stimme
stimmen
tabelle
text
umfrage
-
Hallo
Ich habe ein Problem. Ich habe eine Tabelle namens "umfrage_qsts" (Fragen), und "umfrage_answ" (Antworten).
Nur wie soll ich die Umfrage machen? Es sind 4 Antworte-M?glichkeiten, und wie soll ich davon den Prozentsatz ausrechnen? Ich habe ja in der While-Schleife nur einen Tabelleneintrag zur verf?gung, und nicht alle...
Ich wei? auch nicht, wie das mit den Arrays funktionieren sollte.. Es sollte kein Script sein, sondern eine Erkl?rung wie ich das Problem l?sen k?nnte..
Hier ist mein Code:
<?php
include("mysql.php.inc");
$res1 = mysql_query("SELECT * FROM umfrage_qsts LIMIT 1");
while($row1 = mysql_fetch_array($res1)) {
$res2 = mysql_query("SELECT * FROM umfrage_answ WHERE by_qst = $row1[id]");
$num2 = mysql_num_rows($res2);
while($row2 = mysql_fetch_array($res2)) {
$id++;
$votes = array("$id" => "$row2[votes]");
}
}
echo $votes[1];
?>
Nun wei? ich nicht, wie ich den Prozentsatz ausrechnen soll, und dann diesen Ausgeben soll..
bis dann,
scripter -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ALSO:
Z?hle alle Stimmen in der Tabelle zusammen.
Rechne danach 100 geteilt durch die gesamte Anzahl der Stimmen (Ergebnis ist dann, wie viel Prozent EINE Stimme ausmacht!
Dann musst Du nur noch die kleine Prozentzahl mal die Stimmen der einzelnen AUswahlm?glichkeiten rechnen!
In der Praxis also:
$einestimme = 100 / $gesamt; // 1% der gesamten Stimmen ausrechnen
$hundp = $einestimme * $hund; // Stimmen f?r den Hund in % rechnen
$katzep = $einestimme * $katze;
$pferdp = $einestimme * $pferd;
$eichhornchenp = $einestimme * $eichhornchen;
-
Hallo
Danke erstmal f?r die Hilfe!
Nun ist aber das Problem, dass ich ja nicht wei? (das hei?t, dass Script) wieviele Antworten sind, und Wie sie hei?en! Also k?nnte ich die Variablennamen "$hund" oder so ja nicht nehmen?!
Achja, w?rde da nicht, jede Stimme 25% haben?
bis dann,
scripter -
Wenn ich das richtig verstanden habe, dann gibt es zu jeder Frage vier Antwortm?glichkeiten und du willst jetzt f?r jede Frage bei deren Antworten die prozentuale Aufteilung haben, ja?
Also irgendwie so:
Frage 1: Wer ist doof?
40% Ich
20% Du
20% Horst
20% Niemand
Frage 2: Wen w?hlst du?
10% SPD
10% CDU
10% FDP
70% Gr?ne
Tabelle Umfrage kannst du dann so aufbauen:
create table umfrage
(
umfrage_id int(10) auto_increment,
question text not null,
answer1 char(100),
answer2 char(100),
answer3 char(100),
answer4 char(100),
answer1_count int(10) default 0,
answer2_count int(10) default 0,
answer3_count int(10) default 0,
answer4_count int(10) default 0,
primary key (umfrage_id)
);
In question speicherst du die Frage (ist klar),
in answerX die einzelnen Antwortm?glichkeiten als Text,
und in answerX_count z?hlst du einfach die Antworten hoch. Also wenn jemand mit der Antwortm?glichkeit 2 antwortet, dann z?hlst du answer2_count um 1 hoch.
Beim Auswerten des Skriptes z?hlst du erstmal alle answerX_count zusammen und danach berechnest du f?r jeden einzelnen answerX_count-Wert den Prozentsatz im Verh?ltnis zur Summe von answerX_count.
Hoffe, ich habe das getroffen, was du meinst.
-
Hallo
Schon eher!
Nur, ich brauche es halt in zwei Tabellen, da es nicht nur 4 Antwortem?glichkeiten sind, sondern eigentlich so viele wie man eingestellt hat.. Deshalb ja auch 2 Tabellen!
<?php
include("mysql.php.inc");
$res1 = mysql_query("SELECT * FROM umfrage_qsts LIMIT 1");
while($row1 = mysql_fetch_array($res1)) {
$res2 = mysql_query("SELECT * FROM umfrage_answ WHERE by_qst = $row1[id]");
$num2 = mysql_num_rows($res2);
while($row2 = mysql_fetch_array($res2)) {
$id++;
$votes = array("$id" => "$row2[votes]");
}
}
echo $votes[1];
?>
Hier ist der Code! Das Problem da ist, dass der Array "$votes" nicht erstellt wird?!
Mal eine Frage, k?nnte mir jemand diesen Script in ein Umfrage-Script ?ndern?
Hier sind mal die beiden Tabellen Skizziert:
"umfrage_qsts" (Fragen)
id -> Kein Kommentar *1
question -> Die Frage
beschr -> Beschreibung
"umfrage_answ" (Antworten)
id -> Kein Kommentar
answer -> Antwort
by_qst -> Folgende ID wird eingetragen: *1 (Zwischen "by" und "qst" ist ein "_")
votes -> Anzahl der Stimmen
color -> Farbe ("yellow","red","green")
W?r wirklich ganz lieb!
bis dann,
scripter -
eigentlich ganz klar, warum das script dir kein array $votes erstellt^^
du ?berschreibs die deklaration in der while schleife immer wieder neu.
<?php
include("mysql.php.inc");
$res1 = mysql_query("SELECT * FROM umfrage_qsts LIMIT 1");
$row1 = mysql_fetch_array($res1);
$res2 = mysql_query("SELECT * FROM umfrage_answ WHERE by_qst = $row1['id']");
$num2 = mysql_num_rows($res2);
$votes = array();
while($votes[] = mysql_fetch_array($res2));
array_pop($votes);
echo '<pre>';
print_r($votes);
$gesammt = 0;
for($i = 0; $i < count($votes); $i++)
$gesammt += $votes[$i]['votes'];
echo $votes;
?>
ich denke den rest kannst du alleine -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage