Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Admin Modified Paket

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Admin Modified Paket
    Antwort #90 am: 20. November 2009, 10:27:53
    Immer gerne! Wen freut es nicht, wenn einem Arbeit abgenommen wird. ;-)

    Grüße

    Torsten

    Shop Hosting

    vr

    • modified Team
    • Beiträge: 2.664
    Admin Modified Paket
    Antwort #91 am: 20. November 2009, 16:14:38
    Vermutlich liegt es am array_qsort, das unterschiedliche Werte benötigt. Die Arbeit macht aber besser der Datenbankserver:

    Code: SQL  [Auswählen]
    SELECT concat(customers_firstname, ' ', customers_lastname) name, customers_dob dob,
    IF(DAY(customers_dob) = DAY(CURRENT_DATE), TRUE, FALSE) today
    FROM customers
    WHERE MONTH(customers_dob) = MONTH(CURRENT_DATE)
    ORDER BY customers_dob
     
    Anschliessend durch die Spalte 'today' gesteuert ausgeben, da gibt es mehrere Möglichkeiten, Hilfsarray oder output buffering.

    Oder man sortiert die heutigen ganz nach oben:

    Code: SQL  [Auswählen]
    ORDER BY 3 DESC, customers_dob
     
    und zeigt das today-Feld als 'heute' mit einem Sternchen an.

    Grüße, Volker

    vr

    • modified Team
    • Beiträge: 2.664
    Admin Modified Paket
    Antwort #92 am: 22. November 2009, 12:12:57
    Hi,

    hier der letzte Vorschlag für die Änderung der start.php etwas ausführlicher, da der Fehler im Zusammenhang mit leeren bzw 0000-00-00 00:00:00-Geburtsdaten im Original ja noch nicht behoben ist. Die Idee ist, die Logik in die Abfrage zu verlagern. Dadurch

    1. leere Geburtsdaten werden bereits in der Abfrage behandelt und aussortiert
    2. kann man sich die Funktion array_qsort sparen
    3. wird die Geburtstagsberechnung performanter, weil wesentlich weniger Daten transportiert werden als im Original (komplette Kundentabelle mit allen Feldern, obwohl nur 3 Felder benötigt werden und die nur von einem Bruchteil der Kunden)
    4. wird der Algorithmus leichter nachvollziehbar

    start.php, ca zeile 470:

    Code: PHP  [Auswählen]
    $ergebnis = xtc_db_query("select
                              concat(customers_firstname, ' ', customers_lastname) name,
                              customers_dob dob,
                              if(day(customers_dob) = day(current_date), true, false) today
                              from " . TABLE_CUSTOMERS . "
                              where month(customers_dob) = month(current_date)
                              order by customers_dob");

    $this_month = array();
    while($row = mysql_fetch_array($ergebnis))
    {
       if ($row['today'] == 1) {
         echo '<tr><td width="78%" bgcolor="#FFF9E9">' . $row['name'] . '</td>';
         echo '<td width="22%" bgcolor="#FFF9E9">' . xtc_date_long($row['dob']) . '</td></tr>';
      }
      else
        $this_month[] = array('name' => $row['name'], 'dob' => $row['dob']);
    }

    ?>
      <tr>
         <td width="100%" colspan="2" style="border-top: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC" bgcolor="#F1F1F1"><strong>Kunden, die noch in diesem Monat Geburtstag haben:</strong></td>
      </tr>
    <?php
    foreach($this_month as $row) {
      echo '<tr><td width="78%" bgcolor="#FFF9E9">' . $row['name'] . '</td>';
      echo '<td width="22%" bgcolor="#FFF9E9">' . xtc_date_long($row['dob']) . '</td></tr>';
    }
     
    Grüße, Volker

    web28

    • modified Team
    • Beiträge: 9.404
    Admin Modified Paket
    Antwort #93 am: 22. November 2009, 14:08:04
    Hallo Volker,

    vielen Dank für den Code, ich werde mir das mal ansehen und testen.

    Gruss Web28

    vr

    • modified Team
    • Beiträge: 2.664
    Admin Modified Paket
    Antwort #94 am: 24. November 2009, 21:22:57
    Hi,

    noch ein Vorschlag für die start.php. Betrifft die Statistiken im Kopf der Seite. Man kann jeden Block jeweils mit einer einzigen Abfrage berechnen, hier schon mal die für die Kundenstatistik. Dabei wird ausserdem berücksichtigt, wenn Shop-Admins ihre Kundengruppen umbenannt oder welche hinzugefügt haben. Der/die Admins sind ausgenommen:

    Code: PHP  [Auswählen]
    $customers_query = xtc_db_query('select cs.customers_status_name cust_group, count(*) cust_count
    from '
    . TABLE_CUSTOMERS . ' c
    join '
    . TABLE_CUSTOMERS_STATUS . ' cs on cs.customers_status_id = c.customers_status
    --  exclude admin
    where c.customers_status> 0
    group by 1
    union
    select \'Kunden gesamt\', count(*)
    from '
    . TABLE_CUSTOMERS . '
    order by 2 desc'
    );

    $customers = array();
    while ($row = mysql_fetch_array($customers_query))
      $customers[] = $row;
     
    Diese Statements zb vor den Abfragen in start.php einfügen. Das Ergebnis wird in $customers zur späteren Verwendung zwischengelagert. An der entsprechenden Stelle wird das ausgegeben:

    Code: PHP  [Auswählen]
    foreach ($customers as $customer) {
      echo '<tr><td style="background:#e4e4e4"><strong>' . $customer['cust_group'] . ':</strong></td>';
      echo '<td style="background:#e4e4e4" align="center">' . $customer['cust_count'] . '</td></tr>';
    }
     
    Grüße, Volker

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Admin Modified Paket
    Antwort #95 am: 24. November 2009, 21:34:44
    Hi Volker,

    wärst du so lieb und würdest das gleich einarbeiten, dann brauch ich das bei Bedarf nur noch mergen...

    https://trac.modified-shop.org/browser/trunk/admin/start.php

    Die Arbeit wird leider nicht weniger, sondern immer mehr... =)

    Grüße

    Torsten

    vr

    • modified Team
    • Beiträge: 2.664
    Admin Modified Paket
    Antwort #96 am: 24. November 2009, 23:42:13
    Hi Torsten,

    Klar, mach ich. Wie denn einarbeiten? Meine lokale Version der start.php hier hochladen?

    Grüße, Volker

    vr

    • modified Team
    • Beiträge: 2.664
    Admin Modified Paket
    Antwort #97 am: 25. November 2009, 01:29:46
    Hi Torsten,

    hier die aktualisierte start.php. Ich hab erstmal nur die Kundenabfrage geändert, ausserdem die Function array_qsort rausgeschmissen, da sie für die Geburtstagsberechnung nicht mehr gebraucht wird. whos_online wurde 2 mal unnötig abgefragt, das hab ich auskommentiert. Hoffe das passt so und ich krieg jetzt nicht den Vandalismus-Orden  :wink:

    Hups, php geht nicht als upload-Format, jetzt als zip.

    Grüße, Volker

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Admin Modified Paket
    Antwort #98 am: 25. November 2009, 11:42:13
    Welche Basis der start.php hast du denn benutzt? Die hier? -> https://trac.modified-shop.org/browser/trunk/admin/start.php

    P.S.: Vielen Dank für deinen Einsatz hier bei uns!

    Grüße

    Torsten

    web28

    • modified Team
    • Beiträge: 9.404
    Admin Modified Paket
    Antwort #99 am: 25. November 2009, 12:14:25
    @Torsten

    Volker hat die von mir überarbeitete Version nochmals optimiert! Habe ich gerade getestet und es sieht alles gut aus.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Admin Modified Paket
    Antwort #100 am: 25. November 2009, 12:46:50
    Hab ich soeben in r556 in den Trunk integriert.

    Danke Volker!

    Grüße

    Torsten

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Admin Modified Paket
    Antwort #101 am: 25. November 2009, 13:59:38
    Oh... das sieht nicht ganz gewollt aus:

      [ Für Gäste sind keine Dateianhänge sichtbar ]

    Grüße

    Torsten

    vr

    • modified Team
    • Beiträge: 2.664
    Admin Modified Paket
    Antwort #102 am: 25. November 2009, 14:03:33
    Hi,

    die Abfrage berücksichtigt die Language_ID nicht. Ich ändere das ...

    Grüße, Volker

    vr

    • modified Team
    • Beiträge: 2.664
    Admin Modified Paket
    Antwort #103 am: 25. November 2009, 14:21:25
    Hi,

    hier die neue.

    Grüße, Volker

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Admin Modified Paket
    Antwort #104 am: 25. November 2009, 14:59:22
    Danke dir... wird gleich in r558 in den Trunk geschickt. ;-)

    Grüße

    Torsten

    6 Antworten
    3678 Aufrufe
    28. März 2013, 14:49:52 von Simon
    2 Antworten
    2728 Aufrufe
    03. September 2010, 15:14:31 von esomatic
    14 Antworten
    1855 Aufrufe
    11. April 2023, 15:33:37 von noRiddle (revilonetz)