ugrás a tartalomhoz

Archívum - Feb 2009 - Fórum téma

február 19

emelkedő sorrendbeállítás szám & szöveg esetén

mokat · 2009. Feb. 19. (Cs), 20.37
Sziasztok,

van egy mezőm, ilyen formátummal: 20 hogen (a mező többi rekordja is: "szám space szöveg" felépítésű)

van egy ilyen lekérdezésem:
mysql_query("SELECT lista FROM lejatszott ORDER BY lista ASC")

a sorrendi rendezés eredménye: 1 Béla, 10 Józsi, 114 Peti, 12 Mari, 124 Tomi, 13 Sanyi, ....stb

meg lehetne oldani az eredeti mezőformátum megtartásával, hogy "normális" emelkedő sorrend legyen? (tehát: 1 Béla, 10 Józsi, 12 Marci, 13 Sanyi, 114 Peti, 124 Tomi)

előre is köszi a válasz(oka)t!
 

Két COUNT és azok összeadása egy lekérdezésben

wintercounter · 2009. Feb. 19. (Cs), 01.36
Hello!

Gondoltam nem nyitok új topicot neki, hiszen az én problémám is hasonló:
SELECT t.board_id forum_id, t.topic_id, p.post_id, count(t.topic_id) as topic_total, count(p.post_id) as post_total 
  FROM mu2_forum_topics as t 
  LEFT JOIN mu2_forum_posts AS p 
  ON t.board_id=p.board_id 
  GROUP BY t.board_id 
  ORDER BY total_entry DESC 
  LIMIT 10
Ez egy fórum része. A lényeg az lenne, hogy ezen az oldalon több fórum is van (teljesen különálló oldalként). Minden fórumnak van egy egyedi ID-je.

A fórumoknak a témái és hozzászólásai is külön-külön táblában vannak.

Azt akarom elérni EGY lekérdezéssel, hogy Kiírom a Forum ID-t és mellé a témák, és a hozzászólások számát. Láthattok egy olyat, hogy ORDER BY total_entry DESC, nos ez meg a két count összege lesz, tehát kiírja, hogy az adott ID (fórum) hány bejegyzéssel rendelkezik (topic+hozzászólás), de ez még csak a jövő kérdése, mivel alapból itt megakadtam, de ebben is elfogadok segítségeket.

Sajnos a fenti query-vel és még sok másikkal is az alábbi eredményt kaptam (nah meg egy csomó más nagy számot):

{forum_id} {topic_total} {post_total}
13 | 43663 | 43663
15 | 14196 | 14196
7 | 1520 | 1520
5 | 462 | 462
8 | 210 | 210
17 | 204 | 204
6 | 172 | 172
16 | 73 | 0
1 | 36 | 36
9 | 30 | 30

Tehát a lényeg ugyan az, hogy ezt kiírjam, csak végre a valós eredményekkel... Utána meg jöhet a két COUNT összeadása, de amint mondtam csak ez után.

A segítségeket előre is köszönöm!
 

február 18

data grid

krisy · 2009. Feb. 18. (Sze), 21.53
Sziasztok!

Egy előző témában merült fel a kérdés, hogy milyen (ingyenes) data grid-ek léteznek (szűrhető, rendezhető, stb. "táblázat komponensek").

Előkerült a Flex Advanced Data Grid, ami egy remek megoldásnak tűnik, illetve html alapú megoldásokat találtam itt:
http://www.smashingmagazine.com/2007/05/30/tables-and-data-grids-with-ajax-dhtml-javascript/

A kérdésem az lenne, Ti milyet használtok? Melyikkel érdemes kezdeni?
(sok adatról lenne szó, és jó lenne, ha valamilyen módon lehetne "külső" szűrőket is hozzávenni)
 

Adatbázis tervezés

s_volenszki · 2009. Feb. 18. (Sze), 17.46
Bizonyára egy könyv, adott tudománnyal kapcsolatban azért mutat be tervezési mintát, mert az eredményezi a legoptimálisabb gyakorlati alkalmazását az elméletnek.

Azaz, ha történetesen adatbázis tervezésről és egy adatbázis tervezési mintát bemutató könyvről van szó, akkor sokkal inkább az a fontos, hogy a könyvben leírtaknak megfelelő struktúrájú adatbázist hozzunk létre, mint az, hogy a jelenlegi tudásunkkal képesek leszünk-e kinyerni majd az adatokat?

Teljesen világossá vált számomra, hogy az adatbázisban nem a megjelenítés logikája szerint tároljuk az adatokat, ez viszont lényegesen bonyolultabbá teszi az adatok megjelenítését.

Ha figyelembe veszem a tervezési folyamat követelményeit, akkor minden olyan mező, ami ezidáig többértékű volt, egyértékű lesz, majd a következő lépésben minden egyértékű mező feloldásra kerül, így az adatok fizikailag elválnak a megjelenés logikájától.

Ezek az esetek klasszikusan olyankor következnek be, mikor egy mező több adatot is tárolhat.

Az én esetemben ha termékek nyilvántartásához adatbázist tervezek, akkor minden olyan adat külön táblába kerül, ami nem kizárólag egy termékre jellemző. Gondolok itt például a gyártóra, a termék árára, a beszerzési forrásra és még sorolhatnám.

Ez idáig rendben van, tökéletesen értem és valóban egy jól átlátható adatbázis keletkezik.

A gondom csak az, hogy nem bírok értelmes lekérdezéseket készíteni. Ezen elmélkedve (na meg több további adatbázis tervezéssel foglalkozó könyvet átolvasva) jutottam el odáig, hogy nézet táblát kell készítenem.

Úgy értelmezem, hogy a nézet tábla lesz az, amiben szinte olyan struktúrában jelenik majd meg az adat, ami alkalmas az egyszerű megjelenítésre, de nem hatékony az adatok kezelésében. Azt a könyv teljesen logikusan adatmegjelenítő nézetnek hívja.

Találtam még olyat, hogy összesítő nézet, ahol vannak számított mezők is.

Ajax-os adat nem töltődik be a helyére (Explorer)

gabesz666 · 2009. Feb. 18. (Sze), 15.26
Sziasztok!

Na mi mással is lenne megint gond, mint az explorerrel? :) Természetesen, mivel ezt nem saját szórakoztatásomra írom, ezért fontos a kompatibilitás. A JS kód a következő:

setInterval(function() 
{ $.get('get.php', { w: 'all' }, function(data){
   var timestamp = data.timestamp
   }, 'json'); }, 1000);
Erre a jQuery-s ajax kérésre az alábbi válasz jön: { startTime: 1234962658, endAfter: 60, timestamp: 1234963602, clickNum: 6 }

Na most a problémám a következő: A válaszban szereplő adatokat szeretném textfieldekbe tölteni, de explorer alatt ez valahogy nem akar sikerülni (az első alkalommal, amikor betöltődik az oldal, akkor még beírja a dolgokat). Ezekre gondoltam: setInterval nem működik (működik), textfield értékének változtatása nem működik (működik, egy random szám generátorral teszteltem, és minden másodpercben változik), nem érkezik meg az adat (megérkezik). Tehát az egyenlőségjel mindkét oldalán levő kifejezés helyes, a progi mégsem megy. Mi lehet a gond?

Köszi!
 

Képek iframe-ből light window-val

Nutec · 2009. Feb. 18. (Sze), 14.52
Sziasztok!

Egy olyan problémám lenne, hogy van egy iframem és a benne szereplő képeket light window képnézegető progival szeretném megjeleníteni.
Ez addig működik is, hogy klikk a képre, program megjelenik, kép megjelenik(bár a keret mérete miatt kisebb mint szeretném), de csak az iframe-en belül.
A hátteret elsötétítő hatás is értelem szerűen csak az iframe-et sötétíti el.

Meg lehet e csinálni úgy, hogy ha rákattintok a frame-en belüli képre, a program kint a parent oldalon fusson, ne csak a frame-en belül?
Találtam a program oldalán megoldásokat különböző szitukra, de kimondottan ilyen nem volt köztük.
Ha valaki járatos az ilyen light-box szerű progikban, vagy tudna valamilyen megoldást légyszi segítsen!

Előre is köszi!

Nu7ec
 

február 16

CSS font installálás "@font-face"-szel

leafface · 2009. Feb. 16. (H), 13.58
Sziasztok!

Tud valaki segíteni abban hogy ha CSS-ben "@font-face"-szel betűtípust akarok rakni a weboldalra, miért kapom vissza a hibakoznolban az alábbi üzenetet?

Warning: Unrecognised at-rule or error parsing at-rule '##kukac##font-face'.


Köszönettel,
Laci
 

Többértékű mezők elemkre bontása, feloldása.

s_volenszki · 2009. Feb. 16. (H), 10.51
Söprögetek még mindig a saját házam táján (http://weblabor.hu/forumok/temak/101074) és az elmúlt években szerzett tudás és tapasztalat alapján felfedeztem néhány jelentős hibát...

Elemeztem az adattábláimat és néhányban találtam egy két klasszikus fogyatékosságot így neki is álltam a többértékű mezők felbontásának, majd azok feloldásának.

El is jutottam egy egész egyszerű felépítéshez, azonban a lekérdezéssel megakadtam. Lehet, hogy nem a lekérdezés miatt nem jutok tovább, elképzelhető, hogy nem jól közelítem meg a kérdést!

Ha egy termékeket tartalmazó táblát feloldottam két táblára, úgy, hogy az egyik tábla tartalmazza a termékeket, a másik pedig a termék árakat (mivel lehet egy terméknek több különböző ára), akkor az elképzelésem szerint én olyan lekérdezést készítenék, ami lekérdez minden terméket a termék táblából, majd minden egyes termékhez megszerzi az árakat. előfordul, hogy egy terméknek csak 1-2 ára van, azonban van olyan is, amelyiknek 5.

Arra gondoltam, hogy készítek egy nézetet a két táblából ezen feltételek figyelembe vételével, és majd ebből szolgálom ki az adatigényt.

És itt jön a gondom! Amíg a termék és az ár egy táblában volt, addig a lekérdezés eredményében a termék és az árak egy rekordként jelentek meg, azaz mid a termék, mind az összes ár egy sorban volt. Igen, volt olyan, amikor egy terméknél a lekérdezés eredménye sok-sok üres mezőt tartalmazott.

Mit tegyek? Olyan lekérdezést erőltessek, aminek az eredménye egy olyan nézet tábla, mint amilyen az eredeti táblám volt, azaz minden ár egy sorban szerepel a termékkel, vagy létezik lekérdezési eljárásé, amivel olyan lekérdezést tudok csinálni, ahol a termék egy rekord lesz, de az ár mező mégis tartalmazza az összes termékhez fellelhető árat. Lehet, hogy badarság, de mintha a rekordban az ár mező tömb lenne.

Kérlek titeket mutassatok utat! Nem megoldást várok, csak tapasztalt sql programozók véleményét.
 

február 15

adatbázis válltozásainak naplózása

aspirany · 2009. Feb. 15. (V), 16.26
Sziasztok!

Irhattam volna a mysql topikba,de most a php felöl közelítem meg a dolgokat.

Adott egy log tábla ahová triggerből kerülnek be az adatok.

pl:
BEGIN
INSERT INTO /*trigger@tablename_log_insert*/  
        activity_log/*t*/  
    SET  
        bizonylat  = NEW.iktatoszam,  
        tablename  = 'szamla',  
        activity   = 'update',
        user = NEW.modosito,  
        /*creator_id = @CURRENT_USER,*/  
           
 log_msg = CONCAT_WS('","',"",NEW.eredeti,NEW.bizherk,NEW.szlabeerk,
 NEW.bizbeerk,NEW.megnev,NEW.szallito,NEW.szlaszam,NEW.szlevelszam,NEW.fizmod,
 NEW.szlakiallitas,NEW.szlateljesites,NEW.szlafizhat,NEW.statusz,NEW.jovairoszla,
 NEW.afa,NEW.netto,NEW.brutto,NEW.afaosszeg,NEW.utalosszeg,NEW.utalnap,NEW.megjegyzes,
 NEW.ell,NEW.utalhat,NEW.utalmegjegyz,"");  
END


ugyan ez a kód updatéra is.

gondoltam array_diffel megkeresem a válltozásokat de nem jőn össze.

A kód:
$result = mysqli_query($link,"SELECT log_msg FROM activity_log WHERE tablename = '".$form."' AND  bizonylat = 'abc/2009'");
$rows = mysqli_num_rows($result)-1;

$versions = array();
while($row = mysqli_fetch_assoc($result))
       {
$versions[] = $row;

  }
 
 // print_r($versions);


$z=0;

//$tomb = array($versions[0]['log_msg']);//ekkor nem okés
//$tomb1 = array($versions[1]['log_msg']);//ekkor nem okés

$tomb = array("a","I","LEVÉL","2009-02-13","a","1","UTALÁS","2009-02-12","2009-02-12","2009-02-27","0","2");
$tomb1 = array("a","N","LEVÉL","2009-02-13","a","1","UTALÁS","2009-02-12","2009-02-12","2009-02-27","0","2");

print_r($tomb);
print "<br>";
print_r($tomb1);


//echo $versions[$z+1]['log_msg'];
$diff = array_diff($tomb,$tomb1);

print_r($diff);


köszönöm a segítséget.Arra is nyitott vagyok ha ezt adatbázis szinten is meg lehet oldani.
 

DBA függvények használata

Dico · 2009. Feb. 15. (V), 14.06
Sziasztok!

Nagy gondban vagyok a dba függvényekkel. Próbáltam magamtól orvosolni a problémát, de sajnos nem megy. A gondom a következő:

A gépemre Windows XP op. rendszer alá az AppServer2.5.9-est telepítettem fel, hostnak localhostot adtam meg. (Továbbiakban próbálkoztam még Az EasyPHP-val és a WampServer-el is...) Végeredményben minden tökéletesen működik, csak ezeknél a fránya dba függvényeknél kapom az alábbi hibaüzenetet:
Warning: dba_open(./data/termekek.db,c) [function.dba-open]: Driver initialization failed for handler: db3: Permission denied in C:\AppServ\www\peldak\Hour 12\listing12.1.php on line 15

A dba_handlers() fgv. az alábbi elérhető adatbáziskezelőket adja vissza:

# cdb
# cdb_make
# db3
# inifile
# flatfile

php.ini-ben kivettem a megjegyzést a megfelelő sorok elől.
httpd.conf állományban szerintem minden rendben van.
pws-php5cgi.reg állomány tartalma így néz ki:
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map]
".php"="C:\\AppServ\\php5\\php.exe"

Szerintem ez is stimmt. Hozzá is adtam a regisztrációs adatbázishoz....

A google találatai szerint belefutottam egy bug-ba amit elvileg már javítottak...
Nos én le is töltöttem a php-debug-pack-5.2.5-Win32.zip állományt. Viszont a bibi, hogy itt minden kiterjesztés .pdb. És fogalmam sincs, hogy mit is csináljak velük... :-(

Vagy nem ez a baj? :-(

Jani