Aktív témák
-
zeix
senior tag
Helló!
A segíségeteket szeretném kérni van egy szép részletes űrlapom 220db változóval
(ezekre mind szükségem van) ebből kb. 100db 3 karakter hosszúságú.
Ezeket az értékeket szeretném minnél egyszerűbben adatbázisban tárolni.
Most is megvan a tárolási rendszer, de biztosan ennél egyszerűbben is meglehet oldani.
Jelenleg 220 soros az adott űrlaphoz tartozó tartalom.
Valami olyasmire gondoltam, hogy az egész űrlap tartalmát 1 nagy text típusú mezőben tárolnám és a saját ID-jéről keresnék rá és listáznám ki.
Előre is köszi. -
meone
tag
válasz
Mr-Pamacs #1294 üzenetére
Sziasztok teszteltem mind a két féle SQL-es paracsot és mind a 2-re hibát dobott ki.
Az elsőnél a hiba a következő:
UPDATE `nevelde` SET 'kaja' = 'kaja' +10;
Az SQL ben a következő hiba üzenetet kapom: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''kaja'='kaja'+10' at line 1
A 2.-at is kipróbáltam hátha azzal sikerülni fog de azzal se ment.
2. :UPDATE `nevelde` SET( 'kaja' ) VALUES ('kaja' = 'kaja' +10) ;
Hiba üzenet a következő:#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('kaja') VALUES ('kaja'='kaja'+10)' at line 1
Amúgy azért nincsen bennük WHERE feltétel mert minden egyes rekordra teljesülnie kell a parancsnak kivétel nélkül.
Bocsi hogy enyit értetlenkedek -
Mr-Pamacs
senior tag
válasz
DeltaPower #1293 üzenetére
Én ugy tudom lehet így is ahogy írtam.
-
DeltaPower
addikt
válasz
Mr-Pamacs #1292 üzenetére
a második nem jó mert az az INSERT szintaxisa. szerintem az egyes mezők idézőjelezése sem kell, bár ízlés dolga.
amúgy pont erre találták ki a triggereket, sajnos csak mysql 5-től kezdve használhatók, a korábbi verziókban nincs implementálva. bővebb infó triggerekről itt: [link]
[Szerkesztve] -
Mr-Pamacs
senior tag
Legegyszerűbb megoldás
HA jól értelemezem:
Első:
mysql_query(''UPDATE $tablanev SET 'kaja'='kaja'+10,'kedv'='kedv+10', WHERE feltétel'');
vagy:
mysql_query(''UPDATE $tablanev SET ('kaja',kedv',...) VALUES ('ertek1','ertek2',pl:'kaja'+10,...) WHERE feltétel'');
Második:
Lekéred a result[0] értékét, majd megvizsgálod hogy ha hozzáadsz x-et akkor még megfelel-e, ha igen végrehajtod a hozzáadást ha nem akkor a maxra állítod az értékét a metőnek mivel nem lehet több.
Szerk: a parancsok nem biztos h jók mert csak gyorsan írtam.
[Szerkesztve] -
meone
tag
Sziasztok a barátaim meg kértek hogy csináljak egy neveldét.
Már valamennyire meg alkottam rá a profil tábláját ahol az adott lény lesz vagy is az adatai pl.: kaja, kedv, tisztaság... stb .
Ezeket az értékeket szeretném csökkenteni egy bizonyos ponttal pl.: 10egység minden egyes rekordon nem csak egyet. Ebhez nincsen semmi ötletem hogy még is milyen update-ot kéne lefuttatnom.
A másik amihez legalább van valami kis ötletem hogy az adott user látja hogy a lényének csökkentek az értéke is és ezt vissza akarja tölteni itt egy példa.: $noveles = ''UPDATE adat SET smiley = ''' . $result[0] + 1 . ''' WHERE user = '$nev'
Csak ebben meg azt nem tudom hogy hogy lehet azt meg csinálni hogy csak egy bizonyos pontig lehessen fel tölteni. Értem ez alatt azt hogy pl max 10 egység lehet valami és a feltöltéssel 11 lenne az érték, és ne lehessen az adott pontot túl tölteni csak a max értékig.
Meg próbálta valamennyire értelmesen össze foglalni a problémáimat és le írni remélem sikerül, ha még sem szóljatok és meg próbálom elmagyarázni részletesebben.
Köszi előre is. -
föccer
nagyúr
Úgy néz kia a dolog, hogy a szövegszerkeztő is tud utf-8 kódolásban menteni
Viszont, ha feltöltöm, akkor hihetetlen tréé a megjeleníráés. Gyakorlatila az angol ábc betüin kívűl minden szimbólumokként jelenik meg...
Az adatbázisba utf 8 van beállítva, a másik kettőt még csekkolom.
na,a fene egye meg. NAgynehezen csak megszületett....
Aszt hittem már sosem lesz jó, de ez a vakvezetés(mi mindent kell beállítani) egész jól bejött .)
köccenet, lehet még jelentkezem.
üdv.: föccer
[Szerkesztve] -
cucka
addikt
a kis függvény semmi mást nem csinál, csak megkímél attól, h minden lekérdezésnél oda kelljen rakni a set name-es cuccot, meg a hibakeresést.
mysql_connect után elég egyszer lefuttatni azt a set names részt, fölösleges terhelés minden egyes query előtt.
(#1286) föccer a jegyzettömb nem tud utf8-ba menteni (meg igazából semmilyen mód nincs rá, hogy beállítsd a karakterkészletet), használj olyan szövegszerkesztőt, amelyik tartalmaz ilyen funkciókat.
karakter-kódolásos kavarodás elkerüléséhez a következőket csekkold le
- a html lap meta részében beállítottad a kódolást utf8-ra
- a html lap tartalma utf8 kódolású
- php-ban set names futtatása connect után
- adatbázisban a táblák utf8-as kódolásúak
ha ez mind megvan, akkor működnie kell
[Szerkesztve] -
föccer
nagyúr
Szerkeztőm: jegyzettömb
Itt nem nagyon lehet ilyesmit állítani
Kivettem a metát. Itt [link] bökj rá a listázásra, és az eredményen láthatod, hogy csak az adatbázisból lekérdezett szövegekkel van a baj.
Namost: Miden text tipusú mező egyeztetése utf8-ra va állítva. Elvilegjónak kellene lennie nem?Lehet hogy eldobom az egész adatbázist, és felépítem újra. nem nagy az egész....
-
FTeR
addikt
ha a metára elkavarodnak a betűk, akkor a dokumentum nem abban a formátumban van. a szerkesztődben is állítsd be a karakter kódolást.
vedd ki a metát, állítsd a böngit automatára és nézd meg melyik kódolásba teszi. ez nem feltétlen fedi a valóságot, mert ilyenkor megpróbálja a felhasznált karakterekből kitalálni, de többnyire jól eltalálja.
a kis függvény semmi mást nem csinál, csak megkímél attól, h minden lekérdezésnél oda kelljen rakni a set name-es cuccot, meg a hibakeresést.
ha minden cucc kódolása passzol, akkor nincs szűkség a set name-re.
megpróbálhatod a mezőket is egyenként konvertálni lekérdezésnél:
[link]
de sztem ez fölösleges túlbonyolítás. -
föccer
nagyúr
Részben kipróbáltam_
Betettem a x.php fájl elejére:
<meta http-equiv=''Content-Type'' content=''text/html; charset=utf8''/>
<?php
...
Ennek következtében még a nem adatbázisból kiíratott szövegek is elvesztették az ékezetes karaktereket.
Az elejét meg nem is teljesen értem :f
Én íyg csinálom a lekérdezést:
$eredmeny = mysql_query($sql, $sql_csatlakozas) or
die (print(''Nem sikerült a műveletet végrehajtani. A hiba oka: ''.mysql_error()));
$sql -be elötte beíratom a (mindig változó) lekérdezés kódját, míg az $sql_csatlakozas tartalmazza a csatlakozáshoz szükséges infókat (
if(!$sql_csatlakozas = @mysql_connect(''uj-biologia.extra.sql'', ''uj-biologia'', ''*******''))
die (print ''A csatlakozás során valamilyen hiba lépett fel.'');
A kettő között még van egy mysql_select_db(''uj-biologia'', $sql_csatlakozas); sor.
Hová kellene nekem benyomni azt a sort, hogy: mysql_query(''SET NAMES'utf8'''); ???
És a minden lekérdezés elött? Hiszen a fenti setames is egy lekérdezésben van benne nem?
Most elégg elvesztettem a fonalat
Köccenet a segítségértHa nagy leszek, meghálálom
-
FTeR
addikt
ha nem jön össze a csillagok együttállása, akkor így erőltetheted:
function query($sql){
mysql_query(''SET NAMES 'latin2'''); //vagy 'utf8'
$result = mysql_query($sql) or die(''<br />Lekérdezés eredménytelen: ''.mysql_error());
return $result;
}
vagy
SET CHARACTER_SET utf8;
szal minden lekérdezés előtt el kell neki küldeni, h milyen kódolást szeretnél.
plusz, html-ben is ugyanaz legyen a karakterkészlet.
<meta http-equiv=''Content-Type'' content=''text/html; charset=iso-8859-2'' /> <!-- // vagy utf8 --> -
föccer
nagyúr
Na, mostmár nem sok problémám van
Az adatbázisból átemelt infókál bizonyos karakterek nem jelennek meg. Kiderítettem, hogy ez azért van, mert rossz karakterkódolást használok, valamit a kapcsolat forán nem állítom be az adatátvitel karakterkészletét.
Eredetileg Latin_2 ben építettem az adatbázist. Az összes text mezőt átállítottam UTF-8_Uicod-ci re, valamint az adatbáziskezelőben megadtam, hogy a MySQL karakterkészlet: UTF-8 Unicode (utf8) legyen, valamint a MySQL kapcsolat egyeztetés:utf-8_unicode_ci legyen.
Tehát serves oldalról mindennek rendben kell lennie.
Azt is kiderítettem, hogy a php-be, ahol a lekérdezések vannak el kell küldenem a mysql szervernek a beállításokat végző lekérdezéseket. (SET NAME ??)
Azt szeretném kérdezni, hogy ez miként működik, valamit milyen kód tartozik hozzá
Hálás köszönet.
üdv.: föccer -
FTeR
addikt
most látom, h sql-el kezdesz. sokkal normálisabb dátumkezelése van, mint php-nak.
where (AKTIVALVA > subdate(now(),interval 1 year) )
vagy subdate() helyett lehet date_sub()
btw, inkább a fügvényeket és a key wordöket szokták nagybetűvel írni és a többit kicsivel.
szerk: ha a mezőben php féle unix time stampet-et használsz és nem date vagy datetime típusú mezőt, akkor kell még FROM_UNIXTIME(), ami gyak a php date() megfelelője.
[Szerkesztve] -
tkazmer
addikt
válasz
YODA mester #1272 üzenetére
régebben tettél már fel apache-ot? ha igen, érdemes megnlzned a szolgáltatásoknál, hogy fut e. ha igen, lődd ki, és menni fog az új.
-
vipisti
tag
válasz
YODA mester #1272 üzenetére
Nincs fenn régebbi Apache (netán IIS)? Egyébként fejlesztői környezetben nem muszáj a 80-as portot használni. A xampp/apache/conf/httpd.conf fájlban keress rá a Listen 80 direktívára, és írd át pl. 81-re. Újraindítod az Apache-ot a Xampp Control Panelről, és a http://127.0.0.1:81 cím működni fog.
-
föccer
nagyúr
Üdv.
Adott egy adatbázis, melynek egyik eleme egy dátum (aktiválás ideje). Az lenne a kérdésem, hogy hogya lehet egyszerűen (mysql lekérdezésben) megoldani azt, hogy csak az éppen aktív tagoka adatait kérjem le, ha a tagság ideje az aktiválást követő 1 év.
Eddig jutottam:
if ($_POST[keresett_szoveg] == '''')
{$sql = ''select ID, NEV, TELEPULES, FOGYASZTJA, SIKER from distributorok order by ''.$_rendezes.'';'';}
else {$sql = ''select ID, NEV, TELEPULES, FOGYASZTJA, SIKER from distributorok where ''.$_kereses.'' = '''.$_POST[keresett_szoveg].''' order by ''.$_rendezes.'';'';}
Ha nincs keresett szövegbe beírva semmi, akkor az összes elemet kikeresem, míg ha van, akkor az annak megfelelő elemeket. Mindkét ágaba be kellene tenem azt, hogy csak a tagok kerüljeek kiiratásra. Gondolom a where (AKTIVALVA > (jelenlegi dátum-1év)) lenne a jó megoldás, de ezt hogyan csinálom meg?
Köszönöm a segítséget
üdv.: föccer -
Benmartin
senior tag
válasz
YODA mester #1272 üzenetére
ha van fent skype, akkor lődd ki.
-
YODA mester
senior tag
Hi all. Felraktam a XAMPP 6.3a-t, de nem akar elindulni az Apache. Azt mondja, hogy a 80-as port használatban van, meg hogy ''no listening sockets''... HELP..!
-
Briganti
tag
pliizz segitsetek meg valami jo linkekkel ami a php osztalyokrol, obiektumokrol szol, a googli -n nem sok hasznalhatot talaltam, ha tudtok valami jot, pliiz segitsetek rajtam, vagy ha gepen van valami jo, akkor a briganti_cs@yahoo.com -ra kuldhetitek, koszi!
-
cucka
addikt
nem túl érthető, hogy mi a túrót akarsz. érdemi segítséghez ne a html-es űrlapodat meg a mysql_connect-eded pakold ide, hanem próbálj értelmesebben fogalmazni.
egyébként szerintem ott akadtál el, hogy
a) nem tudtál felépíteni egy normális fát az adatbázisban.
b) nem tudod bejárni a fát.
a)-hoz: van a személy táblában egy személyed (vagyis 1 sor a táblából), neki van egy apa_id-ja meg egy anya_id-ja, ami szintén ugyanennek a személy táblának 1-1 sorára mutatnak, oszt kb. ennyi.
b) rekurzívan szépen bejárod a fát. -
cooom
csendes tag
hello
olyam problémám lenne hogy 1 oldalt készitek és megakadtam...
a problémám a következő:
egy családfa generátor... mármegvan minden de, csak személy, anyja, apaja nevét keljen megadni és a mamákat ugy keresi elo hogy hogy bemegy az apa sorába és kiija az apa szuleit és kész sokat agyaltam rajta de egyenlo re nem sikerult ameddig eljutottam a következő:
<?PHP
##############################
$_MYSQL['HOST'= ''localhost'';
$_MYSQL['USER'= '''';
$_MYSQL['PASSWORD'= '''';
$_MYSQL['DB'= ''csaladfa'';
$_CONF['TABLA'= ''fa'';
$_CONF['MEZO'= ''nev'';
##############################
mysql_connect( $_MYSQL['HOST', $_MYSQL['USER'
, $_MYSQL['PASSWORD'
);
mysql_select_db( $_MYSQL['DB');
if(!IsSet($_REQUEST['search_text') || empty($_REQUEST['search_text'
)) {
print'
<form method=''GET'' action=''search2.php''>
<input type=''text'' name=''search_text'' size=''25''>
<input type=''Submit'' value=''Keresés''>
</form>';
} else {
$search_text = mysql_escape_string($_REQUEST['search_text');
$eredmeny = mysql_query(''SELECT * FROM ''.$_CONF['TABLA'.'' WHERE ''.$_CONF['MEZO'
.'' LIKE '%$search_text%''');
while($sor = mysql_fetch_object($eredmeny))
{
$nev = $sor->nev;
$anya = $sor->anya;
$apa = $sor->apa;
echo ''<center>Név:''.$nev.'' <br>|<br>|<br>Anya:''.$anya.'' Apa:''.$apa.''</center>'';
}
}
?>
Elöre is köszönöm ha segitvalaki!
-
föccer
nagyúr
Köccke.
A 2. megoldás valamivel jobban tetszik (egyszerübb)
Az a csúnyaságot meg tessék gyorsan elfelejteni -
cucka
addikt
ha hiba van a query-vel akkor ugye azt a mysql_query visszatérési értéke jelzi. (az az ''or die'' rész pont erre van).
ha azt akarod tudni, hogy hány sort ''talált'' a query, de nem akarsz lekérni egyet sem, akkor mysql_num_rows (vagy mysql_affected_rows, nézd meg a manualt, hogy mi a különbség köztük.)
másik megoldás, hogy ugye a mysql_fetch függvények false-al térnek vissza, ha nincs több sor, ha amúgy is lekérnéd az eredményeket, akkor ezt is használhatod.
mod: és erősen ellenjavallott beírni ide a fórumba az extrás jelszavadat
[Szerkesztve] -
Benmartin
senior tag
<?php
$datum = date(''Ymd'');
print $datum . ''<br/>''; //20070821
$pluszev = time() + (366 * 24 * 60 * 60);
$egyevmulva = date(''Ymd'',$pluszev);
print $egyevmulva . ''<br/>''; //20080821
$ujevig = date(''z'');
print 365-$ujevig;
?>
remélem így mostmár érthető és menni fog.
[Szerkesztve] -
alitak
senior tag
válasz
Benmartin #1257 üzenetére
Ez kéne nekem:
Van egy dátum (date). Ezt visszakapva kéne a dátum + 1 év, valamint, hogy addig hány nap van még hátra. Próbáltam úgyis, hogy nem szám karakter nélkül kapjam vissza a dátumot adatbázisból (date_format(nKiadva,'%Y%m%d')), meg úgy is, hogy kivágom a nem kívánatos karaktereket. Utána már ez nem ment: $lejar += 10000
Az előbb off-ban küldött részletnek ez volt a dolga:
a mai dátumból kivonta az adatbázisból kapott érték csíkmentes értékét. Akkor működött. Most nem. Ezt nem értem. -
Benmartin
senior tag
itt valami félreértés lesz.
tehát, ha van egy időpontstringed, ami nem csak számokat tartalmaz pl.: van -,. akármi más, akkor matematikai műveleteknél egyértelmű, hogy nem várt hatása lehet.
mintha ilyen műveletet akarnál elvégezni (nem voltam egyértelmű én sem, így lehet mat. műveleteket is végezni, de ki tud már eligazodni ezen, hogy akkor annak éppen mi a típusa.):
$var1 = ''23-'';
$var2 = ''.12'';
print $var1 + $var2;
amit írtál kódrészlet azért működhetett, mert substr-el le volt csapkodva a nemkívánatos egyéb karakterek és pusztán számokkal dolgoztál.
szerk: igen visszaolvasva látom, hogy írtad, hogy csak szám van benne, bocsi.
[Szerkesztve] -
-
Benmartin
senior tag
''Úgy tudtam, hogy a php átalakítja a formátumokat az optimálisra, vagyis arra, ami kell.''
Oké, hogy a php egy nem típusos nyelv, de nem várhatod el tőle, hogy egy string-el matematikai műveleteket végezzen, a date fv. pedig egy időpontstringel tér vissza. Ahhoz, hogy plusz egy évet hozzáadj használatba kell venni a date() fv második paraméterét, ami egy időbélyeget vár, az időbélyeget pedig a time fv-vel tudod előállítani. -
alitak
senior tag
válasz
Benmartin #1251 üzenetére
Próbáltam úgy is, hogy simán lekérem a dátumot mysql-ből, majd a kötőjeleket kivágva dolgozom vele.
Ez a művelet simán működik:
date(''Ymd''))-(substr($sor[''tUtolsod''],0,4) . substr($sor[''tUtolsod''],5,2) . substr($sor[''tUtolsod''],8,2)
ahol a tUtolsod formátuma date.
Most arra lenne szükségem, hogy a visszakapott dátumhoz hozzáadjon egy évet, valamint hogy a kapott dátumig mennyi nap van még hátra. Minden ki van már találva, csak nem tudok dolgozni az értékkel.
Úgy tudtam, hogy a php átalakítja a formátumokat az optimálisra, vagyis arra, ami kell.
mod: smile...
[Szerkesztve] -
alitak
senior tag
Mysql-ből egy date típusú mezőből kérek be adatot ezzel: date_format(nKiadva,'%Y%m%d')
Kapok egy stringet, amiben csak szám van. Ezzel mért nem tudok dolgozni? (mat. műveleteket végezni) -
vipisti
tag
válasz
YODA mester #1244 üzenetére
Ha már Windows, akkor XAMPP: [link]
Mindent feltesz, mindent beállít, csak az apache/bin/php.ini-t meg az apache konfigot kell igényeid szerint szerkeszteni (meg nyilván a mysql, phpmyadmin jogosultságokat).
[Szerkesztve] -
BuCs
csendes tag
Sziasztok!
Tudom nem egy üzleti topic de itt legalább járnak hozzáértők!
Hasonló oldalt kén készíteni mint ez [link] mert amit kéne csinálni az is ezzel fog foglalkozni, nem lekoppintani kell, és ellopni... nem kell online shop, csak egy sima fehérnemű bemutatós oldal, kis adminnal ahol egy nő is könnyedén veheti fel a termékeket.
Mind ezért 15.000Ft a jutalom, nem sok pénz ha azt nézzük 500 000-ért is van oldal de ha azt hogy ingyen is vannak már kész portálok akkor nem is rossz, egy ügyes kezű ember megcsinálja 1 nap alatt.. akit érdekel az keressen meg a bucs@hwt.hu MSN-en. Köszönöm előre is.
[Szerkesztve] -
Akcept
tag
válasz
YODA mester #1244 üzenetére
Tedd fel az AppServ programot. Az internetre hosszú távon nem tenném ki (gondolom lehet), de egy intranetre, vagy fejlesztéshez jó. Semmi faxni, mindent felrak maga.
-
tbs
addikt
válasz
YODA mester #1244 üzenetére
A php-s dll megvan..? Eléri a php..? Ha bizonytalan vagy, akkor a win/sys32-be hajigáld be a php dll-jeit. Ha akkor sem megy, akkor passz, de a logokat érdemes átnézni, hátha. WAMP-ben nem nagyon vagyok otthon.
-
tbs
addikt
válasz
YODA mester #1242 üzenetére
Fut a mysqld szervizként..? Mysql konzol tud csatlakozni?
-
YODA mester
senior tag
Hi all. Nagyon kéne help. Behalt a céges webszerver ezért a fejlesztői desktopra kéne felhányni Joomlához egy webszervert. Feltoltam windows alá egy 2.2.4-es Apache-ot és PHP 5.2.3-at és egy 4.1.22-es MySQL-t. Az a baj, hogy valami miatt nincs sql támogatás még mindig. Pedig követtem az utasításokat, hogy mit kell átírni a php.ini-ben. HELP
-
Lacir
csendes tag
Sziasztok!
Egy PHP progiban egy MySql lekérdezés eredményét kellene exportálni, hogy az excel meg tudja nyitni további feldolgozás céljából. A phpMyAdmin exportálja nekem az egész adatbázist, de nekem csak a lekérdezés eredménye kéne. Hogy lehet ezt megoldani? -
cucka
addikt
stringeknél a '' annyival több, mint a ', hogy
- behelyettesíti a változókat és az objektum adattagokat
- behelyettesíti a tömb elemekre való hivatkozásokat, ha azok { } között vannak megadva
- behelyettesíti a speciális karaktereket (pl. újsor \n vagy tabulátor \t )
- ha nem kell semmit behelyettesíteni, akkor nem okoz lassulást a használata mérések szerint a ' '-vel megadott string-ekhez képest. (ez furcsa, de volt valami teszt a neten és ott ez jött ki)
[Szerkesztve] -
SEK3
tag
nah, hát próbálok törekedni a legjobbra, mondom próbálok.
szóval hm, ezt csak azért mutattam, mert a célja az volt, hogy demonstrálja: működik az insert az extrán, jah és azok a dátumátalakítások?nos, nem a leg egyszerűbb, de már nem is tudom miért az volt a legegyszerűbb - de bevallom ezekkel a '' '-kel még nem vagyok tisztában - és köszi a date() tippet, én erről miértnem tudtam
Van aki stabil alapokra épít, lassan szép házat, én gyorsan összedobom fogpiszkálóból, s ha kész, elkezdem átépíteni masszívra...tudom nem így kel, dehát... -
cucka
addikt
kiváncsiságból megnéztem a kódot, két építő jellegű észrevétel:
- a 10 soros dátumos szórakozás helyett nézd meg a date() függvényt, azzal 1 sorban megkapod azt, amivel itt fél oldalon keresztül küzdesz.
- ha már '' '' közé rakod a string-eket, akkor használd ki, hogy ezekbe a php automatikusan behelyettesíti a változók értékeit. például
''szoveg '' . $valtozo . '' szoveg'' helyett írhatsz
''szoveg $valtozo szoveg'' -et, amit jóval egyszerűbb elolvasni és szebb is, mint a sorminta string összefűzésekből.
mod: és a tömbös kérdésedre a válasz: törekedj arra, hogy a kapott sorokat mysql-ben szűrd le, mert az lényegesen gyorsabb (főleg ha indexelt oszlop szerint szűrsz, mert azt megcsinálja ~logaritmikus időben) és a kevés sort tartalmazó szűrt eredményt dobd át a php-nek. ez jobb, mint hogy rengeteg adatot átküldj a db kapcsolaton keresztül a programodnak, ami előbb mindnek memóriát kell foglaljon, aztán pedig futtatsz rajta egy lineáris keresést és végeredményben az adatok többségét kidobod a kukába.
[Szerkesztve] -
SEK3
tag
válasz
DeltaPower #1233 üzenetére
aham, már megtaláltam amit kerestem a hu2.php.net-en a ....seek függvény az én függvényem.......huh, talán nem tömböt kellett volna írnom, hanem táblát a fene
-
DeltaPower
addikt
tömbkezelő függvényekkel próbálkozz... de inkább úgy kell megírni a lekérdezést, hogy a megfelelő eredménysort kapd meg. inkább a mysql dolgozzon a kiválasztással, azt arra találták ki.
akár több lekérdezést is futtathatsz, az egyik a számodra lényeges sort adja vissza, a másik a feltételnek megfelelő összes sort. gyorsabb és egyszerűbb, mintha a php-ben tömbökkel vagy hasonlókkal oldanád meg. -
SEK3
tag
...tudnátok ajánlani valamit??
Naszóval van egy tömböm sorokkal, meg oszlopokkal, amiből egy feltétel szerint kiválasztok sorokat - nekem egy olyan függvény kéne, ami az eredményhalmaz egy meghatározott sorát adja vissza. -
raczger
őstag
hy all!
mikor kiválasztok valahonnan dolgokat van olyan pl a végén, hogy ORDER BY mezo ASC, vagy ilyesmi, nos a konkrét kérdés van-e olyan kiválasztás ami randomolja a kiválasztott dolgokat? -
Louloudaki
aktív tag
-
cucka
addikt
a phpmyadmin egy php-ban írt szoftver amellyel mysql adatbázisokat tudsz kezelni, gyakorlatilag egy olyan webes eszköz, amivel az adatbázisokat tudod matatni.
természetesen a szerveren fut, te böngészőből tudod elérni. próbáld ki és rájösz, hogy mire jó, konkrétan weboldal adminisztrálásához nem igazán megfelelő. -
Szasztok!
Tuti, hogy hülye a kérdés, de mi a fene az a PHP MyAdmin?
Sejtem, hogy valami adatbázis kezelő lópikula, de hova szokás telepíteni, a szerverre, vagy a gépemen van, és úgy varázsol az adatbázissal, vagy hogy?
Továbbá, érdekel, hogy ha a szerveren van, akkor van-e lehetőség arra, hogy egy fizetős tárhelyre felrakjam én magam, ha nincs fent ilyen?
Egyelőre elméleti a kérdés, nincs kiszemelt tárhelyszolgáltató, de az tuti, hogy pokoli sok kép lesz feltöltve, amikhez lesznek hozzászólások, pontozás, meg minden.
Nem akarok a tárhelyszolgáltató választás, kifizetés, stb. után szembesülni a problémával, hogy azon a tárhelyen nincs lehetőség ilyesmire.
Köszi, remélem sikerült értelmesen fogalmaznom. -
Benmartin
senior tag
válasz
Briganti #1213 üzenetére
$res = mysql_query(''SELECT alma.nev,korte.nev FROM alma,korte'');
while($db = mysql_fetch_row($res)) {
print $db[0]; //alma.nev
print $db[1]; //korte.nev
}
persze ezzel vigyázni kell, mert addig íratja ki a felsorolt változókat, amíg végig nem pörög a while, ha a nev mezők sorainak száma megegyezik nem lesz gond.
[Szerkesztve] -
Briganti
tag
válasz
szabi6k #1212 üzenetére
probald ezzel a select-l hogy:
SELECT * FROM gyartok, kategoriak, termekek WHERE gyartok.gyartok_id=kategoriak.gyartok_id AND kategoriak.kategoriak_id=termekek.kategoriak_id
es:
...
while ($sor = mysql_fetch_array($eredmeny)) {
?>
<tr bgcolor=''<?= $szin?>''>
<td><?= $sor['gyartok.nev'?></td>
<td><?= $sor['kategoriak.nev'?></td>
<td><?= $sor['termekek.nev'?></td>
...
gondolom igy jo lesz ... -
Briganti
tag
meirt van az hogy van egy ien query-m hogy:
INSERT INTO `receptie_materia_temp` ( `nr_fact`, `cod_denumire`, `um`, `cantitate`, `pu`, `total`, `tva`, `total2` ) VALUES ('sdfsdf', 'sdfsdf', 'sdfsdf', '34535', 'sdfsdfsdf', 'sdfsdf', 'sdfsdf', 'sdfsdf')
ezt hozzaadja siman, de en a tablazathoz hozzaadtam meg egy oszlopot, es atalakitom a queryt ugy hogy a total2 melle beirom az adaos-t, es values-hez is irok a vegere meg egy erteket akkor ugyfog kinezni hogy:
INSERT INTO `receptie_materia_temp` ( `nr_fact`, `cod_denumire`, `um`, `cantitate`, `pu`, `total`, `tva`, `total2`, 'adaos' ) VALUES ('sdfsdf', 'sdfsdf', 'sdfsdf', '34535', 'sdfsdfsdf', 'sdfsdf', 'sdfsdf', 'sdfsdf', 'asdadasd')
es igy mar nem adja hozza, azt irja ki hogy:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''adaos' ) VALUES ('sdfsdf', 'sdfsdf', 'sdfsdf', '34535', 'sdfsdf
utanna neztem, s ezt az errort akkor adja mikor nemjol hasznalom a ''reserver word'' -kat ... vegig futottam a listan de nem talaltam semmi oan reserved word-t ... mi lehet a baj? -
cucka
addikt
válasz
--=Gefi=-- #1208 üzenetére
nézd meg mondjuk az ipon webshopját. ha valami hasonlóan teljeskörű megoldást szeretnél, akkor bizony lesz annyi tábla. (persze gányolással redukálható a táblák száma, de nem éri meg szerintem)
tudom, időközben kiderült, hogy az eredeti kérdés egy sokkal egyszerűbb feladatra vonatkozott, ahova valóban felesleges az általam felvázolt brutál megoldás.
[Szerkesztve] -
Louloudaki
aktív tag
válasz
--=Gefi=-- #1208 üzenetére
-
--=Gefi=--
tag
Szerintem sem lesz ennyi tábla, felesleges ezt még lemodellezni, simán kezelhető lesz.
Louloudaki első megoldása szimpatikus, meg megfelelően optimalizált. A lekérdezések majd szépek lesznek, de az elv az tökéletes. Ennél jobbra nem nagyon kell és nem is nagyon lehet optimalizálni. De igazából akárhogy is írod meg, biztosan működni fog. Majd ha nem bírja el az sql a lekérdezéseket, akkor lehet gondolkodni, hogy na akkor min lehet még spórolni.
-
cucka
addikt
válasz
szabi6k #1205 üzenetére
ötlet még annyi, hogy használj valamilyen grafikus-egeres adatbázis-tervező progit. ha ezt a hardveres adatbázist rendesen meg szeretnéd csinálni, akkor simán lesz 70-80 táblád, ezt átlátni nehézkes.
(plusz ezek az adatbázis-tervező progik tudnak sql-t gyártani a modelledből, tehát még 1 probléma kilőve) -
cucka
addikt
válasz
Louloudaki #1203 üzenetére
ez azért nem jó így, mert eltérő termékcsoportoknak eltérő tulajdonságai vannak, pl. processzornak frekvenciája, monitornak meg felbontása. szerintem valami hasonló kéne legyen:
vannak tulajdonságok és vannak termékek. a tulajdonságok lehetnek közösek (minden termékcsoportra jellemző, például hogy hány év garancia van rá) illetve egyediek (lásd a fenti példát). egy ilyen tábla így néz ki:
felbontas
id: int (primary key, autoinc)
nev: varchar
minden termékcsoportnak van egy táblája, ami valami hasonló (persze több adattal, ez itt csak egy rövid példa):
monitor
id: int (primary key, autoinc)
gyarto_id: int (fk)
tipus: varchar
monitor_meret_id: int (fk)
felbontas_id: int (fk)
ar: int (not null)
értelemszerűen minden külső kulcs (fk) az adott tulajdonság táblára mutat. így rengeteg tábla lesz, viszont előnyös oldalai is vannak a dolognak. tegyük fel, hogy az oldaladon van egy kereső, amelyikben egy legördülő menüből kiválaszthatod, hogy mekkora monitort keresel és ezt a legördülőt a rendszer a monitor_meret táblából tölti fel. namost ha a boltba érkezik egy új méretkategóriájú monitor, akkor elég lesz felvinni a monitor_meret táblába az új méretkategóriát és onnantól az egész rendszeredben használható lesz. a legjobb ebben, hogy akár a titkárnő is fel tudja vinni ezt, ha adsz neki valamilyen eszközt erre (adminisztrációs felület). -
Louloudaki
aktív tag
válasz
szabi6k #1200 üzenetére
gyartok tábla
- id, nev
pl id: 1, nev: asus stb
kategoriak tábla
- id, nev, gyarto_id
pl: id: 1, nev: házak, gyarto_id: 1 ez egy asus ház (mondjuk az lehet házat nem gyárt)
termekek tábla
- id, nev, kategoria_id, egyéb info mezők
pl id: 1, nev: atx ház, kategoria_id: 1, egyéb infók, pl piros, szellős, vízálló mittomén.
de csinálhatsz kapcsoló táblát is az id-k helyett
kapcsolat tábla:
- id, gyarto_id,kategoria_id, termek_id
pl id: 1, gyarto_id: 1, kategoria_id: 1, termek_id: 1 ez egy asus márkájú házak kategóriába tartozó atxház termék. és az egyes táblákba nem kell a gyarto_id stb csak az id.
szabd személyre a tiédhez, az alapelv ez.
Aktív témák
Hirdetés
- Hogy is néznek ki a gépeink?
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- PlayStation 5
- Elhalasztották a Marathon megjelenését
- Autóhifi
- Autós topik
- VR topik
- Eredeti játékok OFF topik
- lezso6: Nem látszik a kurzor Chrome alatt a beviteli mezőkben?
- Teljes verziós játékok letöltése ingyen
- További aktív témák...
- IPhone 16 Plus 128GB One függő 2025.12.17. Apple jótállás
- IPhone 12 64GB gyári független szép új akku!!
- IPhone 12 128GB gyári független gyári 99%-os akku
- Asus A15 FA506IU 15.6" FHD IPS Ryzen 7 4800H GTX 1660Ti 16GB 512GB magyar vbill gar
- i5-13600KF, RX 9070, DDR5 32GB, 1 TB M.2, Fractal North TG és sok garancia
- BESZÁMÍTÁS! Gigabyte B760M i5 13400F 16GB DDR4 512GB SSD RTX 3070 8GB Pure Base 500DX fehér 650W
- ÁRGARANCIA! Épített KomPhone Intel i9 14900KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- Update 06.17. Bomba árak 2025-ben is! Üzleti - Consumer laptopok DELL FUJITSU HP LENOVO
- Eladó Apple iPhone Xr 64GB fekete / ÚJ KIJELZŐ / 100% AKKU / 12 hónap jótállással!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest