arpsoft 12 Share Posted August 8, 2005 A register globals nem véletlenül van alapból kikapcsolva. Biztonsági rés! Éppen ezért nem szokták a szolgáltatók bekapcsolni. Erre ma már nem érdemes építeni egy php oldal tervezésénél. Link to comment Share on other sites More sharing options...
vtcorp 0 Share Posted August 23, 2005 Bocseszka de nem oldastam végig a témát (csak ez elejét) de az a problémám hogy nem tudom hogy kell a mysql telepítésénél a dolgokat beállítani Link to comment Share on other sites More sharing options...
google 0 Author Share Posted August 23, 2005 Muszáj külön telepíteni a MYSQL-t? Szerintem sokkal többre mész, ha pl. az Easyphp -val telepíted. Link to comment Share on other sites More sharing options...
apacs 0 Share Posted August 23, 2005 Szerintem is. Ha valamiért az Easyphp nem tetszene akkr pedig ajánlom az Appserv-et. Link to comment Share on other sites More sharing options...
google 0 Author Share Posted September 6, 2005 Azon tûnõdöm, hogy hogyan kérdezhetném le egy tábla tartalmát az azonosító szerint visszafelé, de úgy, hogy hátulról csak az ötödiktõl induljon el. Azaz az elsõ kiírandó rekord a 20-as legyen, a következõ a 19-es, 18-as, és így tovább (amennyiben ugye pl. 25 rekord van benne). Link to comment Share on other sites More sharing options...
atzs 0 Share Posted September 6, 2005 (edited) Accessben kipróbáltam, megy, tehát a kód: SELECT alap.alp_lelet_sorszám, alap.kontroll FROM alap WHERE alap.alp_lelet_sorszám<(SELECT MAX(alap.alp_lelet_sorszám) FROM alap)-100 ORDER BY alap.alp_lelet_sorszám DESC Edited September 6, 2005 by atzs Link to comment Share on other sites More sharing options...
google 0 Author Share Posted September 6, 2005 Ezt a max-ot nem ismertem , és teljesen logikusnak tûnik, mégsem megy, mert nem talál ennek megfelelõ bejegyzést, pedig van, az teljesen egyértelmû. Link to comment Share on other sites More sharing options...
atzs 0 Share Posted September 6, 2005 Egyrészt van néhány összegzõfüggvény: COUNT, MAX, MIN, SUM, AVG Azt érdemes róluk tudni, hogy egy SELECT utasításben nem lehet oszlopnévvel keverni õket, pl. SELECT tabla.mezo1, max(tabla.mezo2) garantáltan hibát ad. Másrészt lehet használni beágyazott lekérdezéseket, mint ahogy a WHERE után tettem. Ezeket zárójelbe kell tenni, ha minden igaz. Link to comment Share on other sites More sharing options...
google 0 Author Share Posted September 6, 2005 Köszönöm a segítséget, de sajnos nem értem, miért nem megy. Itt a kódom: $query2 = "SELECT * FROM hirek WHERE<(SELECT MAX(azon) FROM hirek)-4 ORDER BY azon DESC"; $result2 = mysql_query($query2,$kapcsolat); Erre semmit nem listáz ki, mintha nem volna max(azon)-4 - ami egyébként jelen pillanatban 2. Link to comment Share on other sites More sharing options...
Athos 0 Share Posted September 6, 2005 @google SELECT * FROM hirek WHERE ???<(SELECT MAX(azon) FROM hirek)-4 ORDER BY azon DESC Mihez hasonlítod a beágyazott SELECT által visszaadott értéket? A kérdõjelek helyére kell valami. Gondolok a HIREK tábla AZON mezõje. @atzs A példádnál maradva. Akkor lehetséges, ha GROUP BY-t alkalmazol a tabla.mezo1-re. Link to comment Share on other sites More sharing options...
google 0 Author Share Posted September 6, 2005 ... Már megint baromi figyelmetlen vagyok. Ezen sürgõsen változtatnom kell. Köszönöm Athos, úgy látszik, szólni kell, ha már magától nem szúrja ki a szememet. Link to comment Share on other sites More sharing options...
atzs 0 Share Posted September 6, 2005 @athos De akkor már mást csinál. Nem annyi sort ad vissza, ahány sora a táblának van, hanem ahány különbözõ értéke mezo1-nek, és mezo1 minden értékére külön-külön kiszámítja a hozzájuk tartozó mezo2-k maximumát. SELECT alap.kontroll, max(alap.alp_lelet_sorszám) AS maximumka FROM alap GROUP BY alap.kontroll Ajánlom figyelembe az AS szócskát, amellyel aliasnevet lehet adni az oszlopnak. Ilyenkor e nélkül a gép saját maga nevezi el. Az elõzõ példámtól viszont azt várná az ember, hogy az elsõ oszlopba szépen kiírogatja mezo1 értékeit egyesével, a második oszlopban pedig minden sorba kiírja a mezo2 oszlop legnagyobb értékét. Na ez az, amit így nem lehet. (Csak azok kedvéért írtam le, akiknek ez még újdonság. Athos nyilván nem tartozik közéjük. ) Link to comment Share on other sites More sharing options...
arpsoft 12 Share Posted September 6, 2005 Sokat jelenthet nagy táblák esetén, ha elõször megkeresed a max értéket egy lekérdezéssel: select max(id) from éntáblám Majd ezt felhasználva hívod meg a tényleges lekérdezést: select * from éntáblám where id<sql_eredmény-5 order by id desc Ennek az az elõnye az összetett lekérdezéssel szemben, hogy a belsõ lekérdezés nem fut le minden egyes rekordra. Link to comment Share on other sites More sharing options...
Athos 0 Share Posted September 6, 2005 @atzs Igaz, de én arra írtam, hogy lehet használni több oszlop esetében is mondjuk a MAX függvényt. Egyébként ismerem az AS-t. @arpsoft Ha belsõ SELECT-tel csinálnám, akkor esetleg az adatbáziskezelõ nem optimalizálna, hogy csak egyszer értékeli ki? Szerintem elemezhetõ, hogy minden egyes esetben ugyanazzal térne vissza, de ebben nem vagyok biztos. Tény, a javaslatod tutira gyorsabb. Link to comment Share on other sites More sharing options...
Kovács Dávid ( Davs ) 0 Share Posted September 30, 2005 Hy! Én egy query-t akarok csinálni, ahol több feltétel van. Tehát select * from x where itt hogyan kell elválasztani a feltételeket? Vesszõvel? Ja, és ez csak egy megjegyzés. Új designot csinálok a weboldalamnak, a hírlevelet is átdolgozom, teljesen automatizáslom. Ha valaki le akar jelentkezni, akkor kell a neve, jelszava, mail címe. Ha csak 1 sor lesz az eredmény, akkor helyes, amit írt nem? Tehát akkor egy rekordban van a megadott név, jelszó, cím? Link to comment Share on other sites More sharing options...
google 0 Author Share Posted September 30, 2005 A feltételeket az AND-del kötheted össze: SELECT WHERE sor = 'valami' AND sor = 'másvalami' Ha 1 sor az eredmény, az miért igazolja, hogy helyes? Ezt a megjegyzésedet nem értem. Link to comment Share on other sites More sharing options...
Kovács Dávid ( Davs ) 0 Share Posted September 30, 2005 $nev=$postnev $email=postemail $jelszo=jelszo #Ezek nem így vannak, az összes szabályosan van postolva $query=mysql_query("select * from tabla where nev='$nev' AND email='$email' AND jelszo='$jelszo') ; if(mysql_num_rows($query)="1"){ print "helyes" ; } Tehát ha az általa beírt adatok mind egy sorban vannak, akkor gondolom övé a mail cím, és tényleg õ akar lejelentkezni. Link to comment Share on other sites More sharing options...
arpsoft 12 Share Posted October 1, 2005 A feltételeket logikai operátorokkal kell összekapcsolni, azaz: ... WHERE (feltétel1 AND feltétel2) OR feltétel3 Ez kiszûri azokat a rekordokat, ahol VAGY EGYSZERRE teljesül a feltétel1 ÉS a feltétel2, VAGY a feltétel3 teljesül, VAGY mindkettõ egyszerre. Link to comment Share on other sites More sharing options...
google 0 Author Share Posted October 4, 2005 Karakterkódolási probléma: A szerveren fent levõ MYSQL-ben a bekerülõ szövegek ékezetei helyett ?-ek jelennek meg. Mi a probléma? A weboldalon ISO-8859-2 a karakterkészlet, a phpMyAdminban Hungarian kódolást adtam meg. Még egy ehhez kapcsolódó: milyen kódolásban érdemes szövegfájlba menteni az adatbázist? Legutóbb ISO-8859-2-ben próbáltam, de az õ betûbõl o~ lett, és így tovább. Link to comment Share on other sites More sharing options...
Mezofi 0 Share Posted October 4, 2005 Az én adatbázisomban a cellát latin2_hungarian-nal adom meg. Én is a lapon a ISO-8859-2-t használom. Nálam az adatbázisban az õ betû & # 3 3 7 ; ként jelenik meg. De mikor vissza íródik a képernyõre semmi baja, újra õ betû. Link to comment Share on other sites More sharing options...
google 0 Author Share Posted October 4, 2005 Karakterkódolás megoldva! Nem értem miért, de nekem UTF-8 generalban jó teljesen. Link to comment Share on other sites More sharing options...
Kovács Gyula (MiniDisk) 0 Share Posted October 4, 2005 ez tényleg érdekes. Pedig más esetben pont ott nem szokott jó lenni. De a lényeg, hogy hibátlanul megy. Link to comment Share on other sites More sharing options...
google 0 Author Share Posted October 24, 2005 Van egy táblám, amiben van sok rekord. Mindegyikhez tartozik egy kategória, sokhoz ugyanaz. Én ezeket a kategóriákat szeretném összegyûjteni és kiíratni de úgy, hogy mindegyik csak egyszer szerepeljen. Link to comment Share on other sites More sharing options...
Mezofi 0 Share Posted October 24, 2005 DISTINCT mysql_query("SELECT DISTINCT(oszlop név) FROM tábla név"); Link to comment Share on other sites More sharing options...
google 0 Author Share Posted October 24, 2005 Há, tényleg! Csak átfutottam néhány ilyen utasítást, és ez pont nem volt köztük. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now