Avatar billede rdc Nybegynder
03. oktober 2008 - 01:16 Der er 14 kommentarer og
2 løsninger

Problemer med betting modul

hej allesammen,

Jeg har endelig lavet en "test" kode. Jeg kalder det en test kode, da den kun virker for en række fra MySQL'en.. Jeg har dog med at få det til at virke når jeg udskriver alle rækker fra databasen. Jeg har fx mine test værdier i min database som er:

Tabellen 'kampe' indeholder:
kampid "fx 1"
hjemmehold "fx Manchester United"
udehold "fx Arsenal"
hjemmeholdwin "fx 1.65"
uafgjort "fx 4.10"
udeholdwin "fx 1.65"
userid "fx 21"
aktiv "fx 1"
oprettet "fx dato"
-----------------

Disse bliver så udskrevet sådan her:

Hjemmehold    vs. Udehold  1    X    2
Manchester U. vs. Arsenal  1.65  4.10 1.65  INDSATS      BET
osv...


Men jeg har problemer med at få det hele udskrevet på en liste, sådan at




Min kode er:

"

<?php
    setcookie("count", "value", time()+1200); //her opretter vi cookien
    session_start();
    include ("setup/database.php");
    $page = "Betting";
?>
<script>
function uncheckOther(theform, navn) {
  if (document.all || document.getElementById) {
    for (i = 0; i < theform.length; i++) {
      var tempobj = theform.elements[i];
      if (tempobj.type.toLowerCase() == "checkbox" && tempobj.checked == true && tempobj.name != navn)
        tempobj.checked = false;
    }
  }
}
</script>
<?php
    $userid = $_SESSION['userid'];
    $sql2 = mysql_query("SELECT * FROM users WHERE userid='$userid'");
    $moneyinfo = mysql_fetch_array($sql2);
    $boldmoney = $moneyinfo['boldmoney'];

    $sql = mysql_query("SELECT * FROM kampe");
    $kamp = mysql_fetch_array($sql);
    $kampid        = $kamp['kampid'];
    $hjemmehold    = $kamp['hjemmehold'];
    $udehold    = $kamp['udehold'];
    $hjemmeholdwin = $kamp['hjemmeholdwin'];
    $uafgjort    = $kamp['uafgjort'];
    $udeholdwin = $kamp['udeholdwin'];

    $form_match = true;
    if($_POST['odds'] == "Odds")
    {
        $form_match        = false;
        $o_hjemmeholdwin    = $_POST['o_hjemmeholdwin'];
        $o_uafgjort        = $_POST['o_uafgjort'];
        $o_udeholdwin    = $_POST['o_udeholdwin'];
        $o_boldmoney    = $_POST['o_boldmoney'];
        $leftboldmoney    = $boldmoney-$o_boldmoney;

        if($o_boldmoney > $boldmoney)
        {
            $form_match = true;
            $fejl = "Så mange penge har du ikke.";
            $fejl_boldmoney = "Så mange penge har du ikke.";
        }   

        if($o_hjemmeholdwin == "$hjemmeholdwin")
        {
            $o_hjemmeholdwin = 1;
            $bet = $o_boldmoney*$hjemmeholdwin;
        }
        else
        {
            $o_hjemmeholdwin = 0;
        }

        if($o_uafgjort == "$uafgjort")
        {
            $o_uafgjort = 1;
            $bet = $o_boldmoney*$uafgjort;
        }
        else
        {
            $o_uafgjort = 0;
        }

        if($o_udeholdwin == "$udeholdwin")
        {
            $o_udeholdwin = 1;
            $bet = $o_boldmoney*$udeholdwin;
        }
        else
        {
            $o_udeholdwin = 0;
        }


        if(!$fejl)
        {
            $sql2 = mysql_query("UPDATE users SET boldmoney='$leftboldmoney' WHERE userid='$userid'");

            $sql = mysql_query("INSERT INTO bets (kampid, userid, hjemmeholdwin, uafgjort, udeholdwin, boldmoney, aktiv, created)
            VALUES('$kampid', '$userid', '$o_hjemmeholdwin', '$o_uafgjort', '$o_udeholdwin', '$o_boldmoney', 1,  now())") or die (mysql_error());

            if(!$sql)
            {
                echo "<font class='register_new_user_fejl'>Fejl under tilf&oslash;jelse af kamp</font>";
            }
        $form_match = false;


?>
<font class="register_new_user_fejl">
Bet er tilf&oslash;jet!
</font>
<?php
        }
    }
    if ($form_match)
    {
?>
              <table bgcolor="#FFFFFF" border="0" width="580" height="670" cellpadding="0" cellspacing="0">
                <tr>
                <td width="580" height="39" align="left" valign="bottom">
                  <font class="title">
                    &nbsp;<?php echo "$page"; ?>
                  </font>
                </td>
                </tr>
                <tr>
                <td width="580" height="1" style="background-image: url(img/strips_horizontal_title.gif)"></td>
                </tr>
                <tr>
                <td width="580" height="380" bgcolor="#F5F7E6">
                  <table bgcolor="#FFFFFF" border="0" width="580" height="380" cellpadding="0" cellspacing="0">
                  <tr>
                    <td width="580" height="380">
                    <form method="post" action="betting.php">
                    <td width="580" height="380" valign="top" align="left" style="border-top-width: 0px; border-top-style: solid; border-top-color: #000000; border-left-width: 0px; border-left-style: solid; border-left-color: #E6EDEC; border-right-width: 0px; border-right-style: solid; border-right-color: #FFFFFF; border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: #CCCCCC;">
                      <table border="0" width="580" height="160" cellpadding="0" cellspacing="0">
                      <tr>
                        <td>
                        </td>
                      </tr>
                      </table>
                      <table border="0" width="580" cellpadding="0" cellspacing="0">
                      <tr>
                        <td width="130" align="center">
                        <font class="register_new_user">
                          Hjemmehold
                        </font>
                        </td>
                        <td width="10">
                        </td>                       
                        <td width="130" align="center">
                        <font class="register_new_user">
                          Udehold
                        </font>
                        </td>                       
                        <td width="50" align="center">
                        <font class="register_new_user">
                          1
                        </font>
                        </td>
                        <td width="50" align="center">
                        <font class="register_new_user">
                            X
                        </font>
                        </td>
                        <td width="50" align="center">
                        <font class="register_new_user">
                            2
                        </font>
                        </td>
                        <td width="100" align="left">
                        </td>
                      </tr>
                      </table>
                      <table border="0" width="580" cellpadding="0" cellspacing="0">
                      <tr>
                        <td width="130" align="center">
                        <font class="register_new_user">
                          <?php echo "$hjemmehold"; ?>
                        </font>
                        </td>
                        <td width="10">
                        <font class="register_new_user">
                          vs.
                        </font>                         
                        </td>                       
                        <td width="130" align="center">
                        <font class="register_new_user">
                          <?php echo "$udehold"; ?>
                        </font>
                        </td>                       
                        <td width="50" align="center">
                        <font class="register_new_user">
                          <?php echo "$hjemmeholdwin"; ?>
                        </font>
                        <input type="checkbox" name="o_hjemmeholdwin" onclick="uncheckOther(this.form, this.name);" value="<?php echo "$hjemmeholdwin";?>" <? print $checking ?>>
                        </td>
                        <td width="50" align="center">
                        <font class="register_new_user">
                          <?php echo "$uafgjort"; ?>
                        </font>
                        <input type="checkbox" name="o_uafgjort" onclick="uncheckOther(this.form, this.name);" value="<?php echo "$uafgjort";?>" <? print $checking ?>>
                        </td>
                        <td width="50" align="center">
                        <font class="register_new_user">
                          <?php echo "$udeholdwin"; ?>
                        </font>
                        <input type="checkbox" name="o_udeholdwin" onclick="uncheckOther(this.form, this.name);" value="<?php echo "$udeholdwin";?>" <? print $checking ?>>
                        </td>
                        <td width="100" align="left">
                        <input type="text" name="o_boldmoney" size="5" class="textfelt" tabindex="11">
                        <input type="submit" name="odds" value="Odds" class="button" onclick="if(window.beenHere)return false;window.beenHere=true" tabindex="12">   
                        </td>
                      </tr>
                      </table>
                      <table border="0" width="580" cellpadding="0" cellspacing="0">
                      <tr>
                      <tr>
                        <td width="520" align="center">
                        <font class="register_new_user_fejl">
                          &nbsp;<?php print "$fejl_boldmoney";?>                         
                        </font>
                        </td>
                      </tr>
                    </table>
                    </td>
                    </form>
                    </td>
                  </tr>
                  </table>
                </td>
                </tr>
                <tr>
                <td width="580" height="1" style="background-image: url(img/strips_horizontal_title.gif)">
                </td>
                </tr>

"

PÅ FORHÅND TUSIND TAK
Avatar billede jakobdo Ekspert
03. oktober 2008 - 08:11 #1
Er problemet "kun" er tingene ikke udskrives på en linje ?
Har du evt. et link til din test side, hvor man kan se nuværende problem/kode ?
Avatar billede rdc Nybegynder
03. oktober 2008 - 15:07 #2
Jo altså udseendet skal se sådan her ud:
http://www.rdc.lir.dk/test/eks.php

Nej problemet er at når jeg prøver at lave flere rækker med kampe, altså så der er 2 kampe man kan oddse på, så virker det ikke. For det første så bliver javascriptet fuldstændig forvirret. For navnene til mine checkbox'es bliver jo de samme, når jeg lave en løkke der gennemløber alle række i MySQL. For det andet så fungere "Odds" knappen heller ikke efter at jeg udskriver flere rækker fra MySQL... det er lidt svært at forklare, men håber det hjælper det her...

og tak for din tid..
Avatar billede majbom Novice
03. oktober 2008 - 17:57 #3
når du løber dit db-udtræk igennem og laver dine checkboxes kan du jo evt. navngive dine form-elementer som du gør nu og så tilføje "_01", "_02", "_03" osv.

altså:
<input type="checkbox" name="o_hjemmeholdwin_01" onclick="uncheckOther(this.form, this.name);" value="<?php echo $hjemmeholdwin_01;?>" <? print $checking ?>>
Avatar billede rdc Nybegynder
03. oktober 2008 - 18:26 #4
jo men det vil jo stadig give problemer, når jeg så skal indsætte det i databasen....
Avatar billede jakobdo Ekspert
03. oktober 2008 - 19:52 #5
Jeg ville lave det sådan her:

<input type="checkbox" name="hjemmeholdwin[]" onclick="uncheckOther(this.form, this.name);" value="<?php echo $hjemmeholdwin_01;?>" <? print $checking ?>>
og lige så med uafgjort og udesejr.

Så vil du få et array med alle inputs.
Avatar billede majbom Novice
03. oktober 2008 - 21:04 #6
-> jakob - ja, det kom jeg osse til at tønke på, da jeg havde postet det ogkommet væk fra det igen...
Avatar billede rdc Nybegynder
04. oktober 2008 - 02:11 #7
Tak for jeres svar... Jeg er dog stadig lidt usikker med det. Har stadig ingen ideer om hvordan det så skal kombineres med MySQL og javascript. Muligt at lave et eksempel hvor mit ovenstående kode indgår?
Avatar billede majbom Novice
04. oktober 2008 - 08:49 #8
jeg tror at det ville være nemmere hvis du brugte javascript til at validere med osse. f.eks. have en variabel der indeholder brugerens antal penge, og når vedkommende sætter hak i en checkbox, checker den om der er penge nok, og hvis der er det, trækker den beløbet fra variablen. på den måde har du hele tiden styr på om der er råd til det enkelte væddemål. så kan du også lave et felt der viser hvor mange penge brugeren har tilbage...

når formen så bliver submittet løber du dine arrays igennem i en foreach og indsætter data i db'en
Avatar billede rdc Nybegynder
04. oktober 2008 - 12:25 #9
Hmm tankegang. Der er så 2 minusser. Et at siden ikke vil virke hvis brugeren har slået javascript fra. Og det andet er at så vil designet ikke være som jeg havde i tankerne. Men kan du ellers give mig et kode eksempel af det du mener.
Avatar billede rdc Nybegynder
05. oktober 2008 - 12:53 #10
men jakobdo, hvis jeg gør sådan her:
<input type="checkbox" name="hjemmeholdwin[]" onclick="uncheckOther(this.form, this.name);" value="<?php echo $hjemmeholdwin_01;?>" <? print $checking ?>>

så kræver det vel ligeledes at jeg har 3 array lister, eller hvad? for jeg skal vel også have:

<input type="checkbox" name="uafgjort[]" onclick="uncheckOther(this.form, this.name);" value="<?php echo $uafgjort_01;?>" <? print $checking ?>>

ligeledes

<input type="checkbox" name="udeholdwin[]" onclick="uncheckOther(this.form, this.name);" value="<?php echo $udeholdwin_01;?>" <? print $checking ?>>

og når jeg så får lavet dette... hvordan skal jeg så samlet det hele? For jeg skulle gerne kunne få det sat ind i min MySQL, hvor id er det samme... jeg har fx. bets tabellen, hvor det bliver sat ind... altså hvis der bliver oddset på 2 kampe i samme kupon, så skal de jo have samme betid.. så er der en funktion eller en måde at stoppe mit auto_increment betid på?
Avatar billede jakobdo Ekspert
05. oktober 2008 - 20:27 #11
Du vil jo ende med 3 arrays, som du så skal behandle forskelligt.
Hvorfor vil du samle dem ?
Og i stedet for at spørge så meget.
Hvis du har en smule forstand på php, så prøv dig lidt frem.
Avatar billede rdc Nybegynder
05. oktober 2008 - 22:50 #12
lukker spørgsmålet... har næsten fået løst det... opret et svar begge 2 så kan jeg dele pointene til jer...
Avatar billede jakobdo Ekspert
06. oktober 2008 - 06:50 #13
Svar! :o)
Avatar billede majbom Novice
06. oktober 2008 - 09:37 #14
ved ikke hvor meget du fik ud af mine indlæg, men du får et svar...
Avatar billede jakobdo Ekspert
12. oktober 2008 - 20:06 #15
Takker for point.
Avatar billede majbom Novice
12. oktober 2008 - 21:01 #16
tak tak...
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