| | |
| Stránka: 1 z 1
| [ Príspevkov: 16 ] | |
Autor | Správa |
---|
Registrovaný: 23.12.07 Prihlásený: 07.09.13 Príspevky: 98 Témy: 16 Bydlisko: Svidnik |
potreboval by som nieco take: zo suboru zoznam.txt nacita viac rozmerne pole, v kazom riadku by bolo 8 udajov ktore nemaju pevnu velkost, malo by sa to opakovat do konca suboru. inicialzovane retazce vypise (malo by to spravit tabulku ktora ma 8 stlpcov, na konci chcem aby to spocitalo vsetky cisla v stlpci), no neviem ako zacat, dakujem za pomoc
_________________ ... nebite ma ja sa to raz naucim.... |
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 29.08.2008 16:43 | |
|
Tých 8 údajov musí byť nejako oddelených. Takže si ten riadok rozdelíš na tých 8 častí (napr. pomocou funkcie split). Tým získaš pole, ktoré potom uložíš ako riadok do iného poľa. Teda niečo ako: Kód: $udaje = Array(); while (!je_koniec_suboru()) { $text = nacitaj_riadok(); $riadok = split(";", $text); $udaje[] = $riadok; } Výpis potom bude nejako takto: Kód: for ($r = 0; $r < count($udaje); r++) { echo "<tr>"; for ($s = 0; $s < 8; $s++) { echo "<td>", $udaje[$r][$s], "</td>"; } echo "</tr>\n"; } Popri tom zobrazovaní si môžeš spočítavať potrebné údaje...
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 29.08.2008 18:26 | |
|
Skôr by som to skúsil cez funkciu file.
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 29.08.2008 18:32 | |
|
Tá funkcia ti rozdelí obsah riadkov na potrebné elementy?
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 30.08.2008 9:29 | |
|
To nie, ale je trochu nešikovné poradiť niekomu funkcie je_koniec_suboru() a nacitaj_riadok() bez ich kódu. Tak trochu som predpokladal, že toma si pozrie tvoj príspevok, nájde v ňom jedinú použiteľnú funkciu ( split) a potom si pozrie dokumentáciu k file a skombinuje to. Aspoň si myslím, že každý s IQ viac ako 40 by to spravil (minimálne po vlastnom presvedčení sa o nefunkciách je_koniec_suboru() a nacitaj_riadok()).
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 23.12.07 Prihlásený: 07.09.13 Príspevky: 98 Témy: 16 Bydlisko: Svidnik | Napísal autor témy toma-mato: 30.08.2008 10:58 | |
|
dakujem ti chrono za pomoc, kedze som zaciatocnik tak som si s tym velmi neporadil, neviem stale mi to vypisuje chyby..... skusil som tiez nieco vymysliet s pomocou googlu a toho co si mi radil, kod sice funguje, t.j. vypise ako chcem, no asi nebudem moct spocitat obsahy stlpcov,takze to musim spravit nejako ako si mi napisal, ked to skusam kombinovat nejako tak my stale vypisuje eror... kod:
Kód: <html> <head></head> <body> <table> <?php
$soubor = fopen("zoznam.txt", "r") or die("Soubor sa neda otvorit.");
while (! feof($soubor))
{
$riadok = fgets($soubor); $pole=explode(";", $riadok); echo "<tr>"; foreach ($pole as $cast) { echo "<td>$cast</td>\n"; }
echo "</tr>";
}
fclose ($soubor);
?> </table> <body> </html>
_________________ ... nebite ma ja sa to raz naucim.... |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
jj, ako p360t pise, pouzitie funkcie file bude v tomto pripade vyhodnejsie:
Kód: <?php $arrFile = array(); $arrLines = file("zoznam.txt"); foreach($arrLines as $line) { $arrFile[] = explode(";",$line,8); } ?>
Jednotlive hodnoty v riadku musia byt oddelene bodkociarkou.
Potom ti staci uz len vypisat jednotlive prvky z pola $arrFile do tabulky, ale to uz hadam zvladnes aj sam...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 23.12.07 Prihlásený: 07.09.13 Príspevky: 98 Témy: 16 Bydlisko: Svidnik | Napísal autor témy toma-mato: 01.09.2008 19:39 | |
|
asi som sprosty ale skusam tam vseliako davat echo $arrFile[0];echo $arrFile[1]; atd., ale namiesto hodnot s tabulky mi to stale vpisuje slovo array :-(, pripadne mi to spravi tabulku zo slovom array typu matrix spravil som to takto (neviem kde dat $subor aby to slo)
Kód: <html>
<head> <head> <body> <table width="80%" align="center" border="2" cellpadding="5" cellspacing="4"> <?php
$soubor = fopen("zoznam.txt", "r") or die("Soubor sa neda otvorit.");
while (! feof($soubor))
{ $arrFile = array(); $arrLines = file("zoznam.txt");
foreach($arrLines as $line) { $arrFile[] = explode(";",$line,7); } echo "<tr>"; echo "<td>$arrFile[0]</td>"; echo "<td>$arrFile[1]</td>"; echo "<td>$arrFile[2]</td>"; echo "<td>$arrFile[3]</td>"; echo "<td>$arrFile[4]</td>"; echo "<td>$arrFile[5]</td>"; echo "<td>$arrFile[6]</td>"; echo "<td>$arrFile[7]</td>"; echo "</tr>"; } fclose ($soubor);
?> </table> <body> </html>
_________________ ... nebite ma ja sa to raz naucim.... |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
chcel si viacrozmerne pole, nie nahodou? to, co sa snazis ty vypisovat je jednorozmerne pole
napr. v prvom riadku pristupis k jednotlivym elementom nasledovne:
$arrFile[0][0], $arrFile[0][1], $arrFile[0][2], ..., $arrFile[0][7]
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 23.12.07 Prihlásený: 07.09.13 Príspevky: 98 Témy: 16 Bydlisko: Svidnik | Napísal autor témy toma-mato: 01.09.2008 20:33 | |
|
aha no jasne ja som somar ... no nic to nemeni na tom ze mi to vpisuje slovo array myslim ze ta bude nieco s premennou $soubor.... ale neviem co mam spravit
_________________ ... nebite ma ja sa to raz naucim.... |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
nechapem, na co tam pleties otvaranie suboru cez fopen, while a pod...
cely zdrojak ma byt takto (+ formatovanie):
Kód: <?php $arrFile = array(); $arrLines = file("zoznam.txt"); foreach($arrLines as $line) { $arrFile[] = explode(";",$line,8); }
echo '<table border="1">'; foreach($arrFile as $line) { echo '<tr>'; foreach($line as $item) { echo '<td>'.$item.'</td>'; } echo '</tr>'; } echo '</table>'; ?>
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 23.12.07 Prihlásený: 07.09.13 Príspevky: 98 Témy: 16 Bydlisko: Svidnik | Napísal autor témy toma-mato: 01.09.2008 20:47 | |
|
nevedel som ci to $arrLines = file("zoznam.txt"); ma na starosti otvorenie suboru, ospravedlnujem sa, nemam velke skusenosti s programovanim trosku C(bieda) ale tam som odkukal blbosti... myslel som si ze treba aj tu openfile .. ale asi chapes aj tak dik .. no idem sa pokusat tvorit dalej, ale fakt dakujem
_________________ ... nebite ma ja sa to raz naucim.... |
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 01.09.2008 21:20 | |
|
Jedna rada - ak sa chceš rýchlo zorientovať v PHP, čítaj http://sk.php.net/manual/en/index.php
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 23.12.07 Prihlásený: 07.09.13 Príspevky: 98 Témy: 16 Bydlisko: Svidnik | Napísal autor témy toma-mato: 02.09.2008 0:11 | |
|
p360t dakujem za radu, je tam toho fakt dost
pohol som sa o kusok dalej ale nie celkom ako somsi predstavoval
chcel som aby to spocitavalo stlpce, do kodu ktory mi napisal stenley (este raz dakujem) somvlozil toto
Kód: echo '<tr>'; for($NumLine=0; $NumLine<=7; $NumLine++) {$NumLine=+$NumLine; for($NumItem=0; $NumItem<=3; $NumItem++) {$NumItem=+$NumItem; $sucet = $arrFile[$NumItem][$NumLine]=+$arrFile[$NumItem][$NumLine]; } echo "<td>$sucet</td>";
viem ze to vizera trochu divne asi...., dal som to spravit iba pre 4 riadky, ono to nespocita len opise posledny riadok tabulky, chcel by som sa este spitat existuje nieco co by vo funkcii ktora citalala riadky suboru albo ktora vpisovala riadky do tabulky pocitala riadky, lebo my pripada zbytocne robit o5 cyklus ktory by pocital riadky
_________________ ... nebite ma ja sa to raz naucim.... |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
ako tak pozeram na tvoj kod, tak si si prehodil $NumItem a $NumLine v $arrFile[$NumItem][$NumLine], malo by to byt naopak... teraz trosku nechapem, co chces spravit, spocitat stlpce v jednom riadku, alebo spocitat stlpce vo vsetkych riadkoch zvlast?
Napr.
1;2;3;4;5;6;7;8
1;2;1;2;1;2;1;2
===========
2;4;4;6;6;8;8;10 (spocita zvlast 1.,2.,.. stlpec v kazdom riadku)
Kód: function arrSum($arrValues,&$arrSum) { foreach($arrValues as $index=>$value) { if(array_key_exists($index,$arrSum)) { $arrSum[$index] += $value; } else { $arrSum[$index] = $value; } } }
$arrFile = array(); $arrSum = array(); //sucet stlpcov vo vsetkych riadkoch
$arrLines = file("zoznam.txt");
foreach($arrLines as $line) { $arrFile[] = explode(";",$line,8); $index = count($arrFile)-1; arrSum($arrFile[$index],$arrSum); } $arrFile[] = $arrSum;
Ak chces spocitat len hodnoty v riadku, staci pouzit funkciu array_sum: Kód: $arrFile = array();
$arrLines = file("zoznam.txt");
foreach($arrLines as $line) { $arrFile[] = explode(";",$line,8); $index = count($arrFile)-1; $arrFile[$index][] = array_sum($arrFile[$index]); }
Vypis hodnot do tabulky zostava ten isty...
Naposledy upravil stenley dňa 02.09.2008 11:36, celkovo upravené 1
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 23.12.07 Prihlásený: 07.09.13 Príspevky: 98 Témy: 16 Bydlisko: Svidnik | Napísal autor témy toma-mato: 02.09.2008 10:15 | |
|
dakujem pekne za plomoc vidim ze sa mam este co ucit :-/ potreboval som to co si spominal v prvom pripade, ale aj ten druhy priklad je dobry... ;-)
_________________ ... nebite ma ja sa to raz naucim.... |
|
| Stránka: 1 z 1
| [ Príspevkov: 16 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Prehladavanie viacrozmerneho pola v PHP, ASP | 4 | 428 | 13.10.2007 23:13 stenley | | inicializacia C++ v Assembler, C, C++, Pascal, Java | 2 | 405 | 13.09.2012 17:31 Xarxes | | facebox inicializacia v JavaScript, VBScript, Ajax | 2 | 489 | 13.09.2011 17:30 DeeJay3 | | inicializacia HDD v Pevné disky a radiče | 4 | 472 | 07.04.2013 16:34 rybicka | | Inicializacia SSD disku v SSD disky | 7 | 1700 | 23.12.2013 0:27 Joaqo | | inicializacia scriptu (asi)?? v JavaScript, VBScript, Ajax | 2 | 385 | 03.11.2010 11:40 DeeJay3 | | Nero 8 -inicializacia v Ostatné programy | 8 | 575 | 24.05.2011 17:04 holubbn | | Matlab script inicializácia premenných v Assembler, C, C++, Pascal, Java | 0 | 382 | 16.05.2017 12:10 beastiq | | Inicializacia ovladaca LAN - chyba 37 v Ovládače | 0 | 378 | 08.01.2011 0:04 HavloR | | dvojite drop down menu Inicializacia v JavaScript, VBScript, Ajax | 0 | 551 | 30.11.2008 23:01 miob | | INDEX POLA v JavaScript, VBScript, Ajax | 1 | 657 | 15.10.2009 11:39 Ďuri | | uvolnenie pola v Assembler, C, C++, Pascal, Java | 8 | 473 | 10.01.2010 20:18 johny3212 | | dlžka pola v HTML, XHTML, XML, CSS | 2 | 537 | 16.10.2009 22:40 dessert | | vrátenie pola v Assembler, C, C++, Pascal, Java | 2 | 439 | 08.11.2012 19:01 faraon | | Doplňovanie input poľa v JavaScript, VBScript, Ajax | 2 | 562 | 28.08.2008 13:54 tatysp | | Presun prvkov pola v Assembler, C, C++, Pascal, Java | 2 | 368 | 18.10.2012 1:51 Gregi555 |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|