Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: skrypt ramowki... cos nie dziala :(
Forum PHP.pl > Forum > Gotowe rozwiązania
PrZeMoL
narazie mam takei cos ale zdupczylem cos w kodzie i nie chce mis ie poprawiac tylu plikow.....:

http://www.cidernet.pl/~przemek/desire/w_n...nie/ramowka.php

http://www.cidernet.pl/~przemek/desire/w_n...amowka_edit.php

robia sie jakies cyferki grrr.... domyslam sie co to ale nie mam nerwow na poprawke... a kodow nie bede wklejal bo raczej nie ma sensu biggrin.gif



macie jakies pomysly?
ramowka musi byc prosta dla najwiekszych lamek i na plikach txt.... niestety
arogancik
życze miłego wrózenia wszystkim. ja się zaoże ze coś spieprzyłes tongue.gif a tak na powaznie jak jest kod to zawsze jest łatwiej smile.gif jak ci sie nie chce go tu wklejac to zrób kopie pliku ze skryptem tylko daj inne rozszerzenie i daj tu linka. moze twedy ci ktoś pomoze smile.gif
PrZeMoL
no juz wiem co spiepszylem ale pojawil sie inny blad.... wlasnie poprawiem pozneij dam link do calosci
PrZeMoL
www.4u.desire.pl/~przemol/ramowka.rar


a tutaj online:
www.4u.desire.pl/~przemol/test/ramowka.php
www.4u.desire.pl/~przemol/test/ramowka_edit.php


po prostu wszedzie zapisuje sie tylko godzina 00-01...... reszta nie dziala nie wiem czemu



dzieki za pomoc
djpeterek
szczerze powiedziawszy to ja bym to zrobil na mysql ale nie wiem jaka bedzie najlepsza struktura tabeli zazucie propozycjami smile.gif
PrZeMoL
nie mam mysql na tym koncie... musza byc pliki niestety
djpeterek
na plikach tekstowych troche ise robimale zamieszanie a mysql ladniej i lepiej to wyglada biggrin.gif
PrZeMoL
to jak... nikt nie pomoze :cry: :cry: :cry:
arogancik
zrobie ci dziś ten skrypt ale wnocy, jak zdam ustną matme smile.gif bo w tej chwili mniejuz nie tongue.gif
PrZeMoL
to super smile.gifsmile.gifsmile.gif
tylko przypominam o plikach smile.gif nie moze byc mysql
arogancik
oto kod skryptu. jeden plik jest odpowiedzialny za wszystko. jesli bedziesz chciał to mieć w osobnych plikach to juz chyba sam to sobie rozbijesz, a jak nie to zgłoś się smile.gif[php:1:9072014bf4]<?
$tab=file('a.txt');//wczytujemy zawartośc pliku a.txt w którym jest ramówka
$n=count($tab);
if ($n<24){
die ("Brak danych w pliku lub jest ich za mało!!!!");
}
if (isset($_POST['i'])&&isset($_POST['j'])&&isset($_POST['tekst'])&&$_POST['co']=='popraw'){//jesli sa zmienne z formulararza i $coma wartośc popraw to tworzy nowy plik ramówki
$plik=fopen('a.txt','w+');//otwiera plik do zapisu
for($i=0;$i < $_POST['i']; $i++){/przepisuje tyle linie aż do lini w któej zaszła zmiana zmiana
fputs($plik, $tab[$i]);
}
$ex=explode('||', $tab[$i]); //tworzy tablice z wartsciami
$nowy='';
for($k=1;$k<=7;$k++) if ($_POST['j']==$k)$ex[$k]=$_POST['tekst'];//podstawia nową wartość w polu w którym zmieniliśmy
fputs($plik, $ex[0]."||".$ex[1]."||".$ex[2]."||".$ex[3]."||".$ex[4]."||".$ex[5]."||".$ex[6]."||".$ex[7]);//całe wyrażenie fputs(....); powinno być w jednej lini, bo inaczej skrypt nie bedzie działał prawidłowo
$i++;
for($i;$i<$n; $i++){//zapisujemy pozostałe linie bez zmian
fputs($plik, $tab[$i]);
}
fclose($plik);
$tab=file('a.txt');//wczytuemy znowy zawartośc pliku do tablicy zeby później wyświetlić aktualna zawartość smile.gif
echo "dokonano zmian<br>";
}


if ($_GET['co']=='edycja'){//jesli w adrescie otrzymalismy zmienna co o wartości edycja to tworzymy formularze dla kazdego pola. kazdy formluarzskłada sie ze zmiennej i okreslająej linie w pliku, j określającej w której kolumnie zasła zmiana oraz pole ze zmienna popraw oraz ple tekst zeby wprowadzić nowy tekst smile.gif
echo'<table border=1><tr><td>Godzina</td><td>Poniedziałek</td><td>Wtorek</td><td>Środa</td><td>Czwartek</td><td>Piątek</td><td>Sobota</td><td>Niedziela</td></tr>';
$i=0;
while(isset($tab[$i])){
$ex=explode('||', $tab[$i]);
echo "<tr><td>$ex[0]</td>";
for ($j=1;$j<=7;$j++)echo "<td><form method=post><input type=hidden name=co value=popraw><input type=hidden name=i value=$i><input type=hidden name=j value=$j><input type=text name=tekst value='$ex[$j]'><input type=submit value=ok></form></td>";
echo "</tr>";
$i++;
}
echo "</table>";
}


//wyświetlanie ramówki
if ($_GET['co']!='edycja'){
echo'<table border=1><tr><td>Godzina</td><td>Poniedziałek</td><td>Wtorek</td><td>Środa</td><td>Czwartek</td><td>Piątek</td><td>Sobota</td><td>Niedziela</td></tr>';
$i=0;
while(isset($tab[$i])){
$ex=explode('||', $tab[$i]);
for ($j=0;$j<=7;$j++) if ($ex[$j]=='') $ex[$j]='&nbsp';//zeby nie było dziur w tabeli puste pola wypelnia jedna niełamiąca się spacją
echo "<tr><td>$ex[0]</td><td>$ex[1]</td><td>$ex[2]</td><td>$ex[3]</td><td>$ex[4]</td><td>$ex[5]</td><td>$ex[6]</td><td>$ex[7]</td></tr>";//tworzy kolejne wiersze ramówki
$i++;
}
echo "</table>";
}
?>[/php:1:9072014bf4]
reklamacje mile widziane laugh.gif
chyba uż 3 raz edytuje smile.gif ale pamięta ze jak kopiujesz skrypt do badzienwgo notatnika (nie weim jak inne edytory) to masz źle połamany tekst, więc muszisz to poprawić. między innymi komenatrze będą w wiecej nż jednej lini. i jeszcze raz zwracam zeby kod z lini 15,16i17 czyli cały fputs byłzapisany w jednej lini. i to chyba tyle na dziś. ide spać, bo jutro na 8 komisj lekarska smile.gif ale matme zaliczyłem, więc mnie do woja nie wezmą 8)
djpeterek
arogancik to ode mnie reklamacje skoro sa mile wdziane powiedzmy jak zapisuje w formie 10-12czy to godzina 10-12||djpeterek
to powiedzmy edycja jest dobrze zrobiona no ale jest jeden blad jak mam kilka godzin zapisanych to potem nazwa dj mi sie normalnie edytuje a te godziny sie kasuja z pliku a zostaje 1 linijka ktora zawiera godzine a reszta nie zawiera godzin tylko same nazwy smile.gif
arogancik
daj mi kod pliku wynikowego bo nie rozumiemi. jestem po nieprzepsanej nocy i słabo kumam smile.gif
--------------------- po edycji-----------------
mi się jednak wydaje ze działa dobrze. on jest napisany w ten sposób ze w pliku muszisz mieć godzina||poniedzziałek||wtorek||sroda....||niedziela
ponieżej sa linki do źródła, żeby nie było rpoblemó z łamaniem lini przez bbcode oraz do dwóch plików źródłowych żeby nie było wątpliwości jak co ma wygladać (link może czasem nie działać, ale to wina tego ze mam dynamiczne ip)
http://arogancik.no-ip.org/index.php?co=edycja
http://arogancik.no-ip.org/index2.php?co=edycja
oba skrpty mają ten sam kod, tylko operują na dwóch róznych plikach
http://arogancik.no-ip.org/a.txt
http://arogancik.no-ip.org/b.txt
a oto źródło skryptu
http://arogancik.no-ip.org/index.txt
mamandzieje ze niebedzie problemów.

jeszcze jedna uwaga, jesli chcemy miec jakieś pole puste to tak czy siak w plik z danymi trzeba wstawić ||, ponieważ ilość pół oddzielonych tymi znaczkami zawsze muszi być 8 (godzina + 7 dni tyodnia)
djpeterek
arogancik z ciebie jest spoko koles wiec wielkie ThX za dobra robote biggrin.gif
arogancik
cała przyjemnośc po mojej stronie. można b to jeszcze ulepszyć smile.gif

a tak przy okazjik wiedziałęm ze ci się sypie z powodu łamania lini i dlatego dałem linki do zródeł w formacie txt smile.gif
PrZeMoL
stary.......... jestes wielki bardzo dziekuje za te ramowke biggrin.gif

kurde..... jeden plik heh...... ale ja jestem glupi tongue.gif tyle pisania bylo i chyba 400 plikow w sumie hehe


jeszcze raz wielkie dzieki
arogancik
pisałem ze mam egzamin z matmy i podeszłem do tego matematycznie smile.gif poco robić ileś pliów jesli mozna tylko zmieniać daną pozycje w tabeli. powinienm tylko dodać sprawdzanie czy ktoś nie wpisuje || bo wtedy rozwali tabele. ale takie sprawdzanie to nie problem i kazdy moze je zrobić smile.gif
PrZeMoL
dla tych ktorzy maja te ramowke to w 15 linii przed zakonczeniem nawiasu trza dopisac


Kod
."||"


i w pliku txt na koncu kazdej linii


Kod
||


bo niedziela sie wysypywala smile.gif
PrZeMoL
niestety ta ramowka sie wysypuje jak dopisuje niedziele..... zobacz sam smile.gif

traca sie linijki i nie umiem do tego dojsc czemu


UPDATE:

dobra... tongue.gif
trza dopisac n jeszcze na koncu czyli:

Kod
."||n"
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.