if & dB

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

  • if & dB

    Folgendes ich die Spalte Geothermal soll nach ablauf der $endzeit1 die Anzahl +1 geschrieben werden das passiert auch. Aber nicht nach ablauf der endzeit1 sondern sofort.
    Weil die Zeit und der Zeitstempel sowie Im_bau (Geothermal) nicht in die DB geschrieben werden! Vileicht kann mir einer von euch sagen wo der bug ist.

    Fehler meldung giebt es keine!

    PHP-Code:
    $userinfo CheckUserSession(session_id());

    $q mysql_query("SELECT * FROM Geothermal_01 WHERE Name='$userinfo[UserName]'");
    $m mysql_fetch_array($q);
    $zeit1 time();
    $geb_link1 "<a href=\"b.php?mb1=1\">Los</a>";

    if(
    $mb1==1) {
    $geb_link1 "-";
    }
    if(
    $mb1==1$geb_link1 "Es geht Los.";
    if(
    $m['Im_bau']) {
    $geb_link1 == "-";
    }
    if(
    $m['Im_bau'] == "Geothermal") {$geb_link1 "Es geht Los."; }
    $endzeit1 $zeit1 + (200 5);

    if( (
    $mb1 == 1) || ($m['Im_bau'] == "Geothermal") ) {
    if(empty(
    $m['Zeit'])) {
    $active 1;
    $q mysql_query("UPDATE Geothermal_01 SET Zeit= '$endzeit1', Zeitstempel = '$zeit1', Im_bau = 'Geothermal' WHERE Name='$userinfo[UserName]'");
    }
    if(
    $m['Zeit'] > $m['Zeitstempel']) {
    $q mysql_query("UPDATE Geothermal_01 SET Zeitstempel = '$zeit1' WHERE Name='$userinfo[UserName]'");
    }
    if(
    $zeit1 >= $m['Zeit']) {
    $geb1neu $m['Geothermal'] + ;
    $q mysql_query("UPDATE Geothermal_01 SET Geothermal='$geb1neu', Zeit= '0', Zeitstempel= '0' , Im_bau = '0' WHERE Name='$userinfo[UserName]'");
    }


  • #2
    bastle mal viele
    PHP-Code:
    echo 
    in deine quellcode um überhaupt festzustellen, in welche if-verzweigung du die befindest

    z.b.
    PHP-Code:
    if(bla==blub)
    {echo 
    "die erste if abfrage war positiv";} 
    die datentypen sind identisch und haben das gleiche format? hast du dir sicherlich auch schon per echo / print_r ausgeben lassen.

    ein beispiel für diejenigen, die nicht deine datenbank haben, wäre schön.

    ps: welche if abfrage funzt jetzt nicht? die letzte?

    gruß jochen

    Kommentar


    • #3
      also ergebniss echo:

      Geht nicht:

      PHP-Code:
      if($m['Zeit'] > $m['Zeitstempel']) {
      $q mysql_query("UPDATE Geothermal_01 SET Zeitstempel = '$zeit1' WHERE Name='$userinfo[UserName]'");

      Aber also erstes muss:

      PHP-Code:
      if(empty($m['Zeit'])) {
      $active 1;
      $q mysql_query("UPDATE Geothermal_01 SET Zeit= '$endzeit1', Zeitstempel = '$zeit1', Im_bau = 'Geothermal' WHERE Name='$userinfo[UserName]'");

      In die DB geschrieben werden. Und das macht er nicht.

      hier mal die Tabelle

      CREATE TABLE `Geothermal_01` (
      `Name` varchar(20) NOT NULL default '',
      `Zeit` bigint(20) unsigned NOT NULL default '0',
      `Zeitstempel` bigint(20) unsigned NOT NULL default '0',
      `Im_bau` varchar(20) NOT NULL default '',
      `Geothermal` bigint(20) unsigned NOT NULL default '0',
      ) TYPE=MyISAM COMMENT='Die Tabelle für die Gebaeude';

      mfg
      Peter
      Zuletzt geändert von xbladenp; 18.11.2004, 20:19.

      Kommentar


      • #4
        mach mal ein
        PHP-Code:
        echo "<pre>
        print_r(
        $m)
        </pre> 
        und poste mal die bildschirmausgabe (sollte der inhalt deines arrays sein)

        ps echo sollst du verwenden um bildschirausgbane zu erzeugen wie varibalenausgabe

        echo $q

        oder für debuggingmitteilungen die du später wieder löschen kannst

        echo "dies ist ein test"

        Kommentar


        • #5
          Also habe hinter jedem if

          PHP-Code:
          echo "<pre>print_r($m)</pre> $q"
          Ergebnis:

          print_r(Array)

          print_r(Array)
          Resource id #4
          print_r(Array)
          1
          print_r(Array)
          1

          Kommentar


          • #6
            Original geschrieben von jochenj
            PHP-Code:
            echo "<pre>
            print_r(
            $m)
            </pre> 
            unfug, wenn schon dann
            PHP-Code:
            echo "<pre>";
            print_r($m);
            echo 
            "</pre>"
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              ah jetzt ja!!

              Array
              (
              [0] => warwolf
              [Name] => warwolf
              [1] => 0
              [Zeit] => 0
              [2] => 0
              [Zeitstempel] => 0
              [3] => 0
              [Im_bau] => 0
              [4] => 34
              [Geothermal] => 34
              )

              Kommentar


              • #8
                Original geschrieben von xbladenp
                Geht nicht:

                PHP-Code:
                if($m['Zeit'] > $m['Zeitstempel']) {...} 

                [Zeit] => 0
                ...
                [Zeitstempel] => 0
                pseudocode:
                wenn 0 größer 0 dann.....

                EDIT:
                ups, sorry wegen des codes, bzw. danke für die verbesserung @wahsaga

                Kommentar


                • #9
                  Ja stimmt danke.

                  Kommentar

                  Lädt...
                  X