- Samsung Galaxy S23 Ultra - non plus ultra
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Milyen okostelefont vegyek?
- Samsung Galaxy Watch7 - kötelező kör
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Google Pixel topik
- Telekom mobilszolgáltatások
- Hívószám-hamisítás
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
Új hozzászólás Aktív témák
-
bobace
addikt
Szerencsére magamnak csinálom. Ez a "tanulóprojektem" phpban. Sajnos ennél ki is jött a legnagyobb problémám, nincs rendes programozó agyam
Nem tudok ennyi féle problémát előre látni... Persze, gondolom gyakorlat teszi..
Végül is mivel alapvetően prepaid rendszerű a dolog, így mindegy melyik optimumot választanám, mert az egyenleg a mérvadó, ha most marad 20 Ft a számláján mindegy, majd következő alkalommal beszámítja a rendszer. Csak szerettem volna igényesen megjeleníteni, hogy mely tételek vannak már úgymond rendezve, csak bírnám legalább valamelyiket leprogramozni -
bobace
addikt
válasz
Sk8erPeter #11975 üzenetére
Bocs, hogy veletek osztom meg a dolgot, de kivel mással
Az elméletem:
Van X egyenlege. X lehet kisebb mint 0, 0, nagyobb mint 0.
Érkezik Y feltöltés. Y > 0
Van neki több tétele: A, B, C , D, E, n.
X >= 0 :automatikusan minden 1-re lesz állítva. Y növeli X értékét.
X < 0 esete:
1. X+Y = 0 -> mindent 1-re állítok
2. X+Y > 0 -> mindent 1-re állítok és X nagyobb lesz, mint 0.
3. X+Y < 0 ->annyit állítok 1-re, ahányat tudok.
Szeretném X-et úgy elkölteni, hogy időrendben amire pénz van azt állítsa 1-re. Egyesével vizsgálgatom sorba az elemeket:
a. Ha Y – A > Y
1. ha igen, akkor A => 1 lesz, Y pedig csökken A értékével => Y-A = Y2 => b. pont
2. ha nem, akkor ugrik B-re, és megvizsgálja azt.
(Ha Y - B > Y, akkor B =>1. Ha nem, megy C-re. Ezt folytatja n-ig.)
b. Ha Y2 – B > Y2
1. Igen: B=>1 , Y2 – B = Y3
2. Nem: Ugrik C-re.
Ez helyesnek tűnik? Mondjuk hogy hogy lesz ebből kód -
bobace
addikt
válasz
Sk8erPeter #11975 üzenetére
Ilyen hibaüziket pakol egy logba a check, amit az admin felületen tudok ellenőrizni (itt pl elfelejtettem az order by részt levenni a select végéről):
"15-11-2012, 11:46:43:: Adatbázis hozzáférési hiba. Kérjük vegye fel a kapcsolatot az adminisztrátorral. SELECT u.id FROM fees u WHERE u.paid = 0 and u.user_id=17 ORDER BY amount
Unknown column 'amount' in 'order clause'
page: C :\wamp\www\root\admin\user.php line:273"
Maga a function a mysql_error() köré épül. -
bobace
addikt
válasz
Sk8erPeter #11970 üzenetére
A $row['id'] mikor fog változni? A sima if ágban sem ugrik a következőre? (Mert ott ha elég az összeg mindenre, akkor minden sort updatel)
Nem tudom, hogyan működik ez a check, de még eddig dobta a hibákat.. Nem vagyok php guru, majd egyszer
Az utolsó példád az a legegyszerűbb, mert akkor egyszerűen az egyenlege +2950 lesz, az if ág pedig működött ilyenre. Tehát pluszba mehet, maradhat fent egyenlege, ami kimarad, azt majd legközelebb elhasználja másra, illetve ott automatikusan 1-re állítom a paidet, amíg pluszos az egyenleg.
-
bobace
addikt
Ez így volt a rendszerben ez a check és system, ezeket nem én találtam ki,csak kopizon, ahová láttam, hogy kell.. Ez egy egyedi CRM rendszer része, amit nem én csináltam.
A megoldás az lenne, hogy 200 Ft-ból kiegyenlít időrendben amennyit tud. Ha mondjuk az 50-50-90-90-200 időben 50-200-90-50-90, akkor 50-90-50-et egyenlít ki, és marad 10. De ha mondjuk 200-50-50-90-90, akkor nyilván a 200-at. Nem tudom, hogyan lenne a leglogikusabb, lehet hogy nagyság szerinti sorba kéne rakni, nem időben? Bár ott meg ha nincs keret a legnagyobbon, és megáll a dolog, akkor meg kisebbek nem lesznek kiegyenlítve, holott arra lenne egyenleg.. Ezt én sem tudom, mi a legéletszerűbb, leglogikusabb.
-
bobace
addikt
Az megesik, hogy ezer sebből vérzik, hisz én írtam, és én nagyon kicsit értek hozzá
- annyit kellene neki tudni, hogy vannak benne fizetetlen tételek, amiket ki akarok egyenlíteni. Egy-egy befizetésnél megvizsgálja, hogy mely tételeket kell kiegyenlíteni, és van-e rá fedezet. Egyszerre több tétel is lehet, mondjuk van kint 50+200+100 és bejön 180 vagy akármennyi (plusz az előző egyenlegem, mondjuk 15), ami kevesebb mint a kintlévő összeg (350), de amire van fedezet, azért azt állítsa át fizetvére (100+50). Azt érzem, hogy ez nem gyenge feladat, egyelőre annak is örültem volna, ha az 50-re rájön, hogy azt állítsa át első körben.
-a check a szintaktikát ellenőrzi, ha rossz, dob egy hibaüzit. Teszteléskor jól jött sokszor. -
bobace
addikt
válasz
Sk8erPeter #11964 üzenetére
Akkor bemásolok többet
Továbbra sem vagyok sokkal okosabb, szóval simán lehet, hogy teljes hülyeség amit csinálok..
while ($row = mysql_fetch_assoc($res2))
{
if (($egyenleg + $feltolt) >= 0)
{
$query = "UPDATE fees u SET u.paid = 1 WHERE u.id=" . $row['id'];
$system->check_mysql(mysql_query($query), $query, __LINE__, __FILE__);
}
else
{
$avabal = $egyenleg + $feltolt ;
while ($avabal >= $row['amount'])
{
$query = "UPDATE fees u SET u.paid = 1 WHERE u.id=" . $row['id'];
$system->check_mysql(mysql_query($query), $query, __LINE__, __FILE__);
$avabal= $avabal - $row['amount'];
}
}
}
Még így teljesen rossz? A sima if rész működik jól, azt próbáltam, vagy lehet nem is jó, csak csinálja, ami nekem kell? -
bobace
addikt
Korábban már kérdeztem itt, de nem bírtam megoldani a dolgot, így visszatértem..
Most ez a kódom:
Van egy lekérdezésem, amire a $row-val hivatkozok
$avabal = $egyenleg + $feltoltes ;
while ($avabal >= $row['amount'])
{
$query = "UPDATE fees u SET u.paid = 1 WHERE u.id=" . $row['id'];
$avabal= $avabal - $row['amount'];
}Azt akarom kihozni, hogy minden update után számolja újra az avabal-t, és a következő körben már azt vizsgálja, hogy nagyobb-e, mint az amount sorban szereplő érték. Ezt hogyan kell?
-
bobace
addikt
válasz
Sk8erPeter #11741 üzenetére
Küldtem privet.
Amúgy persze, hogy nem best, olyan egyszemélyes projektnek tűnik, van benne hiba is szép számmal, de könnyen tudtam vele boldogulni. Ránézésre a linkelt modulok nem tudják, ami nekem kell ebből. -
bobace
addikt
válasz
Sk8erPeter #11737 üzenetére
Ez lenne az. Egy sima webáruházat (virtuemart és társai) sokkal nehezebb lett volna átszabni.
-
bobace
addikt
válasz
Sk8erPeter #11732 üzenetére
Egy a gond, hogy az enyém is egy CMS rendszer alapból (csak nem ismert, de ez volt a legmegfelelőbb arra, amit akartam), ezt már átültetni nem gyenge dolog lenne. Ejj nem bíztatóak a kilátások.
-
bobace
addikt
válasz
Sk8erPeter #11729 üzenetére
Közben ezt a dolgot feladtam. A rewriteok működtek, amiket megadtam, de visszafelé nyilván értelmetlen is a dolog, ez volt egy sor:
RewriteRule ^(.*)termek/(.*)$ item.php?id=$2 [L]Azt akartam megoldani, hogy ha beírom hogy item.php?id=123, akkor a böngészőben termek/123 legyen.
Mai kutatásaimnak köszönhetően arra jutottam, hogy PHP rounting kellene.
Itt csak ennyi a .htaccess: RewriteRule ^.*$ index.php És akkor csinálok egy route funkciót, és az index.php-ba írom be, hogy mi mire mutasson. Most arra próbálok rájönni, hogy ezt hogyan is kell. -
bobace
addikt
Na látom, sikerült itt indulatokat kelteni.. Azért bátorkodtam ide feltenni a kérdést, mert az apache topikba nem írtak 3 éve, itt meg az apache-ra keresve elég sok friss találat is volt. Gondoltam köthető a témához, ha már más is meg merte kérdezni itt ezirányú baját
Ennyi.
Ja és:
- Nyilván beírtam, a keresőbe, de nem volt olyan, ami nekem kell.
- Azért tettem fel a kérdést, mert előtte már 2 napig a google-t túrtam, és nem jöttem rá a megoldásra. Nem szoktam olyat megkérdezni, amit meg bírok oldani...
- mivel nem én írtam a rendszer magját (csak átalakítom saját igényekre), és másrészt nem is vagyok programozó, így ebből kell főznöm.Én kérek elnézést...
-
bobace
addikt
Sziasztok! mod_rewrittal kapcsolatban lenne kérdésem. AZt megoldottam, hogy ha beírom, hogy sajatoldal.hu/termek/1 akkor az jöjjön be aminek kell. De azt hogy tudom megoldani, hogy ha beírom a hosszú címet, ami valami ilyesmi: sajatoldal.hu/index.php?item.php=1, a címsorban, akkor is a sajatoldal.hu/termek/1 legyen? Mert az oldalamon levő linkek mind a hosszú címekre mutatnak (most kezdtem el a rewrittal ismerkedni), de jó lenne ha a címsorban már a rövid lenne.
Köszi! -
bobace
addikt
Az egyszerűbb részt megcsináltam, hogy ha ugyanannyi a befizetés, mint az összterhelés, akkor updatelek minden sort. Nyilván ez sem túl elegáns, mert egy lekérdezéssel mindent le lehetne tudni, csak hogy érezzek egy kis sikerélményt, ezt megcsináltam
Else-ben addig jutottam, hogy lekérem SQL-ból az összegeket. Mondjuk ez 5 érték. De itt megállt a tudomány, ez a rész nem megy: "Majd szépen egyenként összeadogatod őket. Egy array-ban eltárolod azok id-ját amiket összeadsz . Nyilván akkor írod bele amikor már biztos, hogy 100alatt van az össz érték (és mész a következőre)." Foreachet már használtam egyszer-kétszer, de nem tudom, ezt hogyan lehetne összerakni..Hogyan adogatom össze őket úgy, hogy figyeljen egy értékhatárt? -
bobace
addikt
Sziasztok!
Nem régen vágtam bele SQL és PHP programozásba és egyben tanulásába. Viszonylag kezdek belejönni. Más nyelvhez nem igen értek, max html.. Szóval így kérném a választ, már ha kapok.
Azt szeretném megoldani, hogy adott egy tranzakciós lista.
Minden sornál eltárolom adatbázisban a fizetve sorhoz a 0 vagy 1 értéket, és ehhez megjelenítem a felületen a nincs fizetve/fizetve szöveget.
Ha egy terhelés jön, akkor csinálok 0-ás sort, ha jóváírás, akkor 1-est. Eddig tiszta sor.
Amit szeretnék megoldani, hogy mondjuk van 150 Ft terhelés, és akkor jön 100 Ft jóváírás, akkor a 0-ás sorokat írja át 1-esre azokban a sorokban, amire elég a jóváírás maradék nélkül. Hogyan lehet ezt számolni, mi lenne a módja?Köszi!
Új hozzászólás Aktív témák
Hirdetés
- Okos Otthon / Smart Home
- user2: Kia Ceed Gold 160 1.5 T-GDI MY2024
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Intel Dual Core 2000 felhasználók barátságos offolós topikja
- Autós topik
- Nyíregyháza és környéke adok-veszek-beszélgetek
- Gyúrósok ide!
- Samsung Galaxy S23 Ultra - non plus ultra
- Honda topik
- További aktív témák...
- Intel Core Ultra 7 265 /// Bontatlan, Teljesen Új // Üzletből, Számlával és Garanciával
- Csere-Beszámítás! Ryzen 9 9950X Processzor!
- Újszerű Gamer Asztali PC Számítógép 2026-ig Garis ASUS H510M-K R2.0 i5 11400F RTX 4060 8GB Dobozába
- Samsung Galaxy Tab A8 (2021) , 3/32 GB,
- Samsung Galaxy S6 Lite (2022) , 4/64 GB ,Wi-fi
- Egyedi ékszerdobozka
- BESZÁMÍTÁS! Asus TUF B550M R7 5700X 16GB DDR4 512GB SSD RTX 3060 Ti 8GB Rampage SHIVA FSP 700W
- Bomba ár! Lenovo ThinkPad T470 - i5-G6 I 8GB I 256GB SSD I 14" FHD I HDMI I Cam I W10 I Garancia!
- PlayStation Plus Premium 24 hónapos előfizetés , egyenesen a Sony-tól!
- Tablet felvásárlás!! Samsung Galaxy Tab A8, Samsung Galaxy Tab A9, Samsung Galaxy Tab S6 Lite
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest