problem mit punktesystem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • problem mit punktesystem

    hmm mein punkte system will nicht so wie ich es will
    wenn einer z.b ein wort postet oder sonstwas dann will ich das der 1,5 punkte auf den sein "konto" schreib (in der spalte tabelle) bei jeden aber das macht er nicht why??

    code:
    PHP-Code:
    <?
    require("config1.inc.php");
    $timestamp = time(); /* Holt die Zeit */
    $datum = date("d.m.Y",$timestamp); /* Legt das Datum fest */

    MYSQL_CONNECT($host, $usr, $pw) or die ( "Datenbankserver nicht erreichbar");
    MYSQL_SELECT_DB($db) or die ( "Datenbank nicht vorhanden"); 

    $eintrag = MYSQL_QUERY("INSERT INTO schimpf01(wort,poster,buchstabe,datum) VALUES('$wort','$username','$wort','$datum')") or die (mysql_error());

    $SQLstring1 = "SELECT * FROM haupt WHERE name = '".$poster."'";
    $ergebnis1 = mysql_query($SQLstring1);
    while($zeile=mysql_fetch_row($ergebnis1)){
    $punkte = $zeile[6]+3/2;
    }
    $query = "UPDATE haupt Set punkte = $punkt+3/2  WHERE name='$username'";
    $result = mysql_query($query);
    mysql_error();
    if ($query)
    {
    echo"Du hast 1,5 Punkte dazu bekommen";
    }else{
    echo"Ihrgend ein Fehler ist aufgetreten wir konnten dir keine 1,5 Punkte geben";
    }
    if ($eintrag) {
        echo "<TABLE id=AutoNumber2 style=BORDER-COLLAPSE:collapse 
    borderColor=#000000 cellSpacing=0 cellPadding=0 width=520 border=1>
    <TBODY>
    <TR>
    <TD width=520 bgColor=#002555 height=25>
    <P align=left>&nbsp;</P></TD></TR>
    <TR>
    <TD width=520 bgColor=#506985>
    <p align=left>Das Schimpf Wort: $schimpf wurde soebend gespeichert.</TD></TR>
    </TBODY></TABLE>";
     }else{ echo "<TABLE id=AutoNumber2 style=BORDER-COLLAPSE:collapse 
    borderColor=#000000 cellSpacing=0 cellPadding=0 width=520 border=1>
    <TBODY>
    <TR>
    <TD width=520 bgColor=#002555 height=25>
    <P align=left>&nbsp;</P></TD></TR>
    <TR>
    <TD width=520 bgColor=#506985>
    <p align=left>Dein Schimpf Wort: $schimpf gibt es schon in unserer Database!</TD></TR>
    </TBODY></TABLE>"; } 

    MYSQL_CLOSE();
    ?>

  • #2
    lass Dir mal Deine Query ausgeben und schau mal was drin steht in $username... zB
    was soll eigentlich das mysql_error() da einfach so alleine in einer Zeile?
    Ach und das Tabellen feld kann schon mit Dezimalzahlen umgehen???
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Original geschrieben von MelloPie
      lass Dir mal Deine Query ausgeben und schau mal was drin steht in $username... zB
      was soll eigentlich das mysql_error() da einfach so alleine in einer Zeile?
      Ach und das Tabellen feld kann schon mit Dezimalzahlen umgehen???
      hmm weiß net ob der die dezimalzahlen umgehen kann

      Kommentar


      • #4
        und wie soll ich die query ausgeben lassn?? *g*

        Kommentar


        • #5
          Original geschrieben von Lord-Napoleon
          und wie soll ich die query ausgeben lassn?? *g*
          $query = "UPDATE haupt Set punkte = $punkt+3/2 WHERE name='$username'";

          definiert einen string - und wie geben wir strings aus?
          richtig, mit echo zum beispiel ...

          echo $query;
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Bitte?
            Wie kann ich mir was ausgeben lasse???
            Mit Echo evt?

            Man, wenn Du mit ner Datenbank versuchst zu programmieren solltest Du schon wissen was für Feldtypen Du benutzt oder benutzen solltest.

            Is hier ne versteckte Kamera?
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Kommentar


            • #7
              Re: problem mit punktesystem

              Original geschrieben von Lord-Napoleon
              PHP-Code:
              $query "UPDATE haupt Set punkte = $punkt+3/2  WHERE name='$username'";
              $result mysql_query($query);
              mysql_error();
              if (
              $query
              das ist übrigens auch unsinn.

              $query ist ein string, dem du drei zeilen drüber einen wert zugewiesen hast.

              in so fern dürfte if ($query) wohl immer true sein - du willst wahrscheinlich wissen, ob die db-abfrage geklappt hat - dann solltest du aber eher $result überprüfen.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                UPDATE haupt Set punkte = +3/2 WHERE name='Lord-Napoleon'Du hast 1,5

                gibt der aus wenn ich echo mit der query gemacht habe

                Kommentar


                • #9
                  ja syntaktisch falsch, bzw $punkt ist leer, da is schon mal ein Fehler
                  Beantworte nie Threads mit mehr als 15 followups...
                  Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                  Kommentar


                  • #10
                    Original geschrieben von MelloPie
                    ja syntaktisch falsch, bzw $punkt ist leer, da is schon mal ein Fehler
                    $punkte hat normal den standart wert 0

                    Kommentar


                    • #11
                      -.-

                      Kommentar


                      • #12
                        hat keiner ne ahnung??

                        Kommentar


                        • #13
                          haste $punkt mit nem Wert gefüllt?
                          Dann is schon mal deine query syntaktisch richtig ach und siehe auch Happys beitrag mit if($query)

                          eigentlich steht alles da Du musst nur lesen und verstehen und anwenden
                          Beantworte nie Threads mit mehr als 15 followups...
                          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                          Kommentar


                          • #14
                            Original geschrieben von MelloPie
                            haste $punkt mit nem Wert gefüllt?
                            Dann is schon mal deine query syntaktisch richtig ach und siehe auch Happys beitrag mit if($query)

                            eigentlich steht alles da Du musst nur lesen und verstehen und anwenden
                            mein code sieht jetzt aus:
                            PHP-Code:
                            <?
                            require("config1.inc.php");
                            $timestamp = time(); /* Holt die Zeit */
                            $datum = date("d.m.Y",$timestamp); /* Legt das Datum fest */

                            MYSQL_CONNECT($host, $usr, $pw) or die ( "Datenbankserver nicht erreichbar");
                            MYSQL_SELECT_DB($db) or die ( "Datenbank nicht vorhanden"); 

                            $eintrag = MYSQL_QUERY("INSERT INTO schimpf01(wort,poster,buchstabe,datum) VALUES('$wort','$username','$wort','$datum')") or die (mysql_error());

                            $SQLstring1 = "SELECT * FROM haupt WHERE name = '".$poster."'";
                            $ergebnis1 = mysql_query($SQLstring1);
                            while($zeile=mysql_fetch_row($ergebnis1)){
                            }
                            $query = "UPDATE haupt Set punkte = $punkte+1  WHERE name='$username'";
                            {
                            echo "$query";
                            }
                            $result = mysql_query($query);
                            if ($result)
                            {
                            echo"Du hast 1 Punkte dazu bekommen";
                            }else{
                            echo"Ihrgend ein Fehler ist aufgetreten wir konnten dir keine 1,5 Punkte geben";
                            }
                            if ($eintrag) {
                                echo "<TABLE id=AutoNumber2 style=BORDER-COLLAPSE:collapse 
                            borderColor=#000000 cellSpacing=0 cellPadding=0 width=520 border=1>
                            <TBODY>
                            <TR>
                            <TD width=520 bgColor=#002555 height=25>
                            <P align=left>&nbsp;</P></TD></TR>
                            <TR>
                            <TD width=520 bgColor=#506985>
                            <p align=left>Das Schimpf Wort: $schimpf wurde soebend gespeichert.</TD></TR>
                            </TBODY></TABLE>";
                             }else{ echo "<TABLE id=AutoNumber2 style=BORDER-COLLAPSE:collapse 
                            borderColor=#000000 cellSpacing=0 cellPadding=0 width=520 border=1>
                            <TBODY>
                            <TR>
                            <TD width=520 bgColor=#002555 height=25>
                            <P align=left>&nbsp;</P></TD></TR>
                            <TR>
                            <TD width=520 bgColor=#506985>
                            <p align=left>Dein Schimpf Wort: $schimpf gibt es schon in unserer Database!</TD></TR>
                            </TBODY></TABLE>"; } 

                            MYSQL_CLOSE();
                            ?>
                            ich hab das gefühl das der den 1 punkt einträgt und dann nicht updatet wenn ich mich nicht irre!

                            Kommentar


                            • #15
                              Original geschrieben von Lord-Napoleon
                              ich hab das gefühl das der den 1 punkt einträgt und dann nicht updatet wenn ich mich nicht irre!
                              du irrst. $punkte ist bei deinem script leer! deshalb wird beim update das feld punkte auf "1" gesetzt.

                              - entweder liest du in der while-schleife vor dem update einen wert für $punkte aus
                              oder
                              - du änderst die query in "... update ... set punkte=punkte+1 ..."
                              Kissolino.com

                              Kommentar

                              Lädt...
                              X