Zurück   Flashforum > Flash > Stuff

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-05-2004, 21:00   #1 (permalink)
-
 
Registriert seit: Apr 2004
Beiträge: 397
[STUFF] Wulfie Vote

Hallo,

Hab ein kleines OOP Vote Modul geschrieben.
Wenn ich lust hab wird's noch ausgebaut.

Dokumentation

PHP-Code:
// wvvote_methods.php
<?PHP

class WVvote {
    function 
WVvote ($name)
    {
        
$q mysql_fetch_array(mysql_query("SELECT id FROM WVtopics WHERE name='$name'"));
        if (
$q[0] > 0)
        {
            
$this->name $name;
            
$this->id $q[0];
        }
        else
            echo 
"<B>WulfieVote</B> : Poll \"$name\" doesn't exist.<br>";
    }
    function 
fetch ()
    {
        if (
$this->id)
        {
            
$q mysql_query("SELECT WVchoices.name,COUNT(WVvotes.value) FROM WVchoices LEFT JOIN WVvotes ON WVvotes.value=WVchoices.id AND WVvotes.parent=$this->id WHERE WVchoices.parent=$this->id GROUP BY id");
            
            
$sum=0;
            
$this->votes = array();
            while(
$r=mysql_fetch_array($q))
            {
                
$sum+=$r[1];
                
$this->votes[$r[0]] = $r[1];
            }
            
$this->total $sum;
        }else
            echo 
"<B>WulfieVote</B> : No poll selected.<br>";
    }
    function 
addVote($name)
    {
        
$r=mysql_fetch_array(mysql_query("SELECT id FROM WVchoices WHERE name='$name'"));
        
        if (!isset(
$r[0]))
            exit;
        
        if (
$this->id)
        {
            
$r=@mysql_fetch_array(mysql_query("SELECT value FROM WVvotes WHERE ip='$_SERVER[REMOTE_ADDR]' AND parent=$this->id"));
            if (isset(
$r[0]))
                echo 
"<B>WulfieVote</B> : Already voted.<br>";
            else
            {
                
$q=mysql_fetch_array(mysql_query("SELECT id FROM WVchoices WHERE name='$name' AND parent=$this->id"));
                if (!isset(
$q[0]))
                    echo 
"<B>WulfieVote</B> : Choice $name doesn't exists.<br>";
                else
                {
                    
mysql_query("INSERT INTO WVvotes (value,ip,parent) VALUES ($q[0],'$_SERVER[REMOTE_ADDR]',$this->id)");
                }
            }
        }else
            echo 
"<B>WulfieVote</B> : No poll selected.<br>";
    }
    function 
change ($name,$name2)
    {
        
$q=mysql_fetch_array(mysql_query("SELECT id FROM WVchoices WHERE name='$name2'"));
        if (!isset(
$q[0]))
        {
            
mysql_query("UPDATE WVchoices SET name='$name2' WHERE name='$name'");
        }else
            echo 
"<B>WulfieVote</B> : New name \"$name2\" already exists.<br>";
    }
    function 
remove ($name)
    {
        
$q=mysql_fetch_array(mysql_query("SELECT id FROM WVchoices WHERE name='$name'"));
        if (isset(
$q[0]))
        {
            
mysql_query("DELETE FROM WVchoices WHERE name='$name' AND parent=$this->id");
        }else
            echo 
"<B>WulfieVote</B> : Choice \"$name\" doesn't exists.<br>";
    }
    function 
add ($name)
    {
        
$q=mysql_fetch_array(mysql_query("SELECT id FROM WVchoices WHERE name='$name'"));
        if (!isset(
$q[0]))
        {
            
mysql_query("INSERT INTO WVchoices (name,parent) VALUES ('$name',$this->id)");
        }
        else
            echo 
"<B>WulfieVote</B> : Choice \"$name\" already exists.<br>";
    }
}

?>
PHP-Code:
// wvvote_config.php
<?PHP

function install ()
{
    
mysql_query("CREATE TABLE wulfie ( id int unsigned auto_increment primary key, name varchar(30))");
    print 
"<b>WVtopics</b> created.<br>";
    
mysql_query("CREATE TABLE wulfie2 ( parent int unsigned, id int unsigned auto_increment primary key, name varchar(30)");
    print 
"<b>WVchoices</b> created.<br>";
    
mysql_query("CREATE TABLE wulfie3 ( value int unsigned, ip varchar(20), parent int unsigned)");
    print 
"<b>WVvotes</b> created.<p>";
}
function 
createVote ($name)
{
    
$q=mysql_fetch_array(mysql_query("SELECT id FROM WVtopics WHERE name='$name'"));
    if (!isset(
$q[0]))
        
mysql_query("INSERT INTO WVtopics (name) VALUES ('$name')");
    else
        echo 
"<B>WulfieVote</B> : Poll \"$name\" already exists.<br>";
}
function 
fetchPolls ()
{
    
$arr = array();
    
$q=mysql_query("SELECT name FROM WVtopics");
    while(
$r=mysql_fetch_array($q))
        
$arr[] = $r[0];
    return 
$arr;
}
function 
fetchChoices ($name)
{
    
$q=mysql_fetch_array(mysql_query("SELECT id FROM WVtopics WHERE name='$name'"));
    if (isset(
$q[0]))
    {
        
$arr = array();
        
$q=mysql_query("SELECT name FROM WVchoices WHERE parent=$q[0]");
        while(
$r=mysql_fetch_array($q))
            
$arr[] = $r[0];
        return 
$arr;
    }
    else
        echo 
"<B>WulfieVote</B> : Poll \"$name\" doesn't exists.<br>";
}
function 
deletePoll ($name)
{
    
$q=mysql_fetch_array(mysql_query("SELECT id FROM WVtopics WHERE name='$name'"));
    if (isset(
$q[0]))
    {
        
mysql_query("DELETE FROM WVtopics WHERE id=$q[0]");
        
mysql_query("DELETE FROM WVchoices WHERE parent=$q[0]");
        
mysql_query("DELETE FROM WVvotes WHERE parent=$q[0]");
    }
    else
        echo 
"<B>WulfieVote</B> : Poll \"$name\" doesn't exists.<br>";
}
?>
Gruss
Wulfie
__________________
_

Geändert von Wulfie (19-05-2004 um 07:02 Uhr)
Wulfie ist offline   Mit Zitat antworten
Alt 19-05-2004, 07:00   #2 (permalink)
-
 
Registriert seit: Apr 2004
Beiträge: 397
Hallo,

Mal ein Beispiel :
PHP-Code:
include "wvvote_methods.php";
include 
"wvvote_config.php";

createVote("FlashForum");
$vote = new WVvote("FlashForum");

$vote->add("PHP");
$vote->add("MySQL");
$vote->add("TschavaScript");

$vote->change("TschavaScript","JavaScript");
$vote->remove("MySQL");

$vote->addVote("PHP");
$vote->fetch();

print_r($vote->votes); 
Gruss
Wulfie
__________________
_
Wulfie ist offline   Mit Zitat antworten
Alt 19-05-2004, 07:06   #3 (permalink)
buttons ... ?
 
Benutzerbild von lingamyoni.de
 
Registriert seit: Oct 2002
Ort: an der sieg
Beiträge: 2.650
Thumbs up

wenn du noch ein sql-dump spendierst, könnten wir es glatt mal probieren

gruß + dank!

edit: ups, sehe gerade die install-routine, wie muss ich die denn anstoßen?
__________________

jeder von uns ist mehrere, ist viele, ist ein übermaß an selbsten. (pessoa)
-------
zick-zack zu fuss bevorzugt
-------
[STUFF] Zeiterfassung (PHP/MySQL)

-------
[STUFF] comax (CMS)
lingamyoni.de ist offline   Mit Zitat antworten
Alt 19-05-2004, 11:18   #4 (permalink)
-
 
Registriert seit: Apr 2004
Beiträge: 397
Hallo lingamyoni,

PHP-Code:
include "wvvote_config.php";
install(); 
.. zum Installieren.
Ist zwar eine schlechte Art von installieren (Kein check ob's gefunzt hat), aber wennschon was.

Aber ich mach nun glaub eine grafische Oberfläche für das Verwalten.
Also wenn sich hier jemand dafür intressieren würde (graph. Oberf.), dann werd ich schon machen, auch wenn es ein bisschen "langweilig" ist.

Gruss
Wulfie
__________________
_
Wulfie ist offline   Mit Zitat antworten
Alt 19-05-2004, 16:26   #5 (permalink)
-
 
Registriert seit: Apr 2004
Beiträge: 397
Hallo,

Ich hab das ganze ruck zuck nun in einer grafischen Oberfläche gecodet, was spannender werden dürfte.

Screenshot
Download .zip

Gruss
Wulfie
__________________
_
Wulfie ist offline   Mit Zitat antworten
Alt 19-05-2004, 19:28   #6 (permalink)
-
 
Registriert seit: Apr 2004
Beiträge: 397
Hallo,

Nun muss man nur "index.php" aufrufen, und die Tabellen werden automatisch erstellt wenn es sie noch nich gibt. Danach wird auf main.php weitergeleitet.
Also ganz einfach

Download V2

Gruss
Wulfie
__________________
_
Wulfie ist offline   Mit Zitat antworten
Alt 19-05-2004, 20:06   #7 (permalink)
Let this Party never end
 
Benutzerbild von illon
 
Registriert seit: May 2002
Beiträge: 2.750
werde es heute nacht vielleicht mal antesten wenn ich noch in der Lage bin


<-- nix schlimmes nur zu einem Burtseltag gehe
__________________

Viele sind so fleißig weil sie Faul sind.

Nicht die Worte zählen, sondern Taten.
illon ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele