Ankündigung

Einklappen
Keine Ankündigung bisher.

Paar Probleme bei Auktionsscript

Einklappen

Neue Werbung 2019

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

  • #16
    Ich werde mir angewöhnen, offene Punkte zu nummerieren und erst wieder zu antworten, wenn alle Punkte beantwortet wurden.
    Dann hätte man letzter Post so ausgesehen
    1. Die genaue Tabellendefinition
    2. und die verwendeten Testdaten in den Tabellen
    3. Was gibt -code- aus?
    Aber egal. Die Ausgabe mal etwas formatiert lautet
    Code:
    array(2) {
     [0]=>
      object(stdClass)#15 (5) {
       ["id"]=>     string(1) "1"
       ["title"]=>     string(40) "Test 1"
       ["Max(bids.bid)"]=>     NULL
       ["Count(bids.id)"]=>     string(1) "0"
       ["img1"]=>     string(11) "1369833.jpg"
      }
     [1]=>
         object(stdClass)#16 (5) {
          ["id"]=>     string(1) "2"
          ["title"]=>     string(30) "Test 2"
          ["Max(bids.bid)"]=>     string(6) "149,00"
          ["Count(bids.id)"]=>     string(1) "2"
          ["img1"]=>     string(13) "1369833_3.jpg"
         }
    }
    Die Abfrage scheint also zu funktionieren. Dann liegt es wohl am Templatecode.

    Kommentar


    • #17
      Oh sry, dass hab ich vergessen...
      Also so sehen meine Tabellen aus:

      Code:
      CREATE TABLE IF NOT EXISTS `bids` (
        `id` int(11) NOT NULL auto_increment,
        `auction` int(11) NOT NULL,
        `biddate` varchar(30) NOT NULL,
        `bidder` int(11) NOT NULL,
        `bid` varchar(20) NOT NULL,
        PRIMARY KEY  (`id`)
      ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
      
      --
      -- Daten für Tabelle `bids`
      --
      
      INSERT INTO `bids` (`id`, `auction`, `biddate`, `bidder`, `bid`) VALUES
      (1, 2, '1209895801', 1, '100,00'),
      (2, 2, '1209896786', 1, '149,00');
      Die daten der Auctions tabelle stehen eigtl. eh schon oben, ebenso wie die Testdaten.
      Und so gebe ich das eben im Template aus:
      Code:
              {foreach from=$auction item="auct"}
              <a href="auktion-{$auct->id}.html"><img src="thumbnail.php?bild=img/{$auct->img1}" />
               - {$auct->title} - {$auct->Count(bids.id)} - {$auct->Max(bids.bid)}
              </a><br />
              {/foreach}
      Ich verstehe halt nicht, warum der Titel und das BIld ausgegeben werden und der Rest nicht...

      Kommentar


      • #18
        Wie funktioniert denn Deine Templateklasse? Dürfen da Objekt-Eigenschaften Klammern im Namen haben?

        Kommentar


        • #19
          Muss ich selber erst schauen ^^, ich benutze Smarty.

          Kommentar


          • #20
            Eine Frage hätte ich noch, wie kann ich die Verbleibende Zeit berechnen?
            Danke

            Kommentar


            • #21
              Zitat von ghost120 Beitrag anzeigen
              Eine Frage hätte ich noch, wie kann ich die Verbleibende Zeit berechnen?
              Was wird dazu denn in der Datenbank gespeichert?

              Kommentar


              • #22
                Also ich speicher den Timestamp, wenn die Auktion eingetragen wird und die Laufzeit in Tagen.

                Kommentar


                • #23
                  Eine Minute hat 60 Sekunden.
                  Eine Stunde hat 3600 Sekunden.
                  24 Stunden haben 86400 Sekunden.
                  Darüber kannst Du es berechnen.

                  Kommentar


                  • #24
                    Ja soweit war ich schon, hab dann versucht, die Ablaufzeit - jetztige Zeit, doch dass ist falsch, denke ich...

                    Kommentar


                    • #25
                      geändert by autor wg war FALSCH

                      (Asche auf mein Haupt - war wohl doch zu spät gestern...)

                      Kommentar


                      • #26
                        PHP-Code:
                        $ablaufzeit strtotime('+8 days');
                        echo 
                        date("H:i:s"$ablaufzeit time()); 
                        01:00:00

                        Kommentar


                        • #27
                          Hi,
                          ich habs jetzt so probiert:
                          PHP-Code:
                          $ablaufzeit =1209892287 86400 7
                          echo
                          "Restlaufzeit: ".date("H:i:s",$ablaufzeit time()); 
                          Allerdings kommt hier nur folgendes raus:
                          Code:
                          Restlaufzeit: 04:14:15
                          Doch das is doch falsch, denn das wären nur noch 4 Stunden laufzeit, allerdings ist das ein timestamp von gestern oder so + 7 Tage gestellt...
                          Und bei dem Code von David kommt immer 01:00.00
                          mach ich irgendwas falsch?
                          Danke

                          Kommentar


                          • #28
                            Das sollte ein Beispiel sein, dass es so nicht funktioniert Da müssen mindestens noch die Tage berücksichtigt werden.

                            Ich würde date() dafür nicht benutzten. Erst verbleibend=Ende-Jetzt und dann teilen.

                            Kommentar


                            • #29
                              Das hier

                              Code:
                              $ablaufzeit =1209892287 + 86400 * 7; 
                              
                              wird dir auch spätestens bei Umstellung Sommer/Winterzeit einen Strich durch die Rechnung machen.

                              Und zur berechnung der Dauer:

                              PHP-Code:
                              $dauer 1209892287;
                              $std floor($dauer 60);
                              $min floor(($dauer $std 60)/60);
                              $sek $dauer $std 3600 $min 60

                              Kommentar


                              • #30
                                Zitat von David Beitrag anzeigen
                                Das sollte ein Beispiel sein, dass es so nicht funktioniert Da müssen mindestens noch die Tage berücksichtigt werden.

                                Ich würde date() dafür nicht benutzten. Erst verbleibend=Ende-Jetzt und dann teilen.
                                Wie soll ich es ohne Date() formatieren?
                                Ich teils eh und dann gebe ich es aus-

                                Kommentar

                                Lädt...
                                X