Avatar billede warren27 Nybegynder
10. marts 2005 - 21:35 Der er 11 kommentarer og
1 løsning

Afstemning plus kommentar

Hejsa, jeg står og skal bruge det system som de også bruger på http://www.poker.dk

Hvis i ikke ved hvad jeg mener, så kig nederst på deres side, her kan man skrive sit navn, og skrive en kommentar, desuden skal man også sætte sin stemme på en ud af 3 vald muligheder.

Håber i forstod min forklaring, glæder mig meget til at nogen kan hjælpe mig...
Avatar billede baitianlong Nybegynder
10. marts 2005 - 22:01 #1
Prøv med den her. Den er ikke testet, men det kan jeg jo selvfølgelig lige gøre :)

<?php
session_start();
if(!empty($_GET['f']) && !isset($_SESSION['stemt'])) {
  $navn = $_POST['navn'];
  $kom = $_POST['kommentar'];
  $stem = $_POST['stem'];
  mysql_query("INSERT INTO stem(navn, kommentar, stem) VALUES('$navn','$kommentar','$stem')");
  $_SESSION['stemt'] = "jeps";
  $result = mysql_query("SELECT * FROM stem");
  $data = array();
  while($row = mysql_fetch_assoc($result)) {
      foreach($row as $rowkey=>$rowval) array_push($data, array($rowkey=>$rowval));
      $antal++;
  }
  foreach($data as $data1) {
      if($data1['stem'] == "raise") $raise++;
      if($data1['stem'] == "call") $call++;
      if($data1['stem'] == "fold") $fold++;
  }
?>
Raise: <php print($raise/$antal); ?><br>
Call: <php print($call/$antal); ?><br>
Fold: <php print($fold/$antal); ?><br>
<table align="center" width="500" border="0">
<?php
foreach($data as $data2) {
  print("<tr><td><b>".$navn."</b></td></tr>");
  print("<tr><td>".$kommentar."</td></tr>");
  print("<tr><td>Stemt: ".$stem."<br><br></td></td>");
  print("<tr><td></td></tr>");
}
?>
</table>
<?php
} else {
?>
<form action="<?= $_SERVER['php_self'] ?>?f=stem" method="post">
Navn:<input type="text" size="30" name="navn"><br>
Kommentar:<textarea cols="25" rows="2" name="kommentar"></textarea><br>
Valg:<input type="radio" name="stem" value="raise">Raise
<input type="radio" name="stem" value="call">Call
<input type="radio" name="stem" value="fold">Fold<br>
<input type="submit" value="Send">
</form>
<?php
}
?>
Avatar billede baitianlong Nybegynder
10. marts 2005 - 22:46 #2
Den havde lige nogle børnesygdomme :) ... Her er en fungerende version:

<?php
session_start();
if(!empty($_GET['f']) || !isset($_SESSION['stemt'])) {
  $navn = $_POST['navn'];
  $kom = $_POST['kommentar'];
  $stem = $_POST['stem'];
  mysql_connect("localhost", "xxxxx", "xxxxx");
  mysql_select_db("xxxxx");
  mysql_query("INSERT INTO stem(navn, kommentar, stem) VALUES('$navn','$kom','$stem')");
  $_SESSION['stemt'] = "jeps";
  $result = mysql_query("SELECT * FROM stem ORDER BY id DESC");
  $data = array();
  while($row = mysql_fetch_assoc($result)) {
        $navn = $row['navn'];
        $kommentar = $row['kommentar'];
        $stem = $row['stem'];
        $arr = array("navn"=>$navn, "kommentar"=>$kommentar, "stem"=>$stem);
        array_push($data, $arr);
        $antal++;
  }
  $raise = 0;
  $call = 0;
  $fold = 0;
  foreach($data as $data1) {
      if($data1['stem'] == "raise") $raise++;
      elseif($data1['stem'] == "call") $call++;
      elseif($data1['stem'] == "fold") $fold++;
  }
?>
Raise: <?php print(round(($raise/$antal)*100,2)."%"); ?><br>
Call: <?php print(round(($call/$antal)*100,2)."%"); ?><br>
Fold: <?php print(round(($fold/$antal)*100,2)."%"); ?><br>
<table align="center" width="500" border="0">
<?php
foreach($data as $data2) {
  print("<tr><td><b>".$data2['navn']."</b></td></tr>");
  print("<tr><td>".$data2['kommentar']."</td></tr>");
  print("<tr><td>Stemt: ".$data2['stem']."<br><br></td></td>");
  print("<tr><td></td></tr>");
}
?>
</table>
<?php
} else {
?>
<form action="<?= $_SERVER['php_self'] ?>?f=stem" method="post">
Navn:<input type="text" size="30" name="navn"><br>
Kommentar:<textarea cols="25" rows="2" name="kommentar"></textarea><br>
Valg:<input type="radio" name="stem" value="raise">Raise
<input type="radio" name="stem" value="call">Call
<input type="radio" name="stem" value="fold">Fold<br>
<input type="submit" value="Send">
</form>
<?php
}
?>

Du skal have en tabel i databasen med

navn varchar(50)
kommentar text
stem varchar(5)
id int(7) auto_increment primary key

:)
Avatar billede warren27 Nybegynder
10. marts 2005 - 23:00 #3
Jeg syntes også der var noget galt *LOL*, godt nok kan jeg ikke finde ud af PHP, men jeg ved dog at nå man skal gemme oplysning i MySQL så skal der bruges noget password og database navn o.s.v *GG*

Det eneste jeg lige mangler er en forklaring på din sidste sætning

navn varchar(50)
kommentar text
stem varchar(5)
id int(7) auto_increment primary key
Avatar billede baitianlong Nybegynder
10. marts 2005 - 23:09 #4
det er den tabel du skal have i databasen :)

du kan evt. lave den ved at køre dette php script:

<?php
mysql_connect(blah, blah, blah);
mysql_select_db(blah);
mysql_query("CREATE TABLE stem(
                      navn varchar(50),
                      kommentar text,
                      stem varchar(5),
                      id int(7) auto_increment primary key)");
?>
Avatar billede warren27 Nybegynder
10. marts 2005 - 23:13 #5
Hvor skal jeg insætte det sidste script ? i den samme samme PHP-fil hvor alt det andet står ???
Avatar billede baitianlong Nybegynder
10. marts 2005 - 23:14 #6
nej, det skal kun køres en gang

det er for at lave tabellen i databasen, som skal bruges. Jeg formoder du har mysql osv. ?!
Avatar billede baitianlong Nybegynder
10. marts 2005 - 23:15 #7
så du putter bare dit brugernavn/password osv. ind der hvor der står blah, og gemmer det som en seperat side, som du uploader og kører en gang. Så er tabellen i databasen klar :)
Avatar billede warren27 Nybegynder
10. marts 2005 - 23:27 #8
Okay tak for din hjælp, jeg er blevet meget tilfreds nu ;-)

Kan du lige sige mig hvor jeg evt skal indsætte <hr> så folk bedre kan se hvor den nye kommentar slutter og starter ?
Avatar billede warren27 Nybegynder
10. marts 2005 - 23:33 #9
Nej du behøver ikke at svare mig alligevel, klare den selv
Avatar billede baitianlong Nybegynder
10. marts 2005 - 23:33 #10
Der hvor vi udskriver fra databasen, kan du jo gøre hvad du vil....

<table align="center" width="500" border="1">
<?php
foreach($data as $data2) {
  print("<tr><td style=\"font-size:20px; font-weight:bold; color:#EE6677; \">.$data2['navn']."/td></tr>");
  print("<tr><td style=\"font-size:16px; font-weight:bolder; color:#CC11FF; \" >".$data2['kommentar']."</td></tr>");
  print("<tr><td style=\"font-size:14px; color:#00CC00; \">Stemt: ".$data2['stem']."<br><br></td></td>");
  print("<tr><td></td></tr>");
}
?>
Avatar billede baitianlong Nybegynder
10. marts 2005 - 23:34 #11
Så er der både border, farver og størrelser på :)
Avatar billede baitianlong Nybegynder
10. marts 2005 - 23:39 #12
Endnu et par tastefejl..

<table align="center" width="500" border="1">
<?php
foreach($data as $data2) {
  print("<tr><td style=\"font-size:20px; font-weight:bold; color:#EE6677; \">".$data2['navn']."</td></tr>");
  print("<tr><td style=\"font-size:16px; font-weight:bolder; color:#CC11FF; \">".$data2['kommentar']."</td></tr>");
  print("<tr><td style=\"font-size:14px; color:#00CC00; \">Stemt: ".$data2['stem']."<br><br></td></td>");
  print("<tr><td></td></tr>");
}
?>
</table>

:)
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