Geschrieben von lucas9991 am 28.12.2004, 22:46

Hier habt ihr ein einfaches Poll Script was auf MySql und PHP basiert
Es gibt aber eine Besonderheit, und zwar alle Polls bleiben erhalten! auch die Antworten und ihr habt eine Überischt über alle Polls und ihr habt noch ne IP Serre
Aber es gibt keinen Admin Bereich. Der kommt irgendwann ma :D
also zuerst legt ihr ne tabelle an
#
# Tabellenstruktur für Tabelle `poll`
#

CREATE TABLE `poll` (
`id` int(11) NOT NULL auto_increment,
`frage` varchar(50) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;

#
# Daten für Tabelle `poll`
#

INSERT INTO `poll` VALUES (1, 'Wie findet ihr diese wunderbare Poll Script von Lucas9991?');

# --------------------------------------------------------

#
# Tabellenstruktur für Tabelle `poll_antworten`
#

CREATE TABLE `poll_antworten` (
`pollid` varchar(15) NOT NULL default '',
`antworten` varchar(30) NOT NULL default '',
`klicks` varchar(20) NOT NULL default ''
) TYPE=MyISAM;

#
# Daten für Tabelle `poll_antworten`
#

INSERT INTO `poll_antworten` VALUES ('1', 'sau geil', '4');
INSERT INTO `poll_antworten` VALUES ('1', 'voll ok', '0');
INSERT INTO `poll_antworten` VALUES ('1', 'geht so', '0');
INSERT INTO `poll_antworten` VALUES ('1', 'scheisse', '0');

# --------------------------------------------------------

#
# Tabellenstruktur für Tabelle `poll_ip`
#

CREATE TABLE `poll_ip` (
`ip` varchar(15) NOT NULL default '',
`time` varchar(11) NOT NULL default ''
) TYPE=MyISAM;

es wird auch gleich ein Beipsile eingefügt

so hier die poll.php

<?php

// ###################### Datenbank Einstellung ######################
$db_host = "localhost";
$db_user = "root";
$db_pw = "";
$db_name = "baba";

// ##################### Zur Datenbank Connecten ######################
mysql_connect ("$db_host","$db_user", "$db_pw")or die ("Es konnte keine Verbindung zum MySql Server hergestellt werden!");
mysql_select_db("$db_name")or die ("Es konnte keine Verbindung zur Datenbank hergestellt werden!");

if(!isset($do))
{
$query = "SELECT * FROM poll_antworten ORDER BY pollid DESC";
$result = mysql_query($query);

$query2 = mysql_query("SELECT * FROM poll ORDER BY id DESC LIMIT 1");
$result2 = mysql_fetch_object($query2);
$poll_id = $result2->id;
$frage = $result2->frage;

$klicks = "0";
while($row = mysql_fetch_assoc($result))
{
$klicks = "$row[klicks]"+"$klicks";
}
echo "
<table border=\"1\">
<tr>
<td colspan=\"4\">Frage: $frage
</td>
</tr>
";
$query = "SELECT * FROM poll_antworten WHERE pollid = '$poll_id' ORDER BY pollid DESC";
$result = mysql_query($query);
$i = "0";
while($row = mysql_fetch_assoc($result))
{
$i++;
$percent = "$row[klicks]"/"$klicks"*"100";
$row_klicks = "$row[klicks]";
echo "
<tr>
<td>$i</td>
<td>$row[antworten]</td>
<td><img src=\"grafik.gif\" height=\"12\" alt=\"$percent %\" width=\"$percent\">$percent % (";
if($row_klicks=='1') { echo "1 Stimme"; }
else { echo "$row[klicks] Stimmen"; }
echo "
)</td>
<td> <a href=\"index.php?action=poll&kein=poll&do=vote&poll_id=$poll_id&antwort=$row[antworten]&weiterleiten=poll&kein=poll\">vote >></a></td>
</tr>";
}
echo "</table>";
}

else
{
if($do=='vote')
{
$sperre=time()-3600;
$jetzt=time();

mysql_query("DELETE FROM poll_ip WHERE time<$sperre") or die(mysql_error()); // Löscht Einträge, die veraltet sind

$pruef=mysql_query("SELECT ip FROM poll_ip WHERE ip='$ip'") or die(mysql_error());
if(@!mysql_fetch_array($pruef))
{ // Wenn die IP nicht gefunden wurde: Eintrag
mysql_query("INSERT INTO poll_ip (ip, time) VALUES ('$ip', '$jetzt')") or die(mysql_error());

$update = mysql_query("UPDATE poll_antworten Set klicks = klicks+1 WHERE antworten = '$antwort'");
if($update) echo "Danke, dass du am Poll teilgenommen hast!";

}
else
{ // ansonsten Verweigerung
echo "<font color=\"red\">Du hast schon am Poll teilgenommen!<br></font>";
}
}
}
?>

hier die poll_uebersicht.php:

<?php
$abfrage = "SELECT*FROM poll ORDER BY id DESC";
$ergebnis = mysql_query($abfrage);
?>
<table border=\"1\">
<?
while($row = mysql_fetch_assoc($ergebnis))
{
echo "
<tr>
<td> $row[id]
</td>
<td> $row[frage]
</td>
<td> <a href=\"index.php?action=poll&vote=$row[id]&kein=poll\">vote for <<</a>
</td>
</tr>
";
}
?>
</table>

so das wars schon ich erklärs aber nich weiter.
1. atm keine zeit ich bearbeite es mal
2. is doch recht einsichtlich! :p
3. wer fragen hat ich bin immer offen
icq 192853407

Bewertung Anzahl
6
16,7 %
1 Bewertungen
5
16,7 %
1 Bewertungen
4
16,7 %
1 Bewertungen
3
50,0 %
3 Bewertungen