Autor Zpráva
Martaseko
Profil *
Zdravím,
mám takový problém. Potřebuji vypsat seznam odkazů mezi nimiž budou občas vložené nadpisy jednotlivých tématických skupin. Skript je navržen tak, že si vše bude brát z textového souboru. Texťák vypadá takto:


Nadpis1
http://www.adresa1.cz/
adresa1
http://www.adresa2.cz/
adresa2
http://www.adresa3.cz/
adresa3

Nadpis2
http://www.adresa4.cz/
adresa4
http://www.adresa5.cz/
adresa5

Nadpis3
http://www.adresa6.cz/
adresa6
http://www.adresa7.cz/
adresa7
http://www.adresa8.cz/
adresa8
[pre]

Vymyslel jsem na to tento skript:

[pre]
<?php
$tema = $_GET['tema'];
$soubor = 'odkazy/'.$tema.'.txt';

$fp = FOpen ($soubor, 'r');
while (!FEof ($fp)) {
static $i = 0; //STATICKÁ PROMĚNNÁ $i SLOUŽÍ K POČÍTÁNÍ ŘÁDKŮ
$i++; //INKREMENTACE $i
switch ($i%3) {
case '2':
$odkaz1_nazev[] = FGetS ($fp, 4096);
break;
case '1':
$odkaz1_link[] = FGetS ($fp, 4096);
break;
}
}
FClose ($fp);
$odkaz1_count = Count($odkaz1_nazev)-1; //VÝBĚR NÁHODNÉ OTÁZKY

for($i=0;$i<=$odkaz1_count;$i++) {
if($odkaz1_link[$i]=="") {
echo ('<dt><h2>'.$odkaz1_nazev[$i].'</h2></dt><br>');
}else{
echo ('<a href="'.$odkaz1_link[$i].'">'.$odkaz1_nazev[$i].'</a><br>');
}
}
?>


Vše téměř funguje až na jedno - proměnná odkaz1_link se pořád chová, jako by nebyla datového typu string. Prostě ať tam do těch závorek vložím cokoli a doplním mezery v texťáku příslušným řetězcem, tak to stále nechce vzít :-(

Mohli byste mi prosím někdo poradit, kde dělám chybu. Díky
Martaseko
Profil *
No to formatovani se mi tedy moc nepovedlo :-(
Tak tedy jeste jeden pokus

Potřebuji vypsat seznam odkazů mezi nimiž budou občas vložené nadpisy jednotlivých tématických skupin. Skript je navržen tak, že si vše bude brát z textového souboru. Texťák vypadá takto:


Nadpis1
http://www.adresa1.cz/
adresa1
http://www.adresa2.cz/
adresa2
http://www.adresa3.cz/
adresa3

Nadpis2
http://www.adresa4.cz/
adresa4
http://www.adresa5.cz/
adresa5

Nadpis3
http://www.adresa6.cz/
adresa6
http://www.adresa7.cz/
adresa7
http://www.adresa8.cz/
adresa8


Vymyslel jsem na to tento skript:


<?php
$tema = $_GET['tema'];
$soubor = 'odkazy/'.$tema.'.txt';

$fp = FOpen ($soubor, 'r');
while (!FEof ($fp)) {
static $i = 0; //STATICKÁ PROMĚNNÁ $i SLOUŽÍ K POČÍTÁNÍ ŘÁDKŮ
$i++; //INKREMENTACE $i
switch ($i%3) {
case '2':
$odkaz1_nazev[] = FGetS ($fp, 4096);
break;
case '1':
$odkaz1_link[] = FGetS ($fp, 4096);
break;
}
}
FClose ($fp);
$odkaz1_count = Count($odkaz1_nazev)-1; //VÝBĚR NÁHODNÉ OTÁZKY

for($i=0;$i<=$odkaz1_count;$i++) {
if($odkaz1_link[$i]=="") {
echo ('<dt><h2>'.$odkaz1_nazev[$i].'</h2></dt><br>');
}else{
echo ('<a href="'.$odkaz1_link[$i].'">'.$odkaz1_nazev[$i].'</a><br>');
}
}
?>


Vše téměř funguje až na jedno - proměnná odkaz1_link se pořád chová, jako by nebyla datového typu string.
Prostě ať tam do těch závorek vložím cokoli a doplním mezery v texťáku příslušným řetězcem, tak to stále nechce vzít :-(

Mohli byste mi prosím někdo poradit, kde dělám chybu. Díky
Martin Tiršel
Profil
Fuj, fuj, fuj :) Toto je velmi spinave riesenie. Toto sa riesi cez databazu a nie cez textak, je s tym omnoho lepsia a efektivnejsia manipulacia. Staci, ak do textaku nieco zle zadas a cele sa ti to rozhodi. odkaz1_link a odkaz1_nazev niesu vobec "previazane", spoliehas na to, ze v textaku bude 100% spravny format, ale staci preklep a od toho miesta to mas rozhodene. Ak nevies, co premenne obsahuju, daj si na koniec var_dump alebo print_r a uvidis co obsahuju, aj akeho su typu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0