Hirdetés
Aktív témák
-
L3zl13
nagyúr
-
L3zl13
nagyúr
Az a kérdés, hogy a két tábla azonos szerkezetű-e, és te azt szeretnéd, hogy az eredmény olyan lenne, mintha a két lekérdezés redményét összemásolnád, vagy az egyik táblában a másik táblához (valamelyik oszlopához) tartozó kiegészítő adatok vannak, és te azt szeretnéf, hogy a lekérdezés futtatásakor az eredmény egy sorban tartalmazza a közös elemhez tartozó adatokat mindkét táblából?
Ha nem világos, nézz utánna a join és az union kifejezésnek, a példákból érteni fogod, melyik micsoda. -
L3zl13
nagyúr
válasz
[HUN]Tyson
#568
üzenetére
Nincs benne import gomb, de a tábla struktúranézet oldal alján van egy ''Szövegfájl tartalmának beszúrása a táblába'' link.
-
L3zl13
nagyúr
válasz
Cyberslider
#561
üzenetére
Sql fájlt nem szöveges fájl feltöltésénél kell, hanem az importnál.
Méret limitált, ezért ha a fájlod nagyobb, mint 2 MByte, akkor darabolnod kell.
Sima szövegszerkesztővel (notepad stb.) megnyitod és tetszőleges sornál ''elvágod''. (Kijelölöd a hátralevő részt, és kivágod egy másik fájlba.)
Hacsak nincs bekapcsolva a sortörés, akkor minden parancs egy sor. Ha be van, akkor meg figyelj, hogy a vágás két sql utasítás közé essen.
[Szerkesztve] -
L3zl13
nagyúr
válasz
Realradical
#555
üzenetére
mdf? Alcohol DVD image?

Szerintem kénytelen leszel keresni egy sql szervert, vagy telepíteni egyet. -
L3zl13
nagyúr
Jah, értelmezési segítségként:
A 3 sor kód batch script.
Értelem szerűen a 2. sor a lényeg, ami a %TIME%-ot szétszedi darabokra (a delims után felsorolt karaktereknél elvágva!) majd belerakja egy dt nevű változóba a megadott formátumban. (Jelen esetben elválasztó karekterek nélkül.) %%i az óra, %%j a perc, %%k a másodperc.
%DATE%-nél hasonlóképpen, csak ott :,[space] helyett .[space] a szükséges elválasztó karekter. -
L3zl13
nagyúr
válasz
Realradical
#526
üzenetére
A session_start() megvolt a mindkét php elején??
[Szerkesztve] -
L3zl13
nagyúr
válasz
Realradical
#523
üzenetére
A session_register függvényt nem szükséges használni már egy ideje (PHP 4.1 óta).
Helyette simán deklarálhatod a változót úgy, hogy értéket adsz neki a session superglobal tömbben.
Pl. $_SESSION['counter']=1;
Elérése pedig ugyanígy, a $_SESSION tömbön keresztül történik.
echo 'A számláló állása: '.$_SESSION['counter']; -
-
L3zl13
nagyúr
Minden megvalósítható az üzemeltetők segítségével.
Ingyen tárhelyen szvsz esélytelen.
A másik, hogy tényleg szükség van-e erre, hiszen biztonság szempontjából ez max az SQL inject ellen nyújt védelmet. Az oldalon belüli, szabályos lekérderéseket úgyis tudod szabályozni, hogy engedélyezed-e valakinek elküldeni, egy sima weboldal szintű felhasználókezeléssel.
Az SQL inject ellen meg úgyis lehet és kell is védekezni, tekintve, hogy a te esetedben még csak nem is read-only jogokról van szó. -
L3zl13
nagyúr
MySQL adminban be lehet állítani.
De a tárhelyszolgáltatók csak egy felhasználót szoktak létrehozni/tárhely. Éppen ezért szerintem a jogosultságállításra sincs lehetőség. De ha van-is rá lehetőség, egy felhasználónál minek?
Szóval, ha ilyet akarsz akkor ahhoz már biztos, hogy kell tőlük segítség. -
L3zl13
nagyúr
PH-n is submitol. Vagy arra gondolsz, hogy ne kelljen külön gombot nyomni?
Ahhoz a select boxnál be kell állítani az onChange eseményre a submit-ot. (vagy egy átirányítást, és GET-es értékátadást, mint itt a PH esetében)
Mellesleg nem gondoltál még olyanra, hogy esetleg megnézd az oldal forrását, és egy kis önszorgalommal kilogikázd saját magad?
Ez már régen nem PHP+MySQL kérdés...
[Szerkesztve] -
L3zl13
nagyúr
válasz
burgatshow
#69
üzenetére
A mysql_query-nél eredmÉny van a fetch-nél meg eredmEny.
És szerintem nem kell idézőjel... -
L3zl13
nagyúr
válasz
burgatshow
#67
üzenetére
Háát ebben már nem vagyok olyan biztos, de szerintem a 12. sorban sem kellenek idézőjelen a mysql_fetch_array függvényen belül. De semmiképpen sem lehet a két argumentum közös idézőjelben...
-
L3zl13
nagyúr
válasz
burgatshow
#64
üzenetére
mysql_query előtt miért van idézőjel a 8. sorban?
-
L3zl13
nagyúr
válasz
VladimirR
#49
üzenetére
Én nem mysql-es vagyok, de ha jól sejtem és a TEXT = CLOB, akkor valamelyik TEXT-et javaslom.
TEXT= Max 65kByte
LONGTEXT = Max 4GB.
Szerintem HTML formátumú cikknek is elég a 65kByte.
Ha akarod akár a képeket is tárolhatod az adatbázisban, de ennek nem sok értelmét látom.
[Szerkesztve] -
L3zl13
nagyúr
Ha az SQL stringre gondolsz akkor:
select tema.tema_id, cim, count(hozzaszolas_id) as hozzaszolas from tema left outer join hozzaszolas on tema.tema_id=hozzaszolas.tema_id group by tema.tema_id,cim
Az eleje gondolom egyértelmű, a lényeg, hogy ne *-ozz mert akkor nem nagyon tudsz count meg hasonló kifejezéseket használni.Ehelyett szépen felsorolod azokat az oszlopokat amire szükséged van.
A count(xyz) azt jelenti, hogy nem kiírja egyenként az xyz-ket, hanem csak megszámolja őket.
Pl ha az lenne a query, hogy ''select count(tema_id) from tema'' akkor csak egy számot kapnál eredménynek. Mégpedig a témák számát.
az 'as hozzászólás' azért van, hogy könnyebben lehessen hivatkozni a fügvény eredményeképp kapott mezőre kiíratáskor.
'from tema' gondolom egyértemű
left outer join - ezzel kapcsolod össze a két táblát, mégpedig olyan módon, hogy a baloldali tábla (left) minden eleme szerepel az eredményképpen kapott összesített táblában, míg a jobboldali táblából csak azok az elemek, amelyek az összekapcsolási feltételnek megfelelnek.
hozzaszolas - a másik tábla neve
on tema.tema_id=hozzaszolas.tema_id - Az összekapcsolási feltétel. Innen tudja, hogy a hozzaszolas táblábol melyik sor a tema tábla melyik sorához tartozik. (Ahol a tema_id -k megegyeznek.)
group by tema.tema_id,cim - csoportosítás tema_id és cím szerint. Ez azért kell, hogy a hozzászólások táblát a count-nál ne egybe vegye, hanem tema_id-nként számolja össze a hozzászólások számát.
Utolsó hozzászólóhoz szerintem külön lekérdezés kell. -
L3zl13
nagyúr
A teljes kódon nincs kedvem túlrágni magam mert elég bonyolult.
De próbálom elmondani:
Alaphelyzet:
$query_tema = ''SELECT * FROM tema''; volt a lekérdezés.
Eredményeképp kaptál egy kétoszlopos tömböt amit kiírattál egy kétoszlopos táblába, soronként ciklusból.
A fenti lekérdezés HELYETT:
$query_tema='select tema.tema_id, cim, count(hozzaszolas_id) as hozzaszolas from tema left outer join hozzaszolas on tema.tema_id=hozzaszolas.tema_id group by tema.tema_id,cim';
Eredménye egy 3 oszlopos tömb. Amit egy 3 oszlopos táblába íratsz ki ugyanúgy mint az alapverzióban.
Az első 2 oszlop változatlan kell hogy legyen, a 3. oszlop neve ''hozzaszolas''. És az adott témához tartozó hozzászólások számát tartalmazza.
Semmi más művelet nem szükséges az alaphelyzethez képest.
[Szerkesztve] -
L3zl13
nagyúr
Ezzel már mennie kéne:
$query_tema='select tema.tema_id, cim, count(hozzaszolas_id) as hozzaszolas from tema left outer join hozzaszolas on tema.tema_id=hozzaszolas.tema_id group by tema.tema_id,cim';
És ne kérdezd le külön a témákat meg a hozzászólások számát, ebben már mindkettő benne van!
Az eredményként kapott tábla első oszlopa az id, második a cim, harmadik a hozzászólások száma.
[Szerkesztve] -
L3zl13
nagyúr
Szerintem próbáld meg ezt:
$query_tema='select tema_id, cim, count(hozzaszolas_id) as hozzaszolas from tema left outer join hozzaszolas on tema.tema_id=hozzaszolas.tema_id group by tema_id,cim';
És a script végén a Do-while ciklusba beraksz még egy harmadik oszlopot a táblához, és egy ilyet:
<?php echo $row_tema['hozzaszolas'
; ?>
[Szerkesztve] -
L3zl13
nagyúr
$query_tema=''select tema_id,(select count(hozzaszolas_id) from hozzaszolas) as hozzaszolas, tema_cim from tema'';
Vagy
$query_tema=''select tema_id, count(hozzaszolas_id) as hozzaszolas, tema_cim from tema, hozzaszolas where tema.tema_id=hozzaszolas.tema_id group by tema_id,tema_cim'';
[Szerkesztve] -
L3zl13
nagyúr
Két lehetőség.
Egyik simán feltételezve, hogy minden előadóhoz tartozik szám és viszont.
Ekkor legegyszerűbb:
select szam_id,cim,hossz,eloado_nev,szul_ido from szam, eloado where szam.eloado_id=eloado.eloado_id order by AKÁRMI
Vagy az univerzálisabb megoldás joinnal:
select szam_id,cim,hossz,eloado_nev,szul_ido from szam full outer join eloado on szam.eloado_id=eloado.eloado_id order by AKÁRMI
full outer join = mindkét tábla minden mezeje szerepel az eredményben, akkor is, ha nincs a másik táblában hozzá tartozó érték
vagy használhatsz helyette inner join = csak azok az adatok amelyek mindkét táblában szerepelnek (mint az első verzió)
left join = bal oldali táblából minden jobb oldaliból csak azok amelyek a bal oldaliban is szerepelnek
right join = előzőnek az ellentéte
Aktív témák
- iPhone 17 Pro Max 256Gb Új bontatlan Garanciális Számlás(27%)
- iPhone 17 Pro 256Gb Új bontatlan Garanciális Számlás(27%)
- Xiaomi Redmi Note 14 Pro+ 8/256GB, Megkímélt, Kártyafüggetlen, Töltővel, Dobozzal, 1 Év Garanciával!
- Csere-Beszámítás! Macbook Air M1 8/256 Retina! Makulátlan! Akksi 96%!
- Apple iPhone 14 128GB, Akku: 98%, Megkímélt, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- GYÖNYÖRŰ iPhone 12 Mini 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3647
- Foligain Minoxidil 2 db flakon (2 havi adag)
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB DDR5 RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 15 Pro 128GB Blue Tianium -1 ÉV GARANCIA - Kártyafüggetlen, MS3909, 100% Akkumulátor
- PlayStation 4 Slim 1TB
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: Laptopműhely Bt.
Város: Budapest




; ?>


