Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
Atti575
#12394
üzenetére
Teljesen felesleges itt az adatbázis- és tábla-létrehozó query-d. Ezt nem így szokás elintézni, szóval amíg nincs az alkalmazásodban ez a tábla automatikus létrehozása az alkalmazásból egy jó helyre beépítve, addig inkább hozd létre manuálisan az adatbázist és a táblát. Úgyis csak egyszer kell. Viszont csúnyává teszi a kódodat, hogy ott van ez a query, plusz egy felesleges terhelést ró a webszerverre és az adatbázis-szerverre is.
Ezt a hozzászólásomat nem láttad? >>> [link]
Itt egy használhatóbban kinéző kód van.========================
(#12397) fordfairlane :
bár látványosan ignorálod a neked címzett hozzászólásaimat, az azokban esetleg számodra feltett direkt kérdéseket valami elég furcsa okból, azért megkérdezem: miért nem próbálsz inkább jobb szokást belenevelni az újoncba, pl. PDO-kódok használatával, hibaelnyomás (lásd @ karakter) használata helyett normális hibakezeléssel? Most érted, az is egyfajta "felelősség", hogy mi milyen segítséget adunk itt valakinek. -
fordfairlane
veterán
válasz
Atti575
#12394
üzenetére
mysql_select_db("test");
helyett
mysql_select_db("etterem");$selectdb= @mysql_select_db($etterem);
helyett
$selectdb= @mysql_select_db("etterem");INSERT INTO eterem
helyett
INSERT INTO kajaMáskor légyszi olvashatóbban írj, és használd a programkód formázást a programkódnál, mert így egy olvashatatlan massza az egész. Ja, és használd a mysql_real_string_escape-t az INSERT INTO-nál, ahogy azt a példámban korábban írtam.
-
fordfairlane
veterán
válasz
Atti575
#12377
üzenetére
Szerintem már kaptál példát arra, hogy hogyan kell adatot írni adatbázisba. Létre kell hozni egy adattáblát a megfelelő mezőkkel, ez lesz az adatok sémája. Adatot beleírni meg egyszerű:
$query = 'INSERT INTO tablanev SET';
$query .= ' mezonev1 = "'.mysql_real_escape_string($mezoertek1).'"';
$query .= ',mezonev2 = "'.mysql_real_escape_string($mezoertek2).'"';
$query .= ',mezonev3 = "'.mysql_real_escape_string($mezoertek3).'"';
/// és így tovább, és így tovább, ahány meződ van...
mysql_query($query); -
válasz
Atti575
#12360
üzenetére
<?php
$fizet=0; vasarolt="";
if ( IsSet($_POST["piritos"] && $_POST["piritos"]>0) { $fizet+=$_POST["piritos"]; $vasarolt.="- prititós<br>"; }
if ( IsSet($_POST["palacsinta"] && $_POST["palacsinta"]>0) { $fizet+=$_POST["palacsinta"]; $vasarolt.="- palacsinta<br>"; }
if ( IsSet($_POST["kako"] && $_POST["kako"]>0) { $fizet+=$_POST["kako"]; $vasarolt.="- kakaó<br>"; }
if ( IsSet($_POST["tea"] && $_POST["tea"]>0) { $fizet+=$_POST["tea"]; $vasarolt.="- tea<br>"; }
print "Fizet: ".$fizet."<br>";
print "Vásárolt: ".$vasarolt."<br>";
$mysql_host = "localhost";
....Ha csak 4 terméked van, addig nincs gond, de egy étteremben gondolom sok mindent lehet enni-inni. Erre egy külön adatbázis lehetne, amiben a termékek adatait szerepelnek (datumtol, datumig - árváltozásnál a régi árakat is meg lehetne nézni, ebben akár nettó ár is szerepelhetne, ha változna az áfa):
- termeknev (varchar 100 pl: kakaó-tea...)
- termekpost (varchar 50 pl: kako-tea..., indexelt)
- ar (integer)
- datumtol (date, indexelt)
- datumig (date, indexelt)Vasarlasok táblázat, hogy vissza lehessen nézni a forgalmat:
- vasarlasid (egyedi)
- datum (datetime)
- termekpost
- darabVagy ezt is ketté lehetne venni:
Vasarlasok:
- vasarlasid (egyedi)
- datum (datetime)
- fizetett (integer)Vasarlasoklista:
- vasarlasid (egyedi)
- termekpost (varchar 50)
- darab (integer)
- fizetett (integer)Az első html-t is át lehetne írni php-ra, hogy a termék adatai alapján egy for ciklussal felsorolja az összes terméket, mellé darabszámot be lehessen írni (mi van ha 2 teát vásárolnak).
-
fordfairlane
veterán
válasz
Atti575
#12331
üzenetére
Az a baj, hogy nem tudom, jelen esetben mi számít elfogadható megoldásnak. Nem tudom, hogy az ételek, amiket meg lehet rendelni, benne vannak-e az adatbázisban vagy sem, hol vannak ezek az árak, melynek ismeretében kell a számlát kiállítani. Semmi infó nincs arról, mi az, amit tudsz adatbáziskezelésből, és mi az, amit nem.
Van már a megrendeléseknek adattáblája? Egyáltalán ismered az adattábla fogalmát, vagy azt, hogy mi az a relációs adatbázis?
Nem tudok kész megoldást írni. Egyébként sem szeretek mindent kidolgozni más helyett, de így, ha akarnék, se tudnék. Egyelőre leírtam azt, hogyan lehet adatbázis táblába írni egy rekordot. (INSERT INTO)
-
fordfairlane
veterán
válasz
Atti575
#12328
üzenetére
csak egy mysql kiirtást is kell csinálni
Gondolom a kiirtás kiíratás akar lenni. Tehát el akarod menteni a rendelés adatait. Melyik részét? A végösszeget, vagy a tételeket is? Mert akkor először létre kell hozni a megfelelő szerkezetű adattáblát, utána tudsz csak adatokat írni.
$query = 'INSERT INTO tablanev (mezonev1, mezonev2, mezonev3, mezonev4) VALUES(';
$query .= ' "'.mysql_real_escape_string($mezoertek1).'"';
$query .= ',"'.mysql_real_escape_string($mezoertek2).'"';
$query .= ',"'.mysql_real_escape_string($mezoertek3).'"';
$query .= ',"'.mysql_real_escape_string($mezoertek4).'"';
$query .= ' )';
mysql_query($query);
Új hozzászólás Aktív témák
- 265 - Lenovo ThinkBook 16 (G6 ABP) - AMD Ryzen 5 7530U, no GPU
- Kingston FURY Impact 32GB DDR5 4800MHz KF548S38IB-32
- Samsung Galaxy S21 FE / 6/128GB / Kártyafüggetlen / 12Hó Garancia
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Xiaomi 17 Ultra Starlit Green 512GB használt karcmentes garancia 2029.03.05.-ig + Photographer Kit
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
