- AMD vs. INTEL vs. NVIDIA
- OLED TV topic
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Vélemény: nem úgy tűnik, de Lip-Bu Tan most menti meg az Intelt
- Nvidia GPU-k jövője - amit tudni vélünk
- Gaming notebook topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Milyen billentyűzetet vegyek?
- DUNE médialejátszók topicja
- Milyen videókártyát?
Aktív témák
-
19.Norbika
tag
válasz
Sk8erPeter #2129 üzenetére
Így van. Localhoston megesik hogy, egy jogosultsághoz nem rendelsz pass-t. az alapba nem egészséges. De ha migráltad a tljes adatbázist, akkor hozz létre egy új usert jelszóval, ezt meg kell adni természetesen az sql connectnél a php kódban is.
-
Sk8erPeter
nagyúr
Hát azért, mert localhoston, a MySQL-szerveren nem hoztad létre az "xyz" felhasználót, vagy nem adtál hozzá jelszót, vagy rossz jelszót adtál hozzá, vagy csak nem rendelted hozzá az engedélyeket a webshop táblájához... ezek valamelyike. Tehát ugyanaz a felhasználónév+jelszó páros legyen meg localhoston is, mint az éles MySQL-szerveren.
Ha nem lenne jelszó, az gáz lenne. -
arisu
csendes tag
üdvözletem!
Akadna egy kis problémám. Ingyenes webtárhelyen megy a webshopom fejlesztése és szerettem volna újra üzembehelyezni localhoston is. Sajnos a gép és a rendszer nem nagyon engedte. Kivettem a jelszót, újraraktam a wampot, semmi.
: Undefined index: user-t ír és
Access denied for user 'xyz'@'localhost' (using password: YES)Pedig nem használok jelszót, nincs semmiféle ilyen dolog. Az indexpen pedig definiálva van, ezért nem értem, mert online teljes mértékben működik :S
-
coco2
őstag
Szijasztok!
MySQL szerverhez keresgetek lehetőségeket adatbázis csak olvasható replikák létrehozásához. Olyasmi kellene, ami elküldi az olvasási kérdéseket a távoli szerveren lévő adatbázisnak, és gyorsító tárazza is helyileg, ami visszaérkezett. Írásnál persze írni kell mindkettőt, de kiolvasásra elég, ha pld 5 percenként frissül a helyi adat, hogy terhelést tudjak levenni a távoli szerverről. Ismer valaki ilyesmi supportot mysql-hez? Vagy ez tipikusan olyan dolog, amit mindenki írjon meg magának testre szabottan?
Google pajtás csak Amazon db találatokat dobált ki nekem, de nekem nem amazon szolgáltatásom van, hanem saját kézben a vas, és amit arra telepítek. (És persze az sem ártana, ha nem 100milliókat kellene kifizetnem.)
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #2123 üzenetére
Tehát az eredeti állításom, miszerint a query-k konkatenálását az IN-jellegű lekéréseknél nem úszod meg, igaz.
A megvalósítás viszont megint más kérdés, ez is tény. A "behelyettesítés" meg valóban úgy a "biztonságos", ahogy írod. Bár ha valakinek van némi fogalma az adatbázis-lekérésekről, az remélhetőleg nem fog így se-úgy se escape-eletlenül hozzáfűzögetni semmit.
-
cucka
addikt
válasz
Peter Kiss #2123 üzenetére
Szerintem ha alacsony szinten akarod kezelni az adatbázist (tehát query-ket akarsz összerakni), akkor jó a PDO meg bármi más. Ha magas szinten akarod kezelni, akkor meg beizzítasz egy ORM-et.
Amit te szeretnél csinálni, az az, hogy becsomagolod a PDO-t, mert így talán szebb lesz. Nem lesz az, mert amit leírsz, az csak szintaktikai varázslat, nincs neki túl sok funkcionális haszna. Ezernyi hasznosabb dolgot tudnék mondani, mint megírni a hatszázezredik php-s adatbázis wrapper osztályt. -
Peter Kiss
őstag
válasz
Sk8erPeter #2122 üzenetére
Igen, csak nem adatokkal.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #2121 üzenetére
"közben kiegészítem a query-t ?-ekkel (nem használok nevesített paraméterek), majd elrakom a tömböt. Végrehajtáskor már megvan a kész query"
Tehát akkor kénytelen vagy konkatenálni a query-t, ugye? -
Peter Kiss
őstag
válasz
Sk8erPeter #2120 üzenetére
Röviden annyi, hogy végigmegyek a tömbön, amiben pl. számok vannak, közben kiegészítem a query-t ?-ekkel (nem használok nevesített paraméterek), majd elrakom a tömböt. Végrehajtáskor már megvan a kész query (pl. "SELECT * FROM tbl WHERE ID IN (?, ?, ?, ?)"), megvan minden adat, mehet a sima PDO-s binding, és megy is rendesen.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #2119 üzenetére
Hogyan használod? Pont erre lennék kíváncsi.
Nálam a sima implode-os prepared statementes átadás rosszul működik, nem adja vissza azt az eredményhalmazt, amit várok, és amit akkor ad vissza, ha simán lefuttatom a query-t, megadott id-kkel. -
Peter Kiss
őstag
válasz
Sk8erPeter #2118 üzenetére
Persze, használtam már, használom is.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #2117 üzenetére
Ki is próbáltad az IN-nél?
Én csak kerülő megoldásról tudok, ahogy itt írják:select users.id
from users
join products
on products.user_id = users.id
where find_in_set(cast(products.id as char), :products)Itt a
find_in_set(cast(products.id as char), :products)
a lényeg, feltételezem, ez jóval lassabb, mint egy "rendes" IN...localhoston gyorsan tesztelve az előbbi 0.0276 másodperc, míg a "normál" IN 0.0008 másodperc, ami azért igen jelentős különbség azt tekintve, hogy összesen 4 sor van a teszttáblámban. Óriásira nőtt adatbázisnál szerintem ez elég durva különbségekhez vezethet!
==
"Egyébként szerintem van értelme pl. PDO köré is wrapper-t írni, mert nagyon ocsmányul néz ki."
Mi a baj vele?"Főleg akkor hasznos, ha ismeretlen számú paraméterekkel kell dolgozni."
Array-t is átadhatsz az execute()-nak. -
Peter Kiss
őstag
válasz
Sk8erPeter #2113 üzenetére
Ha csak paraméterek behelyettesítéséről beszélünk, akkor az IN jellegűeknél sem kell összefűzni semmit se, működik a prepared statement-es megoldás. Ha úgy járnánk el, hogy majdnem mindenhol helyesen használjuk a prepared statement-eket, csak egy pár helyen nem, akkor olyan, mintha nem is használnánk prepared statement-eket.
---
Egyébként szerintem van értelme pl. PDO köré is wrapper-t írni, mert nagyon ocsmányul néz ki.
Főleg akkor hasznos, ha ismeretlen számú paraméterekkel kell dolgozni.
-
Briganti
tag
válasz
Sk8erPeter #2113 üzenetére
Hupsz, bocsi
De jar neked aa szep kerek valaszert
-
papa019
senior tag
válasz
Sk8erPeter #2113 üzenetére
Értem.
Így már működik. -
Sk8erPeter
nagyúr
válasz
papa019 #2110 üzenetére
Akkor bocsánat, nem szóltam, csak ugyanúgy nézett ki a dolog, mint korábban, konkatenáltad, ugyanaz a változónév, stb., ezért hittem azt, hogy ugyanazt a saját osztályt használod, mint korábban.
Ha PDO-t használsz, akkor onnantól - szerencsére - a mysql_ kezdetű függvények megszűntek létezni!! Thank God!
Tehát pl. a mysql_fetch_row() használatát felejtsd el innentől örökre.
Ahogy az is megszűnt létezni, hogy összefűzögesd a query-ket, azt NEM SZABAD. Azt is felejtsd el. Csak NAGYON ritkán van rá szükség, pl. az IN(...) jellegű query-knél.Tehát pl.:
$result = $DB->query("SELECT * FROM places WHERE id = '$parent_area')");
$result->setFetchMode(PDO::FETCH_COLUMN);
while($row = $result->fetch())
{
$has_parent=$row['parent_has_parent'];
}HELYETT
$sth = $DB->prepare('SELECT * FROM places WHERE id = :id');
$sth->bindParam(':id', $parent_area, PDO::PARAM_INT);
$sth->execute();
$myResults = array();
while($row = $sth->fetch(PDO::FETCH_ASSOC)){
// do something with this row....
$has_parent=$row['parent_has_parent'];
if($has_parent){
// ...
}
else{
// ...
}
$myResults[] = $row;
}===
(#2111) Briganti : rossz helyre címezted.
-
Briganti
tag
válasz
Sk8erPeter #2109 üzenetére
adj egy var_dump -ot a $result valtozodnak, hogy nezd meg mit terit vissza a $DB->query() fugvenyed
-
papa019
senior tag
válasz
Sk8erPeter #2109 üzenetére
A config.php:
try {
$DB = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
}
catch(PDOException $e)
{
echo $e->getMessage();
}Tudtommal ez PDO.
De a hibát továbbra sem értem. -
Briganti
tag
válasz
papa019 #2105 üzenetére
Ezen a linken megnezheted hogy hol tevedtel
Ha nem josz ra akkor segitek
-
papa019
senior tag
válasz
Briganti #2103 üzenetére
Még egy kérdésem lenne:
Ha csinálok egy ilyen kódot:$result = $DB->query("SELECT * FROM places WHERE id = '$parent_area')");
$result->setFetchMode(PDO::FETCH_COLUMN);
while($row = $result->fetch())
{
$has_parent=$row['parent_has_parent'];
}Akkor a PHP hibát ír ki:
SCREAM: Error suppression ignored for
( ! ) Fatal error: Call to a member function setFetchMode() on a non-objectA lekérdezés egyetlen sort ad ki eredményül, ennek az egyik attribútumából szeretnék változót létrehozni. Miért nem működik ez a megoldás, és mi lehet a helyes megoldás erre?
Ha így próbálom megoldani:
$result = $DB->query("SELECT parent_has_parent FROM places WHERE id = '$parent_area')");
$row = mysql_fetch_row($result);
echo 'alert('.$row[0].')';Akkor pedig az alábbi hiba van:
Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\wamp\www\ajaxPost.php on line 20
-
papa019
senior tag
Köszönöm, de nekem place id van megadva.
Viszont ez alapján már menni fog szerintem.
-
papa019
senior tag
Sziasztok!
Egy bonyolultabb lekérdezést szeretnék megvalósítani, de már elég régen tanultam mysql-t és sehogy sem jön össze. A lényeg, hogy van két tábla: az egyik a places, amiben van egy id és egy category attribútum, a másik a categories, amiben van szintén egy id és egy level attribútum. A places category attribútuma a categories id-je.
A lekérdezéshez van egy place $id valtozóm a php kódban. Azt szeretném elérni, hogy azokat a placeeket jelölje ki a select, amiknek a level attribútuma kisebb, mint az adott place kategóriájának level attribútuma. -
sanyilpa18
csendes tag
sziasztok. hogyne lehetne megoldani hogy egy x weboldal postjait és egy teljes másik dizajnal rendelkezo y oldal postjait egy xy oldalon is töltse be. ugyanakkor egy regisztracioval mindhárom oldalon belehessen lépni. wordpress cms oldalról lenne szó... köszönöm aki segít
-
FlashPlayer
tag
válasz
Sk8erPeter #2099 üzenetére
Igazából én ilyen tutoriált kerestem, és ha beírod google-ba, hogy php and mysql, akkor nem igazán dobja ki a hivatalos oldalt, néha figyelmetlen az ember
De ezen felül jogos amit mondotok, viszont veletek is megesik gondolom, hogy a szemetek előtt van a megoldás.M1, azért köszönöm a választ!!
-
Sk8erPeter
nagyúr
válasz
FlashPlayer #2098 üzenetére
Hát ez vicces, ha az ember elkezd érdemben foglalkozni a PHP-val, lehetetlen, hogy ne botoljon bele a HIVATALOS oldalba...
Bocs, de ez arra enged következtetni, hogy azelőtt kérdeztél, mielőtt megpróbáltál volna kicsikét normálisan utánanézni. -
FlashPlayer
tag
válasz
Peter Kiss #2097 üzenetére
jogos! Már minden oldalt néztem, de ezt nem
köszi.
-
Peter Kiss
őstag
válasz
FlashPlayer #2096 üzenetére
Van egy php.net nevű oldal, azt meg kellene lesni.
-
FlashPlayer
tag
Sziasztok!
Nagyon merész leszek, és remélem nem baj, de lenne egy elég láma kérdésem.
Most kezdtem el MySQL-t meg PHP-t használni, eddig csak html-t meg css-t tanultam.
Egy olyan "blogot" szeretnék írni, hogy MySQL-be, létrehoztam egy táblát, ( id, title,author,text,date,) És adtam is neki rekordokat, 1 bejegyzést.
Viszont most ezt valahogyan meg kellene jeleníteni a honlapon, addig eljutottam, hogy megvan a "kapcsolat.php" (mysql-re csatlakozik) a PHP-file-ba beírtam, hogy include kapcsolat.php.
<?
include('kapcsolat.php');
if ($_GET[id] == "")
{
blog_show();
}
?>És így itt elakadtam, hogyan kell behívni egy ilyen bejegyzést?
-
Mid2100
csendes tag
válasz
Sk8erPeter #2094 üzenetére
Sziasztok!
Project munkára (jobb esetben munkákra) keresnék olyan php programozót, aki mellékállásban el tudna vállalni egy online ügyfélnyilvántartó rendszer létrehozását. Amennyiben valakit érdekel, keressetek itt a prohardveren, vagy telefonon: 06-30-6020-001 -
Sk8erPeter
nagyúr
Másik topicban már megvolt a hirdetés, elég lesz egy helyen.....
-
1NT1M3
csendes tag
Üdv!
Komplett működő online szöveges mmorpg játék indításához keresek társat illetve segítséget.
Az oldalt már működtettem , amit eladtam, és ennek a motorját átalakítottam lopott idő című film mintájára.
A játék az én működtetésem alatt jövedelmező volt rengeteg sms és átutalásos támogatás érkezett 2 hónap alatt, de anyagi gondok miatt tovább adtam.
Nem kell napi órákat előtte tölteni programozással, néha kell ránézni újítani 1-2 dolgot és mégis hozza a pénzt megfelelő reklámmal.Amennyiben érdekel, hogy társként tulajdonosként beszállsz várom leveled:
topsite00@gmail.com email címre
További szép napot! -
Sk8erPeter
nagyúr
válasz
wolandino #2091 üzenetére
Mivel nem konkretizáltad a dolgot, magunktól nehéz kitalálni, hogy ha egyszer a felhasználó töröl, akkor mindenhonnan törölnie kellene a dolgokat, vagy pl. az összekapcsoló táblában mondjuk csak be kéne rakni egy NULL-t az egyik mezőhöz, jelezvén, hogy pl. az adott elemnél hiányzik egy "párosítás", még a hozzákapcsolásnak csak az "egyik fele" van meg, és lehetne még pár lehetséges változatot kitalálni.
Nem egyértelmű tehát, hogy miket jelölhet törlésre... olyan eset is elképzelhető, hogy a bejegyzéseket egyszerűen csak az összekapcsoló táblából kellene törölni, tehát akkor egyedül az összekapcsoló táblában nyilvántartott id-k közül kellene választania a júzernek (nyilván a hozzátartozó felhasználóbarát adat segítségével, ne id-k közül válogasson). Akkor meg egyértelmű: szűkíted a törlést arra az id-re a kapcsoló táblából, amit a júzer kiválasztott, és megvagy. De mondom, nem specifikáltad a problémát. -
wolandino
tag
Sziasztok!
Van egy táblám amiben 3 id-t tárolok.
Az első megadja a másik kettő kapcsolatát, mivel az egyes id-k csak egy adott táblán belül egyediek, de két különböző tábla elemeinek lehet azonos id-je.Először a felhasználó lekérdezi az általa megadott id-hez tartozó sorokat, majd egy felületen töröl és hozzáad ezekhez.
Majd az összes változását egyben szeretném elmenteni.Egy jó algoritmus kellene, hogy hogyan töröljem azokat, amiket törlésre jelölt és hogyan szúrjam be az újakat a leghatékonyabban.
Köszönettel,
W. -
coco2
őstag
PhpMyAdmin alatt akarok beadni neki egy egészen egyszerű tárolt eljárást (a "test" adatbázis alá, wamp 2.2d csomag), és egy sima if-et nem hajlandó elfogadni.
Ha ezt adom be, simán elfogadja, és létre is hozza a tárolt eljárást:
delimiter $$
drop procedure if exists proba $$
create procedure proba(in my_input bigint) begin
declare my_var bigint;
select 1 into my_var;
select 2 into my_var;
end $$
delimiter ;Ennél viszont hibát jelez ki:
delimiter $$
drop procedure if exists proba $$
create procedure proba(in my_input bigint) begin
declare my_var bigint;
select 1 into my_var;
if (my_var=my_input) then select 2 into my_var;
end $$
delimiter ;#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 '' at line 5 -
wolandino
tag
Sziasztok!
MVC keretrendszert használom.
A feladat annyi, hogy van egy táblázatom aminek minden sorát lehet editálni és törölni egy-egy ikon segítségével.
Minden sorhoz így van egy delete és edit gomb.
A kérdés, hogy hogyan érem el, hogy a vezérlő a megfelelő sor adatait kapja meg, amikor megnyomom a megfelelő gombot.Lehet javascriptes megoldás is.
Köszönettel,
W. -
coco2
őstag
válasz
Sk8erPeter #2085 üzenetére
És majd várhatom, hogy beszólnak a trollok arra, hogyan szerkesztem a kód szöveget. Hát köszike, a nélkül még megvagyok
-
coco2
őstag
válasz
PazsitZ #2082 üzenetére
Windows hálózat alatt folyik a fejlesztés, windowsos az svn is meg minden. De a mysql szerver linux alatt fut (egy fizikailag távoli gépen), és jellemzően mysql-front-al kötök hozzá. Ha minden módosításnál folyton be kellene telnetelnem linux alá, elég rendesen pazarolná a figyelmemet. Folyamat két külön rendszeren dolgozni simán csak idegőrlő. Próbáld ki, és meglátod.
Amúgy scriptből összefűzni, azért az nem lenne semmi. Arra nem vállalkoztam. Fogtam inkább egy notepadot, meg a pöttynetet, és abban írtam meg. Mostanra pöpec.
-
coco2
őstag
válasz
Sk8erPeter #2080 üzenetére
Részemről helyrajzi és ahhoz képest kezelhetőségi dolgokat részesítek előnyben, így nem tudom azt javasolni, hogy bárki más is úgy döntsön, ahogyan én, de kérésedre leírom, én hogyan jártam.
A workbench azt mondta "ERROR", amikor elért az első source utasításig. A console a helyi gépen szeretné látni a scripteket, de win alól linux felé fejlesztve ez sem valami kényelmes. Találtam egy olyat, hogy "mysql-front", ami sokkal olajozottabbnak néz ki, mint a workbench, de ez is csak egyetlen szövegfile-t szeret. Jelenleg éppen keresgélek szöveges processzor alkalmazás után, ami tud include-olni, és ha nem találok, akkor írni fogok egyet pöttynet-ben, mert abban igazából nem bonyolult, és az legalább biztos testre szabott alkalmazás lesz az én igényeimnek.
-
-
coco2
őstag
válasz
Sk8erPeter #2076 üzenetére
Sk8erPeter:
Egy cefetül szanaszét terjengős adatbázisról van szó. Eddig tervezet alapján ~100 tábla (és ezek mind denormalizált sok oszlopos táblák), és ~400-nál több tárolt eljárás van, és még nincs vége a tervezési fázisnak sem. Mindezeket ha egyetlen szövegfile-ba raknám, szerintem a végére olyan fél mega lenne. Ergo hogy egyáltalán áttekinthető maradjon a már elvégzett munka, én arra gondoltam, hogy tematika alapján külön szövegfile-okba pakolok majd ki kommentezéssel együtt mindent. A szöveg file alatt sql scripteket értek (dml, ddl, pl/sql).
A saját szöveg processzor ötlete eddig eszembe sem jutott
Ha nincs rá semmi normális keretrendszer, valószínűleg ezt fogom tenni.
Lacces:
Megnézem a workbench-et, köszönöm a tippet.
PazsitZ:
Azt "source"-t mi fordítaná le olyan funkcióra, hogy buborék elv alapján include-ra kerüljenek a file-ok? Pld mysql frontend közölte velem, hogy bocsesz, de ilyen kulcsszó nem létezik. Esetleg van valami fejlettebb script konzolja a mysql-nek, ami értelmezni tudja?
-
-
Sk8erPeter
nagyúr
Ezek a "szanaszét külön fileokba pakolt script állományok" mind külön adatbázis-dumpfájlok MySQL-ben írva?
Vagy mi?
Nem igazán konkretizáltad.
Önmagában a fájlok összefűzésére lehetne írni egy batch-fájlt is, aztán ezt .gz-ben tömörítve fel lehetne küldeni a szerverre egyben, dehát ki tudja, a Te változatodhoz ez megfelel-e, számomra legalábbis nem derült ki a hsz.-edből. -
coco2
őstag
Hali,
Mysql keretrendszer kérdés.
Valami keretrendszert keresek mysql-hez, ami meg tudja csinálni, hogy szanaszét külön fileokba pakolt script állományokat egybefűzve dobna rá az sql serverre.
Sok táblám, és még több tárolt eljárásom van, amit csak úgy tudok rendben tartani, hogy az egyikbe be-include-olgatom az összes többit, és még csak nem is ugyanabban a mappában lesznek azok a fileok.
Mit szokás erre használni?
-
Lacces
őstag
Segítség kellene.
Régi sima Oracel SQL-es adatbázist akarok kompintani MySQL-be (gyakorolni és tanulni)
A szokásos szintaxis hibát írja rá, és nem tom, hogy mi az... (eddig 2 táblát felvittem és jó volt)
INSERT INTO `O_VERSENYZOK`(`AZON`, `NEV`, `SZUL_DAT`, `ORSZAG_AZON`, `EGYEN_CSAPAT`, `SZUL_HELY`) VALUES (847,'Arn Gréta', '1979.04.13',131,'e','Budapest');Az eredeti sql:
insert into o_versenyzok (AZON,NEV,SZUL_DAT,ORSZAG_AZON,
EGYEN_CSAPAT,SZUL_HELY) values (847,'Arn Gréta',to_date('1979.04.13','yyyy.mm.dd'),131,'e','Budapest');Tábla így nézz ki:
1 AZON int(5)
2 NEV varchar(50)
3 SZUL_DAT date More
4 ORSZAG_AZON int(5)
5 EGYEN_CSAPAT varchar(1)
6 SZUL_HELY varchar(50)Dátumnál to_date - sql függvény volt, de lehet rossz mysql megfelelő függvényt keresek neki és ezért dob hibát.
-
SektorFlop
aktív tag
válasz
Sk8erPeter #2071 üzenetére
köszi! és bocsi a lustaságomért, csak kérdezés után használtam ki a google által nyújtotta lehetőségeket...
-
Lacces
őstag
válasz
Sk8erPeter #2069 üzenetére
Lehet, kell valami véletlen kigenerált termékek a főoldalra. És ebből csak 5db.
Vagy oldalsávba. -
Sk8erPeter
nagyúr
válasz
SektorFlop #2068 üzenetére
SELECT `id` FROM `test_table`
ORDER BY RAND()Ezt felhasználva csináld meg, amit szeretnél. Nem fejtetted ki bővebben, mit értesz azalatt, hogy "5 db sort szeretnék lekérni id alapján véletlenszerűen."
-
SektorFlop
aktív tag
5 db sort szeretnék lekérni id alapján véletlenszerűen. Tudna valaki segíteni? volt egy öltetem de menet közbe kezdet bevillanni hogy ez közel sem jó.
-
PazsitZ
addikt
válasz
SektorFlop #2065 üzenetére
Miért nem ?
UPDATE `kosar` SET `kosar_db` = kosar_db+1 WHERE ... -
SektorFlop
aktív tag
valaki ha esetleg tudna segíteni... a darabszám adatbázisban 2-nél feljebb nem megy
$lekerdezes=mysql_query("SELECT * FROM kosar WHERE pizza_id='$id' and felhasznalo='$felhasznalo' and ar='$ar' and pizza_meret='$meret'");
if(mysql_num_rows($lekerdezes)==0){
$sql="INSERT INTO kosar (pizza_id, felhasznalo, ar, kosar_db, pizza_meret) VALUES ('$id', '$felhasznalo', '$ar', '1', $meret)";
}
else {
$db=mysql_num_rows($lekerdezes);
$darab=$db+1;
$sql="UPDATE `kosar` SET `kosar_db` = '$darab' WHERE `pizza_id` = '$id' and felhasznalo='$felhasznalo' and pizza_meret='$meret';";
} -
SektorFlop
aktív tag
tudom nem ide kellene, de már nem tudom hol kérdezni
valaki esetleg PhoneGap-el nem foglalkozik? vagy esetleg nem tudna segíteni benne?
-
cAby
tag
válasz
MR. Anderson #2058 üzenetére
Pedig beszúrásnak jónak kell lennie így, nekem működik rendesen.
Biztos, hogy sikeresen kapcsolódik az adatbázishoz?
Megnézted adatbázisban is, hogy nem vitte fel vagy csak ezzel a lekérdezéssel?
Változókra az értéket rendesen megkapja?Kiírátásnál nem kellene szóköz kiírás és változó közé is '.' ?
Tehát ehelyett: " " $sor['jelszo']
így: " " . $sor['jelszo']+ <br> helyett <br />
-
cAby
tag
válasz
SektorFlop #2060 üzenetére
Nem feltétlenül kell az oszlopok megnevezését megadni, csak ha több oszlopot tartalmaz a tábla, mint amennyi adatot be akar szúrni. Tehát az 'adatok' tábla nem csak a username, jelszo, email, mobil, varos oszlopot tartalmazza.
-
SektorFlop
aktív tag
válasz
MR. Anderson #2058 üzenetére
$parancs = "INSERT INTO adatok (username, jelszo, email, mobil, varos) VALUES ('$username' , '$jelszo' , '$email' , '$mobil' , '$varos')";
természetesen cseréld le ha nem azok a rekordok nevei!
-
Peter Kiss
őstag
válasz
MR. Anderson #2058 üzenetére
INSERT INTO-ba kellene az oszlopok megnevezése.
-
MR. Anderson
tag
Sziasztok!
nemrég kezdtem el komolyabban foglalkozni a webszerkesztéssel és lenne egy kérdésem: adott egy regisztrációs adatokat mysql táblába továbbító php. nem tudom mi a hiba mert nem megy át az sql-be semmi.
itt a kód:
<?php
$username=$_POST['username'];
$jelszo=$_POST['jelszo'];
$email=$_POST['email'];
$mobil=$_POST['mobil'];
$varos=$_POST['varos'];include("dbconnect2.php");
$parancs = "INSERT INTO adatok VALUES ('$username' , '$jelszo' , '$email' , '$mobil' , '$varos')";
mysql_query($parancs);$parancs = mysql_query("SELECT * FROM adatok");
while ($sor = mysql_fetch_array($parancs))
{
echo $sor['username'] . " " $sor['jelszo'] . " " $sor['email']. " " $sor['mobil'] . " " $sor['varos'] . " " ;
echo "<br>";
}mysql_close($kapcsolat);
?> -
cAby
tag
válasz
Brown ügynök #2055 üzenetére
Köszi a választ!
Hasonlóan próbálom megoldani, azt hittem van más lehetőség is.
De amit írtál is csak akkor jó, ha be van pipálva a kp. Ha nincs, akkor az egy újabb eset, újra vizsgálni kell. (Mert ugye, akkor a WHERE-t nem fűzi hozzá a $query-hez.)Tehát, ha van vagy 20 választható feltétel, akkor nagyon bele lehet bonyolódni. :S
A jQuery-t meg áttanulmányozom, köszönöm.
-
Brown ügynök
senior tag
Ha ilyen sok feltételt kell vizsgálni egy lekérdezéskor, akkor érdemes úgy megírni a programot, hogy az állítsa össze a lekérdezést. Például, ha az apartmanokat keressük, készpénzes, bankkártyás fizetéssel:
$query = " select apartman from szallas ";
if ($kp != '')
{
$query .= " where kp = 1 ";
}
if ($cc != '')
{
$query .= " and cc = 1 ";
}Az automatikus keresést pedig AJAX technológiával, javascript nyelven lehet megoldani. Legjobb egy javascript keretrendszerrel, pl.: jQuery
-
cAby
tag
Hali!
Kereső oldalt szeretnék csinálni, ami adatbázisból olvassa ki az adatokat.
pl, ezekkel lehet szűkíteni a találatokat (checkbox-ok):- apartman
- vendégház
- hotel
- diákszálló- reggeli
- félpanzió
- teljes elláttás- készpénz
- bankkártya
- átutalás
- Üd.csekk (btw, miért nem engedi elküldeni a fórum rendesen kiírva az Üd.csekk-et?)
....
és még további pár tulajdonságra, illetve a meglévő csoportokban is több szerepelhet.Ezeket feltételekkel végig vizsgálni baromi bonyolultnak tűnik nekem, ill. gyorsan be lehet zavarodni. Még csak a 3. keresési csoportot (kp, bankkártya...) csinálom, de már most belebonyolódtam.
Ilyen összetett keresésekre nincs valami jobb megoldás? Több száz variációt lekezelni nem egy könnyű feladat és valószínűleg nem is a leghatékonyabb.
Illetve azt hogyan lehetne megoldani, hogy ha bekattintok egy checkbox-ot, akkor automatikusan frissítse a találatokat, ne kelljen rányomni a 'Keresés' gombra? JavaScript van a dolog mögött ha jól sejtem, de nem találtam még meg a megoldást.
Remélem valaki tud vmit mondani ezekre.
Köszi,
Csabi -
asuspc96
senior tag
-
SektorFlop
aktív tag
válasz
Sk8erPeter #2033 üzenetére
igazából a hibákból és a kritikákból tanul az ember... gyakrabban kellene ide járnom és leszoktattok az egyéb hülyeségekről!
-
Louloudaki
aktív tag
válasz
DeltaPower #2050 üzenetére
ez volt a baj, pont kell a vessző helyett a számokba, köszi
-
DeltaPower
addikt
válasz
Louloudaki #2049 üzenetére
Lehet, hogy nem tizedesvesszővel, hanem tizedesponttal várja a számot, tehát 0,12 helyett 0.12 kell. A float és a double elméletileg jó törthöz, esetleg próbáld meg double (10,2) formátummal létrehozni a mezőt (10 jegy, ebből 2 tizedes, persze igény szerint).
-
Louloudaki
aktív tag
milyen mezőtípusban milyen hosszbeállítással tudok én tárolni olyan számokat, hogy 1230,43 0,12 stb úgy hogy ezeket aztán matematikai műveletekhez is tudjam használni normálisan? mert a double meg a float tuti nem jó, ha 0,12-t akarok beírni akkor Warning: #1265 Data truncated for column 'certFee' at row 1
online játék egyenlegeit akarom tárolni meg levonni a költségeket, usa dollárban, és lehet 0,01 dollcsi is a levonandó költség -
Lacces
őstag
válasz
Brown ügynök #2047 üzenetére
Okés
-
Lacces
őstag
válasz
Peter Kiss #2045 üzenetére
Lehet ez ilyen MySQL specifikus dolog lehet.
Sem sima SQL alapoknál sem MSSQL-nél nem találtam kapcsoló táblákra vonatkozó dolgot.
Lehet egy MySQL-s könyvet is át kell forgatnom
Én simán össze JOIN-olom az összeset ami kell. (3. normálformában lévő táblákat is)
Én egy picit feleslegesnek találom a kapcsoló táblát. Ado.net-nél sem tapasztaltam még ilyet. Nekem ez tényleg új.
-
Peter Kiss
őstag
MySQL-nél minden storage engine bír valamilyen extrával a többiekhez képest, manapság valóban az InnoDB-t ajánlják, ennek sokkal jobb a teljesítménye, ha írásról van szó, képes row lock-ra, illetve a tranzakciókat is támogatja, de pl. FULLTEXT index-et nem tud.
---
A harmadik táblát kapcsolótáblának szoktuk hívni, arra való, hogy N .. N kapcsolatokat írjunk le velük, például: Products tábla kapcsolatban áll a Properties táblával (terméktulajdonságok, pl.: garancia), emellett egy plusz érték is szerepel, és mindez belekerül egy ProductsToProperties táblába:
ProductID, PropertyID, Value
Kicsit tolni kellene még az adatbázisalapokat.
-
Frigo
őstag
-
Lacces
őstag
Sziasztok!
MySQL-nél miért van ilyen sok motor típus? (Engine)
Az INNO_DB miben jobb mint a többi?Illetve láttam egy példánál, hogy használ egy külön táblát, ahol ha 2 táblát akarok összekötni, akkor létrehoz egy harmadik külön táblát, ahol mindkét tábla id-je van, ez mire jó?
-
fazr
senior tag
válasz
Peter Kiss #2039 üzenetére
Miért és miben jobb a PDO a mysqli-től? (kérdezem ezt kezdőként)
Tegyük fel csak mysql-t akarok használni.
-
tildy
nagyúr
válasz
Brown ügynök #2038 üzenetére
max ha beugrokent kell 2 ora alatt kodot irnom, akkor mysqlezek, mqsqli-t nem szoktam hasznalni, PDO szokott lenni tobbnyire.
Athlon_64: aki most kezd phpzni, kezdje Zenddel. Egy jo szemleletet fog adni.
-
Peter Kiss
őstag
Azért azt ne felejtsük el, hogy nem lehet elvárni senkitől se, hogy egyből hegesszen magának ORM frameworkot saját MVC frameworkot, amit több százan használnak nagy megelégedéssel.
Emellett a jótanácsokat is csak óvatosan osztogassuk, például: mysqli-t se nagyon kellene használni, új ember használja a PDO-t. De azt is mondhatnám, hogy a real_escape cuccra verje magát valaki, hanem a prepared statement-ekre. Vagy használjon egyből tárolt eljárásokat. Vagy inkább dobja ki a kukába az egészet, és használjon ASP.NET MVC 4-et Entity Framework-kel.
-
tildy
nagyúr
válasz
SektorFlop #1996 üzenetére
Kapasbol hol kezeled le a cross-site scriptinget, es az SQL injectiont? SEHOL.
htmlspecialchars hasznalata , meg mysql_real_escape_string hasznalata. Azt mar nem is mondom, hogy magyar nyelvu valtozok, nem tiszta, szetbontott, atlathato kod, view elemek egybe....va az adatbaziskezelessel. A kod into pelda arra , hogy hogyan kezdi az ember, es ha professzionalisan akar dolgozni, akkor hogyan nem folytatja.Ne aggodj , en is ugyanigy kezdtem, csak ez mar a mult. Nagyon , nagyon a mult.
-
tildy
nagyúr
válasz
Sk8erPeter #2034 üzenetére
Igy van.
Szetszedni az adatokat tobb tablaba, es ugy osszekapcsolni.A masik (ez nem neked szol sko8): szokjatok le a magyar valotozonevekrol. De ez meg semmi, mert baromira nem eleg. Kezdjetek el setet es getet hasznalni, es rovid, par soros fuggvenyeket irni. Es meg valami: az ilyen kod nem reusable. NE, ne, es ne!
Gondolkodjatok MVC-ben szedjetek megfelelo elemekre a kodot!
-
cAby
tag
válasz
Sk8erPeter #2034 üzenetére
Szia!
Köszi a hozzászólást. Marha késő van, alig látok, holnap rendesen is megpróbálom elemzni, amit írtál, de nagyjából értem.Sehogy nem akar összejönni a dolog, most ilyet csináltam:
if ( $apartman != ' ' || $vendeghaz != ' ' )
{
if ( $reggeli != ' ' || $felpanzio != ' ' )
{
$sql = "SELECT * FROM szallasok WHERE tipus_kereses IN ('" . $apartman . "','" . $vendeghaz . "') AND ellatas_rovid_kereses IN ('" . $reggeli . "','" . $felpanzio . "')";
}
elseif ( $reggeli = ' ' && $felpanzio = ' ' )
{
$sql = "SELECT * FROM szallasok WHERE tipus_kereses IN ('" . $apartman . "','" . $vendeghaz . "')";
}
}így ha bekattintom az apartmant vagy vendégházat vagy mindkettőt + reggelit és/vagy félpanziót, akkor teljesen jól kiadja a dolgot. De ha csak apartmant és/vagy vendégházat jelölöm be, de nem jelölöm be reggelit se meg félpanziót se, akkor nem ad ki semmit.
Egyszerűen nem jövök rá, hogy miért és nagyon idegel, hogy több napja ezzel szenvedek.
Ha ez jó is lenne, akkor sem lenne jó szerintem, mivel csomó értéket lehetne beállítani és amíg mindent lekezelek if-fel.. háát.. megöregednék valszeg meg belebonyolódnék.
Tehát gondolom van erre valami jobb megoldás.
Ha dolgoztál ilyen területen, akkor gondolom neked van ötleted erre is.
Nagyon szépen megköszönném, ha tudnál segíteni, persze ha időd engedi.üdv,
Csabi -
Sk8erPeter
nagyúr
Az a baj, hogy már maga az adatbázis struktúrája rossz ebben a formában. Úgy kellene, hogy itt azonosítókat kapcsolsz össze, ami kiadja egy szállodaentitás tulajdonságait.
Az összes tulajdonsághoz tartozna egy azonosító (pl. magához az ellátás típusához is tartozik egy számszerű azonosító (pl. 666)), és a tulajdonságok konkrét értékeihez is tartozna azonosító (pl. a reggeli típusa 1, a félpanzió 2, a teljes ellátás 3, stb.), stringekkel ilyen esetben nem nagyon érdemes dolgozni, vagy legfeljebb egyetlen táblában legyen, amit összekapcsolsz az összes többivel, hogy megtudd, melyik tulajdonságról van szó - pl. nyilván a tulajdonságnak (ellátás) van egy neve is, ezt egy külön táblában jelezni kell; de van a tulajdonságokhoz tartozó értékeknek (reggeli, stb.) is neve, de ezek legyenek elkülönítve. Aztán INNER JOIN-olod őket...
Bocs, de most kissé késő van, ha holnap lesz energiám, ennél egy kicsit bővebben is kifejtem... Ez nagyjából ahhoz hasonlóan működik, mint egy társkereső, ott is vannak paraméterek, amik szerint keresget az ember mondjuk partnereket, nekem kellett hasonlóval dolgoznom már adatbázisszinten, na ott a fenti elképzelés szerint csináltam, elég összetett lett, de nagyon jól szűrhető, és elég konzekvens, de ami leginkább előnye, hogy könnyen bővíthető újabb paraméterekkel a meglévő struktúra megborítása nélkül.
Gondolom ez most így csak bonyolult fostengernek tűnik így elsőre, de annyira nem is az, majd megpróbálom jobban kifejteni, ha érdekel. -
Sk8erPeter
nagyúr
válasz
SektorFlop #2030 üzenetére
Na ne már....
Most komolyan azt javaslod, hogy minden adatot kérjen le adatbázisból, és majd utána szűrjön? Akkor gondolj bele, mi van, ha feltételezzük, hogy többmillió adata van, amik közül keresgélni kellene... akkor először az ÖSSZESET tök feleslegesen lekéri, és ezek után szűr? NEM, ilyet soha ne csinálj.A fórum-hozzászólásoknál meg különösen illene szűrni, ott ugyanis még dinamikusabban nőhet az adatbázis mérete. És erre nem lehet válasz az, hogy "ugyan már, az én oldalamon úgysincs olyan nagy forgalom", ez a hozzáállás nagyon rossz, mi van, ha valamilyen oknál fogva mégis az lesz? Vagy mi van, ha akarsz egy következő alkalmazást fejleszteni, majd azt is úgy készíted, mert jól működött az előzőnél?
Amit itt írtál, az ilyesmi jellegű változónak átadás:
$tipus = $sor['tipus'];
az idők során rá fogsz jönni, hogy egy nagyon rossz szokás.
Ilyen módon nem bejárhatóak a későbbiekben az érintett adataid ciklussal, nem tudod őket könnyedén, egyértelműen kezelni, nem tudsz köréjük egy wrapper osztályt írni, vagy nehézkesen, és egyéb problémák is felmerülhetnek ezzel kapcsolatban.
Érdemes inkább kigyűjteni tömbökbe vagy objektumokba ezeket az adatokat, amik egy helyre tartoznak.
pl.
$hotels = array();
while($row = ............){
$hotels[] = $row;
}egy leegyszerűsített példával élve. Ezután egyszerűen bejárhatók a hotelek adatai pl. egy foreach-csel.
-
cAby
tag
válasz
SektorFlop #2030 üzenetére
megpróbáltam, egyelőre még nem jó..
küzdök még vele holnap is, aztán ha nagyon nem megy, beteszem a forráskódot, hátha megtalálja benne valaki a hibát és segít -
cAby
tag
válasz
Peter Kiss #2028 üzenetére
A kereséshez szükséges adatok a táblából:
CREATE TABLE IF NOT EXISTS `szallasok` (
`azonosito` int(11) NOT NULL AUTO_INCREMENT,
`szallas_nev` varchar(30) CHARACTER SET utf8 DEFAULT NULL,
`helyseg` varchar(20) CHARACTER SET utf8 DEFAULT NULL,
`tipus` varchar(15) CHARACTER SET utf8 DEFAULT NULL,
`tipus_kereses` varchar(15) CHARACTER SET utf8 NOT NULL,
`ellatas_rovid` varchar(15) CHARACTER SET utf8 DEFAULT NULL,
`ellatas_rovid_kereses` varchar(15) CHARACTER SET utf8 DEFAULT NULL);@SektorFlop: Érdekes felvetés, hogy először kérjek le mindent és aztán szűrjek. Köszi a tippet, megnézem.
Bár gyanús, hogyha így nem jó, akkor úgy sem lesz az.
Most amúgy az a baj, hogy ha bekattintom h apartman + reggeli, akkor kidobja az apartmant, de reggelivel, félpanzióval és teljesellátással is. De nem értem, hogy miért.
-
SektorFlop
aktív tag
nekem is van ehez hasonló helyzet, kiolvasom az egész táblát és csak azt íratom ki ami megfelel egy bizonyos feltételnek, remélem jól értelmeztem a dolgot és tudok segíteni.
ahogy írtad kimented a változókba az értékeket:
$apartman, $vendeghaz, $hotel, $reggeli, $felpanzio, $teljesellatas
$szallasok= mysql_query("SELECT * FROM szallasok");
while($sor=mysql_fetch_array($szallasok)){
//kiolvasol minden adatatot az adatbázisból amire szükségedvan
pl ha van olyan rekord a szálások táblában hogy tipus, akkor:
$tipus=$sor['tipus'];//ha vendégházakat akarod kiíratni, akkor itt egy példa:
if($tipus==$vendeghaz){elvileg csak azokat a házakat fogja listázni aminek a tipusa megegyezik a $vendeghaz értékével.
}
}remélem tudtam segíteni és érthető amit írtam, de ha nem írd le táblád rekordjait meg hogy is nézz ki igazából, úgy többet tudok segíteni
-
SektorFlop
aktív tag
válasz
Sk8erPeter #2024 üzenetére
most hoztam be ezt a dolgot, de lehet tényleg semmi értelme, és hanyagolni kellene...
-
cAby
tag
Hali!
Segítségeteket szeretném kérni.
Egy keresőt szeretnék csinálni, pl. meg lehet adni a követekező adatokat:
szállás Típusa checkbox-szal: apartman, vendeghaz, hotel
Ellátás típusa checkbox-szal: reggeli, félpanzió, teljes ellátás
+ van egy submit gombTehát ha valaki bepipiálja az apartmant, kiadja az apartmanokat, ha valaki apartmant és reggelit, akkor kiadja az apartmanokat, ahol az ellátás reggeli.
A táblám (szallasok) erre vonatkozó részlete:
szállás név, típus, típus_keresés, ellatas, ellatas_keresés(típus pl: vendégház, típus_keresés pedig vendeghaz, tehat ékezetek nélkül, mert a checkbox-ot is úgy csináltam, hogy a value-ja ekezet nelkul legyen, pl. vendeghaz)
Ezt a következőképp kezelem le:
először kimentem a formról kapott adatokat ezeket a változóba:
$apartman, $vendeghaz, $hotel, $reggeli, $felpanzio, $teljesellatasEzek értéke a változó nevével azonos pl. $teljesellatas = 'teljesellatas'
Ezután jön az utasításom:
$sql = "SELECT * FROM szallasok WHERE tipus_kereses IN ('" . $apartman . "','" . $vendeghaz . "','" . $hotel . "') AND ellatas_rovid_kereses IN ('" . $reggeli . "','" . $felpanzio . "','" . $teljesellatas . "')";De ez valahogy nem akarja az igazságot.
Valszeg tök rosszol csinálom.Ami nehezíti majd, hogy kb 5 ilyen textbox-csoport lesz + település nevét lehet megadni és az kell, hogy ez mind külön külön is működjön, tehát ha csak nevet ad be valaki akkor adja ki azokat a nevűeket, de ha bepipál mást akkor azokat adja ki.
Minden ilyen variációt lekezelni elég hosszadalmas és bonyolult lenne.
Ilyen keresésre van valami más, egyszerűbb módszer?
Napok óta ezen töröm a fejem, de nem sikerül rájönnöm.
Köszönöm szépen annak, aki tud segíteni!
üdv,
Csabi -
Sk8erPeter
nagyúr
válasz
SektorFlop #2021 üzenetére
Tehát magyarul van egy forum_msgs táblád, és azonbelül a datum mező neve nem simán datum, hanem forum_msgs.datum?
Hát eléggé felesleges, hogy az adott nevű tábla mezőit kiegészíted a táblanév+mezőnévvel, és magunktól nehéz lett volna kitalálni, hogy ilyen rossz szokásokat alkalmazol, amíg le nem írod.
Én azt javasolnám, inkább erről szokj le, de persze egyéni döntés.
Nincs mit!(#2023) wolandino :
szívesen, de mire jutottál? -
wolandino
tag
válasz
bLaCkDoGoNe #2014 üzenetére
én is erre jutottam, köszönöm.
-
wolandino
tag
válasz
Sk8erPeter #2015 üzenetére
én is erre jutottam, köszönöm.
-
SektorFlop
aktív tag
válasz
SektorFlop #2020 üzenetére
bocsánat helyesbítek
*a mező neve "forum_msgs.datum"
de még1x köszönöm, sikerült is megcsinálni
-
SektorFlop
aktív tag
válasz
Sk8erPeter #2019 üzenetére
félre érted, ez pl. a rekordom neve "forum_msgs.datum", de köszi így sikerült rájönnöm a hibára
$forum_msgs= mysql_query("SELECT * FROM forum_msgs ORDER BY forum_msgs.forum_msgs.datum");
így kell kinéznie a lekérdezésemnek
, kicsit csúnya, csak szeretem pontosan tudni hogy mi melyik tábla dátuma pl.
-
Sk8erPeter
nagyúr
válasz
SektorFlop #2016 üzenetére
A lekérdezésed jó. (már amennyiben létezik a "datum" mező a forum_msgs táblában, de feltételezem, létezik)
A PHP-kódnál viszont nem kell oda a forum_msgs, tehát ehelyett:$hozzaszolt=$sor['forum_msgs.user'];
$datum=$sor['forum_msgs.datum'];
$uzenet=$sor['forum_msgs.msg'];
$nev=$sor['forum_msgs.topic'];próbáld ezt:
$hozzaszolt=$sor['user'];
$datum=$sor['datum'];
$uzenet=$sor['msg'];
$nev=$sor['topic']; -
rt06
veterán
válasz
SektorFlop #2016 üzenetére
ha fetch_array-t hasznalsz, akkor a $sor tombod elemeit sorszamozva ered el
ha mezonev alapjan szeretned, akkor hasznald a fetch_assoc fgv-t (bar azt hiszem, a tablaalias-t akkor sem teszi oda)szerk.: tevedtem, alapertelmezeskent a fetch_array is visszaadja a mezoneveket (is), mint tombindex
-
Peter Kiss
őstag
válasz
SektorFlop #2016 üzenetére
Csak a hibaüzenet maradt el.
-
SektorFlop
aktív tag
adatbázis probléműma ütköztem ha valaki esetleg tud segítsen.
$forum_msgs= mysql_query("SELECT * FROM forum_msgs"); -> így működik a kód, ezzel a probléma hogy nem úgy rendezi ahogy én szeretném.
de ha már átírom erre:
$forum_msgs= mysql_query("SELECT * FROM forum_msgs ORDER BY forum_msgs.datum"); akkor egyből hibát dob az utána következő részre:while($sor=mysql_fetch_array($forum_msgs)){
$hozzaszolt=$sor['forum_msgs.user'];
$datum=$sor['forum_msgs.datum'];
$uzenet=$sor['forum_msgs.msg'];
$nev=$sor['forum_msgs.topic'];*a hibaüzenet alapján arra következtettek hgoy rossz a mysql lekérdezésem, valaki kitudná nekem javítani? sajnos már minden lehetőséget kimerítettem ami eszembe jutott
-
Sk8erPeter
nagyúr
válasz
bLaCkDoGoNe #2014 üzenetére
Na igen. Ha így csinálná, akkor nem lenne kérdés, mi legyen a flag arra vonatkozóan, hogy munkanapról van-e szó, vagy sem. Szerintem is ez lenne a jó, erre el is felejtettem előbb válaszolni.
-
Sk8erPeter
nagyúr
válasz
wolandino #2009 üzenetére
1.) itt a százalék helyett miért nem valami jobban kalkulálható egységgel dolgozol? Például a meló mértéke lehetne inkább óra egységben megadva: adott hónapban X órát dolgozott. Persze ettől függetlenül lehetne pluszban egy mező, hogy ez most 100%-ot, vagy 432%-ot jelent, bár lehetne ezt is másképp megoldani, ez már egyéni döntés kérdése.
2.) hmm, itt most gyorsan átfutva nem jut eszembe hirtelen más, mint hogy minden naptári napot eltárolni - tulajdonképpen muszáj, hiszen minden napra más adat vonatkozik.
Mivel minden naptári naphoz tartozhat általános, mindenkire érvényes adat is, esélyes, hogy egy külön táblában kellene tárolni a naptári napokat,és ezek id-jaihoz kapcsolni az egyes dolgozók napokra lebontott adatait. Szerintem csak így tudsz minden adatot jól követhetően tárolni, hogy minden évre, napra, dolgozóra rá lehessen külön keresni, és viszonylag általános legyen a szerkezet. Még ha sok adat is lesz ezzel, több táblában, és dolgozónként hivatkozni kell a naptári napok id-jaira az év összes napján...
Nem kell minden évnek külön tábla, egy szerintem elég, ahol az összes naptári nap szerepel, aztán lehet, hogy van erre megfelelő ellenérv. De ilyen esetben mindenképp érdemes szerintem különbontani a dátum egyes adatait, tehát akár évet, hónapot, napot, bizonyos dátum szerinti kereséseknél tudtommal ez hatékonyabb is lehet, mert nem kell mindig dátumkonverziós függvényeken keresztülverni az egész dátumot.Most nem gondoltam végig minden lehetőséget, tehát remélem még valaki hozzátesz a gondolatmenethez.
Egyébként ez igazából szimpla SQL-kérdés, semmi köze a PHP-hoz, nyugodtan mehetett volna az SQL-kérdés topicba, ott talán többen is látják, azok is, akiket a PHP nem érdekel, de vágják az SQL-t (és követik a topicot). Tulajdonképpen nem tudom, melyik a látogatottabb topic.
-
Sk8erPeter
nagyúr
Nem hiszem, hogy így látatlanban, mindenféle körülmények leírása nélkül fogja neked tudni bárki is, hogy mit kellene tartalmaznia a general_setting tábládnak, de először is létre kéne hozni...
Másrészt a /tmp könyvtár nem elérhető vagy nem írható a webszerver számára, állítsd át php.ini-ben a session.save_path értékét, vagy adj rá írási jogokat, már amennyiben saját rendszeredről van szó, és/vagy hozzáférsz a beállításokhoz.
Na meg kicsit részletesebben számolj be a problémádról.Szerk.:
(#2011) bLaCkDoGoNe : hogy a helyzetet súlyosbítsam, ezek után még priviben is próbálkozott ugyanezzel, 0 előrehaladással, de mentségére szóljon, hogy állítólag utána valahogy megoldotta.Mondjuk sanszos, hogy azt is külső segítséggel.
-
Sk8erPeter
nagyúr
Látom ide is beírtad a kérdésedet... Felejtsd már el ezt az ütemezett életkor-update-elést, egyszerűen amikor kíváncsi vagy a felhasználó életkorára, számítsd ki a születési dátumából minden alkalommal, amikor megjeleníted, ez úgyis villámgyors, ne szenvedj már a totál megbízhatatlan ütemezéssel... (korrigálom magam: az ütemezés maga nem feltétlenül megbízhatatlan, de ha mégis kimarad valamilyen oknál fogva (pl. valaki kiszedi az ütemezett feladatok közül, épp volt egy áramkimaradás az ütemezés időpontjában, mittudomén stb.), akkor máris szar értéket jelenítesz meg, ahelyett, hogy a mindig naprakész automatikus kiszámítást végeznéd el)
Szerk.: még szerkesztési időn belül találtam erről szóló topicot: [link]
itt a kérdező nem tudom, mit szenved azzal a query-vel, mit gányolgat, de utána megmondja a megoldást, hogy valami usershortcodes.php fájlba kell tenni ezt a kódrészletet, gondolom neked megfelelően átalakítva, ha kell, nekem személy szerint fingom sincs, mi ez, soha nem használtam e107-et, és hacsak nem nagyon muszáj, nem is fogok.Szerk. 2.: van itt valami Birthday Menu is, ahol állítólag csak be kell pipálni egy checkboxot ("Show age"), és máris ott lesz neked az életkor... Akkor minek szórakozol saját megoldásokkal, ami rossz?
-
wolandino
tag
Sziasztok,
PHP-MySQL környezetben:
Egy túlóramodell kialakítására törekszem, amiben kérnék egy kis segítséget:Eddig erre jutottam:
1.
Munkarend( dolgozó_id, hónap, százalék) tábla
tehát ennek pl. egy olyan sora, hogy (10, 2011-01, 100) azt adná meg, hogy Józsi bácsi 2011 januárjában teljes munkaidőban, azzaz napi 8 órában dolgozott.2.
El kellene tárolni az egyes naptári évek napjait és azt a tulajdonságukat, hogy munkanapok-e.
Ezt még nem tudom hogyan tároljam el.
Az egyik lehetőség ami az eszembe jutott, hogy minden naptári évhez létrehoznék egy táblát, aminek 365 vagy 366 sora lenne, a napoknak megfelelően.A túlóraszámítás útgy történne, hogy egyenleg= havi jelenetett munkaidő(már kész van) -
a kötelező munkanapok száma*hány százalékos munkaidőben dolgozik az adott dolgozó.Az adott naptári évek tárolásában szeretnék segítséget kérni, hogy hogyan lehetne ezt a legszebben és redundanciamentesen megvalósítani?
Köszönettel,
W. -
tras
csendes tag
válasz
DeltaPower #2007 üzenetére
Tudnál nekem segíteni részletesen, mert nem nagyon foglalkoztam még ilyennel!?
-
tras
csendes tag
Sziasztok az alábbi hibára mi a megoldás?
Database error: Invalid SQL: select * from general_setting
MySQL Error: 1146 (Table 'talan999.general_setting' doesn't exist)Host : 127.0.0.1
Database : talan999
User : talan999
Session halted.
Warning: Unknown: open(/tmp/sess_a5c72e1b6147b5d183925d391bcae7b0, O_RDWR) failed: No such file or directory (2) in Unknown on line 0Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0
-
rt06
veterán
1: eleg naponta frissiteni
2: csinalsz egy script-et (lehet php is), ami kapcsolodik a db-hez es futtatja a query-t, majed ezt a script-et meghivod cron-nal (linux-on), vagy feladatutemezovel (windoze-on)
3: nem lenne jobb megoldas select-nel szamitani az eletkort (amikor nagyon muszaj)? -
retrox
csendes tag
vagy hogy kapcsolhatom egy meglévő php fájlhoz(ami sokszor kapcsolódik az adatbázishoz)
-
retrox
csendes tag
válasz
Peter Kiss #2001 üzenetére
OK.Elfogadom.Csak azt mondjátok meg nekem,hogy érem el,hogy mondjuk óránként frissíti a mysql ezt:
UPDATE e107_user_extended SET user_kora=floor(DATEDIFF(now(),user_birthday)/365.2425);
Aktív témák
Hirdetés
- PlayStation 5
- Macron betiltatná az EU-ban a közösségi médiát a 15 év alattiaknak
- Nem növel telepméretet a Galaxy S26 Ultra
- Samsung Galaxy S24 - nos, Exynos
- AMD vs. INTEL vs. NVIDIA
- OLED TV topic
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Vélemény: nem úgy tűnik, de Lip-Bu Tan most menti meg az Intelt
- Magas AI-költségek, csökkenő létszám: dolgozók ezreit rúgja ki a Microsoft
- iPhone topik
- További aktív témák...
- MacBook felvásárlás!! Macbook, Macbook Air, Macbook Pro
- HUAWEI MateBook 13 2020 - Kijelző nélkül - I7-10510U - 16GB - 512GB SSD - Win11 - MAGYAR
- Telefon felváráslás!! Xiaomi Redmi Note 11, Xiaomi Redmi Note 11 Pro, Xiaomi 11 Lite
- 137 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080
- AKCIÓ! MSI B450 R5 5500 16GB DDR4 512GB SSD RTX 2060 Super 8GB GDDR6 Rampage Shiva Zalman 500W
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest