Autor Zpráva
Fellipe
Profil *
$soubor = File("OL.txt");
$pocet = Count($soubor);


if ($_GET["b"]!="")
for ($i = 0; $i < $pocet; $i++) {
$date = explode (";", $soubor[$i]);
if($_GET["b"]==$date[1]) {
echo "V roce " .$_GET["b"]. " se konaly ".$date[0]." v ". $date[3]." a to v městě ". $date[4].".";
}else echo "V tomto roce se LOH nekonaly";}

Princiop jednoduchy.Mám txt soubor v něm data v pořadí
LOH;1896;6. duben - 15. duben;Řecko;Atény

a chci,když zadám rok,aby mi to vypsalo že v roce $b se konaly LOH tam atam.To mi jde,ale už mi nefunguje to,že když zadám rok,ve kterém se OH nekonaly,tak mi to vypíše X*hlášku že se nekonaly,v závislosti na počtu řádků v textaku.A další chyba že když zadám správný rok,tak mi to vypíše X*že se nekonaly,až to dojde k roku kdy se konaly tak to vypíše co chci,no a pak dále vypisuje že se nekonaly,dokud nedojede do konce textaku.Chyba bude asi někde v závorkách,ale už jsem vykoušel snad vše.Pls poraďte někdo
tiso
Profil
Fellipe - chyba je v logike že to nefunguje ako chceš...
Joker
Profil
Fellipe
Udělal bych to jinak, když budu vycházet z toho, že v každém roce se konaly nejvýše jedny LOH:

$soubor = fopen("OL.txt","r"); 
$nalezeno = false;
while(!$nalezeno && !feof($soubor)) { 
  $data = explode(";", fgets($soubor));
  if($_GET["b"] == $data[1]) $nalezeno = true;
}
if($nalezeno) echo("V roce ".$data[1]." se konaly ".$data[0]." ve státě: ".$data[3].", město: ".$data[4]); 
else echo("V tomto roce se LOH nekonaly");

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: