Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Gurulunk, WAZE?!
- Luck Dragon: Asszociációs játék. :)
- Szellem.: ATK Blazing Sky X1 V2 Extreme 2.0. Tényleg 2.0-a!
- Graphics: Telefonvásárlási kálváriám....avagy clickbait cím: Horror a hardveraprón
- Ketogén étrend
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- gerner1
-
LOGOUT

Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
spammer
#4360
üzenetére
Én a helyedben ebben az esetben (ha nem akarnék semmiképp adatbázist használni) inkább azt a sokkal rugalmasabb megoldást választanám, hogy fájlból olvasnám ki az egyes adatokat (legyenek most termékadatok), legegyszerűbb szemléltetésként úgy, hogy az egyes oszlopok tabulátorral lennének elválasztva. Ez jelentené tulajdonképpen a táblázatot, ebből hoznám létre a tényleges HTML-táblázatot a fájlból való kiolvasásnál.
A táblázat fájlból való kiolvasására és táblázatszerű kiíratására HTML-ben írok egy nagyon leegyszerűsített példát (nyilván még ezerféleképpen lehet, biztos van elegánsabb megoldás is, de most ez jutott eszembe).
Legyen egy "termeklista.txt" nevű fájlod, és abban az első három oszlop legyen rendezve tabulátorral a következők szerint: "Termék neve", "Ár", ill. "Megjegyzés"; annak legyen pl. a következő a tartalma (az egyes mezők között tabulátor van!):
Első termék 1200 Ide jöhet a blabla az első termékről
Még egy termék 900 Ez a termék nagyon fullos cucc(Szerk.: sajnos a PH úgy alakítja át a szöveget, hogy a tabulátor nem látszik tabulátornak, de a lényeg, hogy az "Első termék" és az "1200" között (meg 1200 után) tabulátor helyezkedik el.)
Ezenkívül legyen mondjuk egy termek.php fájl, amivel a termékeket egy HTML-táblázatba kiírod, annak a tartalma a következő:
<?php
//... egyebek...
$file = @fopen("termeklista.txt", "r");
if($file)
{
$i=0;
$tablazat='
<table border="1">
<tr>
<th>Termék neve</th>
<th>Ár</th>
<th>Megjegyzés</th>
</tr>
';
while (!feof($file)) {
$i++; //sorok számlálása
$termek_info = fscanf($file, "%[a-zA-Z0-9íéáűőúöüó@&;:,. /!?-]\t%[0-9]\t%[a-zA-Z0-9íéáűőúöüó@&;:,. /!?-]\n"); //reguláris kifejezések
list($termeknev, $ar, $megjegyzes) = $termek_info; //változókba szétdobáljuk a tömbelemeket
$tablazat.='
<tr>
<td>'.$termeknev.'</td>
<td>'.$ar.' Ft</td>
<td>'.$megjegyzes.'</td>
</tr>
';
}
fclose($file);
$tablazat.='</table>';
echo 'És végül a táblázat:<br />';
echo $tablazat;
echo 'Sorok száma: '.$i.'<br />';
}
else
die('A fájl nem létezik!');
?>Ha meg konkrét sorban (egy sor egy termék) szereplő árra keresel, akkor beraksz egy új változót, és lecseréled a while ciklust a következőre (nyilván ennél gyorsabban működő megoldással is lehet (nem mintha ez olyan irtó lassú lenne), de ezzel most nem foglalkoztam), a többi marad uaz:
$keresett_sor=10;
while ($i!=$keresett_sor && !feof($file)) {
$i++; //sorok számlálása
$termek_info = fscanf($file, "%[a-zA-Z0-9íéáűőúöüó@&;:,. /!?-]\t%[0-9]\t%[a-zA-Z0-9íéáűőúöüó@&;:,. /!?-]\n"); //reguláris kifejezések
if($i==$keresett_sor){
list($termeknev, $ar, $megjegyzes) = $termek_info; //változókba szétdobáljuk a tömbelemeket
$talalat=$ar;
}
}
if(isset($talalat))
echo 'A keresett termék ára: '.$ar;
else
echo 'A keresett termék nem található!';Remélem segítettem elindulni az úton.

Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- Ubuntu Linux
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Nyíregyháza és környéke adok-veszek-beszélgetek
- Rendkívül ütőképesnek tűnik az újragondolt Apple tv
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Linux kezdőknek
- Kerékpárosok, bringások ide!
- Lítium-ion/Li-ion akkumulátorok
- iPad topik
- Mesterséges intelligencia topik
- További aktív témák...
- MacBook Pro 13.3 2017 8GB ram 512GB SSD
- UGREEN NASync DXP6800 Pro NAS, i5 1235u (10-mag), 8/32GB DDR5, 6 lemezhely, 2x10G, 2x Thunderbolt 4
- Z840 - 2x E52697 v4 18 core 2.3GHz - 1000w tap - 32 GB DDR4 - 3 év garanciával
- Lenovo T470s 14" FHD, i5 6300U, 8GB RAM, 256GB SSD, 2db akku, számla, 6 hó gar
- LENOVO LEGION PRO 7 16" WQXGA i9-13900HX RTX 4080 32GB 2TB NVMe SSD MAGYAR VÁSÁRLÁS/SZLA/BILL.
- AKCIÓ! ASUS H310M i5 8500 16GB DDR4 240GB SSD GTX 1060 6GB Zalman T3 Plus CoolerMaster 500W
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Új és újszerű 17-18 Gamer, irodai, üzleti készülékek nagyon kedvező alkalmi áron! Garancia Számla!
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- Lenovo Thinkstation P320 MT,E3-1220 v6,16GB DDR4,256GB SSD,Quadro M2000 4GB VGA,WIN11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


