ugrás a tartalomhoz

Archívum - Jan 14, 2006

lekerdezessel letrehozott osszeg beirasa adott mezobe (UPDATE-te)

Anonymous · 2006. Jan. 14. (Szo), 07.06
Sziasztok,

Azt szeretném megtudni, hogy lehetseges-e select lekerdezesbol kozvetlen
letrehozott osszegget beirni egy letezo mezobe?

A SET utasitast probaltam futtatni mssql-lel, de hibauzenetet ad.
Csak a Select utani resz fut le es valoban kiirja a jo eredmenyt.
-------Declare @osszido int
-------SET @osszido=(

SELECT  sum(actual_duration)as OSSZ 
FROM AHD.chg c INNER JOIN  AHD.wf w 
ON  c.id =w.object_id
WHERE   (c.status='ATV' or c.status='IMPL')
and w.task<>'ATV' 
group by chg_ref_num
A cel egy Trigger letrehozasa osszegzes celjabol pl:
CREATE TRIGGER osszegzes
ON AHD.chg
FOR UPDATE
AS

Declare @ossz int
Set @ossz= ( SELECT Sum(actual_duration)
FROM AHD.chg c INNER JOIN  AHD.wf w 
ON  c.id =w.object_id
WHERE   w.task<>'ATV' and
w.task<>'APP' and w.status<>'SKIP')

Update AHD.chg
SET actual_total_time = @ossz
Where status='ATV' 
 

Felhasználók hozzászólás számának kiírása fórumban

Anonymous · 2006. Jan. 14. (Szo), 02.24
Hellósztok!

Tanácsot szeretnék kérni.
Ha csinálok egy fórumot és tegyük fel hogy van benne 100ezer hozzászólás.
Ami egy táblában van az adatbázisban.

És lenne egy olyan rész hogy felhasználónként hogy neki eddig mennyi hozzászólása van. Na de most ezt hogy oldjam meg?
2 lehetőséget mértem fel:
- vagy megszámolom h hány hozzászólásom van mindenegyes oldalhíváskor csak akkor van szivacs ha egy oldalon mondjuk 30 különbzőt kell megszámolni
- vagy mikor új hozzászólás van akkor +1-el növelem mikor törlöm akkor -1-el csökkentem.

Nos szerintetek mit válasszak mert azért 100 ezer sor az nem semmi és mindig megszámolni vagy elég gyors a php?
pl. ha mindenkinek van 1 512kbps-s netje, akkor sokat kell várnia hogy a php számoljon?

Előre is köszönöm a válaszokat.
 

Kis- és nagybetűk UTF-8-ban, PHP/MySQL

joschy · 2006. Jan. 14. (Szo), 00.31
Sziasztok!

Bíbelődök egy kóddal amit kaptam, ami pontosan azt takarja, hogy próbálok bele UTF-8 supportot szenvedni - és persze egy érdekes problémába ütköztem, amit nem nagyon tudok kitalálni, úgyhogy bennetek bízom :o)

Van egy array-em ($mystuff), amit mysql-bol szíjjok:

"SELECT DISTINCT LOWER(SUBSTRING(mystring_name, 1, 1)) AS A FROM $db_table_mytable"

Ebből próbálnék megy olyat alkotni, hogy az első karakterek betűinek létezésekor adott betű link lesz (avagy értelmesebben ABC szerinti brózolásról van szó). Eredendően latin1 a cucc, és így néz ki a dolog:
<?php
while (!$mystuff->EOF) {
        if (ord($mystuff->fields[0]) >= 192 and ord($mystuff->fields[0]) <= 222 and ord($mystuff->fields[0]) != 215) // "Select lower"
                $mystuff->fields[0] = chr(ord($mystuff->fields[0])+32); // above doesn't work with ascii > 192, this fixes it
        $let .= $mystuff->fields[0]; // it could be "a" or "A", so just go with the only returned item
        $mystuff->MoveNext();
}
Ebbe kéne belenyomnom, hogy UTF-8 esetén is megalálja az első betűket, ha lower, ha upper. Nincs valami tippetek, hogy hogyan tudom megtalálni UTF-8-ban az adott betű capital párját akár ékezetesek esetén is?

Előre is köszönöm,
Dzsó