Hirdetés
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- AMD FX
- Hobby elektronika
- Milyen notebookot vegyek?
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Windows 11: miért nem vált mindenki?
- Mégsem lettek annyira pénztárcabarátok az új Intel CPU-k
- Felfüggesztette egyes memóriakártyáinak forgalmazását a Sony
- TCL LCD és LED TV-k
- AMD Navi Radeon™ RX 9xxx sorozat
-
PROHARDVER!

Ú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
● olvasd el a téma összefoglalót!
- Magyarországra jön a Vivo 500 megapixeles kameratelefonja
- Milyen program, ami...?
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Google Pixel 10 Pro XL – tíz kicsi Pixel
- Crimson Desert
- Így lehet kiszúrni, ha kamu AirPods fülest akarnak eladni neked
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Háztartási gépek
- További aktív témák...
- iPhone 17 Pro Max - Pitaka Lucid Blue aramid tok eladó
- Lenovo IdeaPad 5 2-in-1 16IRU9 Laptop - 16" Touch, Intel Core i5 120U, 16 GB, 512 GB - Garanciával
- Eredeti fake/full kamu 1TB SSD + kamu 512GB sd cardel (ajándék)! Oktatás, blog, prezentációs célra!
- Erős (HP Omen 17) gamer Laptop! -i9 13900HX, RTX 4090 16gb/175w tgp, 32gb DDR5, 1tb SSD
- riello UPS SDH 3000 - Szünetmentes tápegység - 3000 VA -2U
- AKCIÓ! Apple MacBook Pro 16 M1 Max 32GB RAM 1TB SSD notebook garanciával hibátlan működéssel
- Apple iPad Air 2 (A1566) 64GB Wi-Fi Asztroszürke
- Eladó Samsung Galaxy A50 4/128GB szivárvány / 12 hónap jótállás
- GYÖNYÖRŰ iPhone 14 Pro Max 256GB Deep Purple-1 ÉV GARANCIA - Kártyafüggetlen, MS4398, 100% Akksi
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



