-
Fototrend

Ú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!
- Torrent meghívó kunyeráló
- gban: Ingyen kellene, de tegnapra
- Építő/felújító topik
- Kerékpárosok, bringások ide!
- Robot fűnyírók
- Samsung Galaxy Felhasználók OFF topicja
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- Napelem
- Genius SW 5.1 Home Theater
- AMD vs. INTEL vs. NVIDIA
- További aktív témák...
- Lenovo LOQ 15ARP9 (bontatlan)(2év gari)
- újszerű iPhone Air 256GB space black asztrofekete független Apple 3 év garancia iStyle vásárlás
- Armani Acqua di Giò Profondo Parfum 50ml
- MacBook Air M3 256GB SSD space gray asztroszürke Apple magyar 2 év AppleCare garancia
- újszerű iPad Mini (6. generációs) 64GB Wi-Fi space gray asztroszürke ajándék tok és fólia
- AKCIÓ! AMD Ryzen 9 7900X 12 mag 24 szál processzor garanciával hibátlan működéssel
- MSI GF65 Thin - 15,6"FHD 120Hz IPS - i5-9300H - 16GB - 1,25TB SSD - Win11 - GTX 1660 Ti - MAGYAR
- Dell Latitude 5410 - 14", Core i5 10210U, 8-16GB RAM, SSD, jó akku, számla, 6 hó gar
- 203 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070
- Lenovo ThinkPad T14 Gen 4 Ryzen 5 PRO 7540U 14" FHD+ 32GB 512GB Lenovo gar: 2028.01.07!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


