|
TwojePC.pl © 2001 - 2025
|
 |
A R C H I W A L N A W I A D O M O Ś Ć |
 |
| |
|
Potrzebna pomoc z (chyba) HTML, prosty formularz z wyliczeniem dat. , waldisobon 18/08/07 21:08 Znaczy się prosty jak dla kogo...
Od razu mówię - żadne zaliczenie ani nic z tych rzeczy. Z html, php i innych takich jestem nygus, a kombinuję zrobić sobie takie coś jak na tym obrazku:
http://img521.imageshack.us/...=clipboard01xn5.jpg
W skrócie - mam dwa pola, w których podaję daty, a w trzecim wyliczona jest ilość dni od tej "bliższej" daty.
Aha, no i dobrze by było, gdyby położenie pól było definiomalne w kodzie.
Ktos pomoże laikowi?Niektórych boardowiczów uważam za idiotów i
oni o tym wiedzą. - raczej php , _oLo_1984 18/08/07 21:52
kodzik:
<?php
echo '<table border="1">';
echo '<form action="nazwa_tego_pliku.php" method=post>';
echo '<tr><td>Data ostatniego wpływu</td><td><input type="text" name="data_a"></td></tr>';
echo '<tr><td>Data ostatniej wypłaty</td><td><input type="text" name="data_b"></td></tr>';
echo '<tr><td>Dzisiejsza data</td><td><input type="text" name="data_a" value='.date("Y-m-d").'></td></tr>';
echo '<tr><td colspan="2" align="center"><input type="submit" value="Policz"></td></tr>';
echo '</form>';
echo '</table>';
if(!empty($_POST['data_a']) AND !empty($_POST['data_b']))
{
echo '<br /><br />';
echo '<table><tr>';
echo '<tr><td>Od ostatniej operacji mineło</td><td>';
$a=strtotime($_POST['data_a']);
$b=strtotime($_POST['data_b']);
$x=strtotime(date("Y-m-d"));
if(($x-$a)/89400 > ($x-$b)/89400)
{
echo intval(($x-$a)/89400)+1;
}
elseif(($x-$a)/89400 < ($x-$b)/89400)
{
echo intval(($x-$b)/89400)+1;
}
echo ' dni</td></tr>';
}
else
{
echo 'Brak danych';
}
?>
jezeli są jakies bledy to niech ktos poprawi, zaczynam juz 3 browar wiec cosik mogłem skopać
pozdro ...awake - Tos mnie teraz zabił... , waldisobon 18/08/07 21:56
Dzięki bardzo za zaangażowanie (tym bardziej po trzecim ;-) al o ile z czystego html'a od biedy zrozumiem (w najprostszej postaci) o tyle o php wiem, że jest ;-(
Możesz jakoś przejrzyściej?Niektórych boardowiczów uważam za idiotów i
oni o tym wiedzą. - obawiam się , _oLo_1984 18/08/07 22:04
ze w czystym html tego nie zrobisz - poprostu sie nie da, no a kod jest w sumie banalny (jezeli jakies tam podstawy programowania masz, jezeli nie to ja nic nie poradze) jezeli o php nie wiesz to zerknij na www.php.net.pl, znajdziesz tam tez w manualu funkcje ktore wykozystalem no i kilka ogulnych informacji, niestety tyle z mojej strony
powodzenia i pozdrawiamawake
- co to jest 89400? , Grocal 18/08/07 22:41
:))))))
Z tego co widze, co mozna to i w javascripcie zrobic, jak sie komus chce.Na pewno, na razie, w ogóle...
Naprawdę, naprzeciwko, stąd...
Ortografia nie gryzie! - hmm , _oLo_1984 18/08/07 22:54
chyba powinno być 86400 ... to dlatego mi coś nie pasowało, zle policzylem ilosc sekund w dniu (no i dlatego to +1 ) brawo za czujnosc :Dawake
- _oLo_1984 : a od czego jest JavaScript? , pi_3-14 18/08/07 23:13
...pewnie służy tylko do robienia efektów onmouseover : )
@waldisobon: poczytaj o obiekcie Date w JS.
<script type="text/javascript">
function makeDate(str) {
var a = str.split('-');
return Date.UTC(parseInt(a[0], 10), parseInt(a[1], 10)-1, parseInt(a[2], 10));
}
function oblicz() {
var msInDay = 86400000;
var a = makeDate(document.getElementById('data-a').value);
var b = makeDate(document.getElementById('data-b').value);
var x = makeDate(document.getElementById('data-x').value);
document.getElementById('data-result').value = Math.min(x-a, x-b) / msInDay;
}
</script>
</head>
<body>
A: <input type="text" id="data-a" value="2007-05-01"/><br />
B: <input type="text" id="data-b" value="2007-05-20" /><br />
X: <input type="text" id="data-x" value="2007-08-18" /><br />
Wynik: <input type="text" id="data-result" /> <input type="button" value="Oblicz" onclick="oblicz()" /><br /><br />- eh ... , _oLo_1984 18/08/07 23:19
nie powiedzialem nigdzie ze tylko php sluzy do tego celu ;pawake - Ooo, prawie dobrze... , waldisobon 21/08/07 14:15
Pi_3_14, możesz mi jeszcze poradzić.
Przyjrzałem się Twojemu kodowi i spróbowałem coś podobnego napisać.
Zaznaczam, że w życiu na oczy Javascriptu nie widziałem. I to działa, ale mam dwa pytania:
1. Po załadowaniu strony pojawia się formularz - trzeba wcisnąć "Oblicz" - jak zrobić, aby przycisku nie było, a przeliczało się przy załadowaniu strony?
2. Data "X" - jak zrobic aby się przy załadowaniu strony ustawiała data bieżąca?
Taki kod mi wyszedł:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta content="Testowa" name="Testowa">
</head>
<body>
<script type="text/javascript">
function makeDate(str) {
var a = str.split('-');
return Date.UTC(parseInt(a[0], 10), parseInt(a[1], 10)-1, parseInt(a[2], 10));
}
function oblicz() {
var msInDay = 86400000;
var a = makeDate(document.getElementById('data-a').value);
var b = makeDate(document.getElementById('data-b').value);
var c = makeDate(document.getElementById('data-c').value);
var d = makeDate(document.getElementById('data-d').value);
var x = makeDate(document.getElementById('data-x').value);
document.getElementById('data-result').value = Math.min(x-a, x-b, x-c, x-d) / msInDay;
}
</script>
<form>
A: <input id="data-a" value="2007-05-01"><br>
B: <input id="data-b" value="2007-05-20"><br>
C: <input id="data-c" value="2007-05-20"><br>
D: <input id="data-d" value="2007-05-20"><br>
X: <input id="data-x" style="WIDTH: 171px; HEIGHT: 22px" size="15" value="2007-08-20"><br>
Wynik: <input id="data-result"> <input onclick="oblicz()" type="button" value="Oblicz"><br>
<br>
</form>
</body>
</html>Niektórych boardowiczów uważam za idiotów i
oni o tym wiedzą.
|
|
|
|
 |
All rights reserved ® Copyright and Design 2001-2025, TwojePC.PL |
 |
|
|
|