Avatar billede freakazoid18 Nybegynder
09. maj 2003 - 11:36 Der er 29 kommentarer og
1 løsning

poll - mySQL

Halløjsa.
Jeg står og ska bruge en poll skrevet i php og den skal anvende mySQL også ska den huske svaret og derefter skal den komme med en form for statusbar plus hvor mange som har stemt på den angivne ting.. og stemmer i alt.
Det jeg søger er et 100% færdigt system med oprettelse i phpmyadmin.

Jeg er stadig n00b til det og læser stort set alt den kode jeg får igennem inden jeg afprøver det, men det virker bare uoverskueligt at gå igang med selv. å håber der er en venlig sjæl derude =)
Avatar billede exp Juniormester
09. maj 2003 - 11:46 #1
DEn her er rigtig god - bruger den selv!

http://www.udvikleren.dk/show_article.php?id=155
Avatar billede repox Seniormester
09. maj 2003 - 11:48 #2
Her er phpmyadmin query'en:
CREATE TABLE poll (
  id int(1) NOT NULL auto_increment,
  navn varchar(255) NOT NULL default '',
  stemmer bigint(100) NOT NULL default '0',
  PRIMARY KEY  (id)
) TYPE=MyISAM;

Forestil dig at jeg i tabellen har tre rækker: Godt, almindelig og dårligt

tabel:poll
| id | navn | stemmer |

<?php
session_start();
mysql_connect("localhost", "root", "password");
mysql_select_db("database");
if(isset($_SESSION['voted'])) {
    echo '<table cellspacing="0" cellpadding="0">';
    $query = mysql_query("SELECT * FROM poll");
    while($row = mysql_fetch_array($query)) {
    $width = $row['stemmer'] / mysql_num_rows($query) * 100;
    echo '
       
        <tr><td>'.$row['navn'].'</td></tr>
        <tr><td>
        <table cellspacing="0" cellpadding="0">
        <tr><td width="'.$width.'" height="20" bgcolor="#FF0000">'.$row['stemmer']</td></tr>
        </table></td></tr>
    }
    echo '</table>';
}elseif(!isset($_SESSION['voted'])) {

if(!isset($_GET['vote']) {
    echo '<table cellspacing="0" cellpadding="0">';
    $query = mysql_query("SELECT * FROM poll");
    while($row = mysql_fetch_array($query)) {
    $width = $row['stemmer'] / mysql_num_rows($query) * 100;
    echo '
       
        <tr><td>$row['navn'] </td><td>
        <a href="'.$_SERVER['PHP_SELF'].'?vote='.$row['id'].'">Stem</a></td></tr>
    }
    echo '</table>';

}elseif(isset($_GET['vote'])) {
mysql_query("UPDATE poll SET stemmer=stemmer+1 where id='$_GET['vote']") or Die(mysql_error());
$_SESSION['voted'] = 1;
echo 'Tak for stemmen...';
}

}
?>

husk lige på at det her er i meget grove træk så det kan godt være du lige skal rette det lidt til, men det burde virke efter hensigten...
Avatar billede freakazoid18 Nybegynder
09. maj 2003 - 12:07 #3
men ok... hvordan ska jeg sætte de rækker ind Godt, almindelig og dårligt, jeg er newb :D
Avatar billede repox Seniormester
09. maj 2003 - 12:37 #4
Det gør du i phpmyadmin! Du vælger menupunktet INDSÆT og udfylder kun feltet der hedder navn. Men hvis det er lidt for stor en mundfuld så synes jeg du skal tjekke exp's svar ud, for det er et godt link han har smidt der.
Avatar billede freakazoid18 Nybegynder
09. maj 2003 - 12:42 #5
Parse error: parse error, unexpected '/' in /customers/eterno.dk/eterno.dk/httpd.www/lol.php on line 15 ?
Avatar billede repox Seniormester
09. maj 2003 - 12:45 #6
ret linie femten til:
<tr><td width="'.$width.'" height="20" bgcolor="#FF0000">'.$row['stemmer'].'</td></tr>
Avatar billede freakazoid18 Nybegynder
09. maj 2003 - 12:57 #7
hmm lol da :D

Parse error: parse error, unexpected '/' in /customers/eterno.dk/eterno.dk/httpd.www/lol.php on line 18
Avatar billede repox Seniormester
09. maj 2003 - 13:00 #8
Hvad står der i linie 18 ??
Avatar billede freakazoid18 Nybegynder
09. maj 2003 - 13:00 #9
echo '</table>';
Avatar billede freakazoid18 Nybegynder
09. maj 2003 - 13:01 #10
skal der ikke en ; før du kan starte en ny echo ?
Avatar billede repox Seniormester
09. maj 2003 - 13:03 #11
Jo, på linie 16 skal du lige tilføje '; i slutningen...
Avatar billede freakazoid18 Nybegynder
09. maj 2003 - 13:05 #12
Parse error: parse error, unexpected '{' in /customers/eterno.dk/eterno.dk/httpd.www/lol.php on line 21 :D
if(!isset($_GET['vote']) {
Avatar billede repox Seniormester
09. maj 2003 - 13:06 #13
if(!isset($_GET['vote'])) {
Avatar billede freakazoid18 Nybegynder
09. maj 2003 - 13:09 #14
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /customers/eterno.dk/eterno.dk/httpd.www/lol.php on line 28
:D
<tr><td>$row['navn'] </td><td>

det ska nok blive sjovt det her.. mangler kun 20 linjer =D
Avatar billede freakazoid18 Nybegynder
09. maj 2003 - 13:12 #15
<tr><td>'.$row['navn'].' </td><td>
Avatar billede freakazoid18 Nybegynder
09. maj 2003 - 13:12 #16
?
Avatar billede repox Seniormester
09. maj 2003 - 13:13 #17
Ja, <tr><td>'.$row['navn'].' </td><td> er korrekt...
Avatar billede freakazoid18 Nybegynder
09. maj 2003 - 13:14 #18
oki wow... tror kun der er fejl tilbage :D

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /customers/eterno.dk/eterno.dk/httpd.www/lol.php on line 34

mysql_query("UPDATE poll SET stemmer=stemmer+1 where id='$_GET['vote']") or Die(mysql_error());


:DDDDD
Avatar billede repox Seniormester
09. maj 2003 - 13:18 #19
mysql_query("UPDATE poll SET stemmer=stemmer+1 where id='$_GET[vote]") or Die(mysql_error());
Avatar billede freakazoid18 Nybegynder
09. maj 2003 - 13:19 #20
uhada... nu viser den sq os mine stemmer... :D

når man så stemmer ...

You have an error in your SQL syntax near ''2' at line 1
Avatar billede repox Seniormester
09. maj 2003 - 13:23 #21
mysql_query("UPDATE poll SET stemmer=stemmer+1 where id='$_GET[vote]") or Die(mysql_error());
Avatar billede repox Seniormester
09. maj 2003 - 13:23 #22
Det var også forkert...
mysql_query("UPDATE poll SET stemmer=stemmer+1 where id='$_GET[vote]'") or Die(mysql_error());

så'n...
Avatar billede freakazoid18 Nybegynder
09. maj 2003 - 13:29 #23
oki.. men mange tak =D kan du svare mig på hvordan jeg får sådan at man kan se hvor mange der har stemt ialt ... ? på de forskellige ting ?
Avatar billede exp Juniormester
09. maj 2003 - 13:31 #24
Igen kan jeg henvise til det link jeg sendte... der er denne mulighed også med!

http://www.udvikleren.dk/show_article.php?id=155

Og så lærer du også lidt om teorien bag :-)
Avatar billede repox Seniormester
09. maj 2003 - 13:36 #25
der kan man eventuelt skrive
$value = 0;
$query = mysql_query("SELECT stemmer FROM poll")
while($row = mysql_fetch_array($query)) {
$value = $value + $row['stemmer'];
}
echo $value." stemmer i alt";

men som exp skriver, hvis det er fordi du vil have flere afstemninger på dit site over nogle perioder så ville det bedste være at vælge det script som exp henviser til, for det kan garanteret det du efterlyser, men hvis det bare var en enkeltgangs poll du skulle bruge var det jeg makkede sammen egentlig udmærket.
Avatar billede exp Juniormester
09. maj 2003 - 13:39 #26
der er også mulighed for "SELECT COUNT(*)"

eller mysql_count($query)
Avatar billede freakazoid18 Nybegynder
09. maj 2003 - 13:54 #27
men omg hvor ska jeg sætte det ind ?
min kode nu...

<?php
session_start();
mysql_connect("localhost", "root", "kartoffelellernoget");
mysql_select_db("tpd");

if(isset($_SESSION['voted'])) {
    echo '<table cellspacing="0" cellpadding="0">';
    $query = mysql_query("SELECT * FROM poll");
    while($row = mysql_fetch_array($query)) {
    $width = $row['stemmer'] / mysql_num_rows($query) * 100;

    echo '
       
        <tr><td>'.$row['navn'].'</td></tr>
        <tr><td>
        <table cellspacing="0" cellpadding="0">
        <tr><td width="'.$width.'" height="15" bgcolor="#cccccc">'.$row['stemmer'].'</td></tr>
        </table></td></tr>';

    }
    echo '</table>';
}elseif(!isset($_SESSION['voted'])) {

if(!isset($_GET['vote'])) {
    echo '<table cellspacing="0" cellpadding="0">';
    $query = mysql_query("SELECT * FROM poll");
    while($row = mysql_fetch_array($query)) {
    $width = $row['stemmer'] / mysql_num_rows($query) * 100;
    echo '
       
        <tr><td>'.$row['navn'].' </td><td>
        <a href="'.$_SERVER['PHP_SELF'].'?vote='.$row['id'].'">Stem</a></td></tr>';
    }
    echo '</table>';

}elseif(isset($_GET['vote'])) {
mysql_query("UPDATE poll SET stemmer=stemmer+1 where id='$_GET[vote]'") or Die(mysql_error());
$_SESSION['voted'] = 1;
echo 'Tak for stemmen...';
}

}
?>
Avatar billede doodoo Novice
09. maj 2003 - 13:54 #28
lytter :)
Avatar billede exp Juniormester
09. maj 2003 - 14:04 #29
Nu får jeg jo godt nok ingen point for det :-)

<?php
session_start();
mysql_connect("localhost", "root", "kartoffelellernoget");
mysql_select_db("tpd");

$countusers = mysql_fetch_array(mysql_query("SELECT count(*) stemmer as total FROM poll"));

if(isset($_SESSION['voted'])) {
    echo '<table cellspacing="0" cellpadding="0">';
    $query = mysql_query("SELECT * FROM poll");
    while($row = mysql_fetch_array($query)) {
    $width = $row['stemmer'] / mysql_num_rows($query) * 100;

    echo '
       
        <tr><td>'.$row['navn'].'</td></tr>
        <tr><td>
        <table cellspacing="0" cellpadding="0">
        <tr><td width="'.$width.'" height="15" bgcolor="#cccccc">'.$row['stemmer'].'</td></tr>
        </table></td></tr>';

    }
    echo '</table>';
}elseif(!isset($_SESSION['voted'])) {

if(!isset($_GET['vote'])) {
    echo '<table cellspacing="0" cellpadding="0">';
    $query = mysql_query("SELECT * FROM poll");
    while($row = mysql_fetch_array($query)) {
    $width = $row['stemmer'] / mysql_num_rows($query) * 100;
    echo '
       
        <tr><td>'.$row['navn'].' </td><td>
        <a href="'.$_SERVER['PHP_SELF'].'?vote='.$row['id'].'">Stem</a></td></tr>';
    }
    echo '</table>';

}elseif(isset($_GET['vote'])) {
mysql_query("UPDATE poll SET stemmer=stemmer+1 where id='$_GET[vote]'") or Die(mysql_error());
$_SESSION['voted'] = 1;
echo 'Tak for stemmen...';
}

}

echo $countusers[total];
?>
Avatar billede power99 Nybegynder
16. juli 2003 - 03:25 #30
exp: Skulle jo lige prøve... Men den laver en fejl?

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/webroot/www.markzor.dk/poll/test.php on line 6
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester