JakubBab
3.03.2016, 23:17:01
Czesc,
Tabela z ktora sie mecze ma wygladac tak, ze :
th0 th1 th2 th3
td 0 td0 td0 td0
td1 td1 td1 td1
td++ td++td++ td++
Najblizszy porzadanego celu jest kod ponizej. Problem w tym, ze kazdy znak i podporzadkowane mu www powinny byc w sasiadujacej kolumnie (prezentacja powyzej) a nie pod.
for($i=0;$i<=4;$i++){
echo "<th>znak[$i]</th>";
for($j=0;$j<=4;$j++){
echo "<td>wwww[$j]</td>";
}
}
Ktos cos?
Kshyhoo
3.03.2016, 23:19:36
Przenoszę do Przedszkola, dopasuj tytuł wątku do zasad na Forum.
nospor
4.03.2016, 11:46:37
<tr> dajesz przed petla
a </tr> dajesz w petli.... No nie widzisz tu totalnego braku logiki?
for($j=0;$j<=4;$j++){
echo "<td>wwww[$j]</td>"; }
prawda ze lepiej?
JakubBab
4.03.2016, 12:05:10
Nie prawda.
Juz przerabialem sposob zaproponowany przez Ciebie i wychodzi :
znak[0]
wwww[0] wwww[1] wwww[2] wwww[3] wwww[4]
znak[1]
wwww[0] wwww[1] wwww[2] wwww[3] wwww[4]
znak[2]
wwww[0] wwww[1] wwww[2] wwww[3] wwww[4]
znak[3]
wwww[0] wwww[1] wwww[2] wwww[3] wwww[4]
znak[4]
wwww[0] wwww[1] wwww[2] wwww[3] wwww[4]
Natomiast ja szukam rozwiazania, zeby wyszlo
znak[0] znak[1] znak[3] znak[4]
wwww[0] wwww[0] wwww[0] wwww[0]
wwww[1] wwww[1] wwww[1] wwww[1]
To tylko przyklad. W zamirzeniu pola www beda "wybieralne" wiec jak wybiore www[0] i przesle formularzem z ukrytym "input" to wtedy bede wiedzial, ze np. to www zostalo wybrane z petli znaku[3].
nospor
4.03.2016, 12:21:45
Ja poprawialem ci blad skladniowy

Jak chcesz miec znaki w naglowku, to masz je wyswietlic w oddzielnej petli tylko i wylacznie na naglowki th
JakubBab
4.03.2016, 12:29:19
No tak, skladniowy..dzieki
Teraz pytanie konkretne, jak zrobie osobna petle z naglowkami ale nie zapetle jej z www[x] (juz czepie sie przykladu ponizej) to w jaki bede wiedzial, ze www[3] zostalo wyslane z <th>znak[x]</th> ? W tym sek.
nospor
4.03.2016, 12:47:12
Powiem ci szczerze ze sie zgubilem...

Naglowek to tylko i wylacznie prezentacja i ma sie nijak do wysylania gdziekolwiek. Jak chcesz cos wyslac razem ze swoim www to dodaj pole ukryte i bedzie wszystko jasne.
Moze podaj jakis praktyczny przyklad bo te pseudo znaki i www to mnie osobiscie dzis myla - piateczek
JakubBab
4.03.2016, 13:04:02
OK.
W zalozeniu - system rezerwacji - . Wymyslilem tak, zamiast standardowego kalendarza zrobie -- mniej standardowy -- ktory bedzie wygladal tak.
*** PON WT SR CZW PIAT
9:00
10:00
11:00
Wiec zalozylem sobie, ze dzien tygodnia bedzie w pierwszej petli i wykorzystam date("l", mktime.....). Godzinom odpowiadalaby druga petla (wewnatrz pierwszej). Czyli, jesli ktos wybralby termin w srode o godzinie 10:00 to wtedy = bede wiedzial, ze pierwsza petla zatrzymala sie na 2 obrocie (lub trzecim w zaleznosci od ustawienia) a petla wewnatrz niej na pierwszym *.
Warunek wstawiam ktory bedzie tlumaczyl odpowiednio nr petli godzinowej na konkretna godzine tzn. wbacz, ze znowu powolam sie na przyklad ale tak latwiej zobrazowac ** www[0] = 9:00. **. Nastepnie record wstawiam do bazy danych, druga klasa pobiera mi zawartosc bazy danych i robi update ktory slot jest wolny. Tak w skrocie.
Ma to rece ?
nospor
4.03.2016, 13:13:30
Przekombinowales...
Po prostu kazda komorka z godzina ma miec pole np. checkbox, ktore bedzie wygladalo tak:
<input type="checkbox" name="reservation[day_of_week]['hour']" value="1" />
day_of_week - cyfry od 0 do 6
hour - twoja godzina
Gdy ktos kliknie na komorke, ty masz zaznaczac/odznaczac ten checkbox.
Potem normalnie wyslac formularz (ta tabelka jest wewnatrz forma) i bedziesz mial wyslane tylko checkbox ktore byly zaznaczone i wszystsko bedziesz mial co chcesz
JakubBab
4.03.2016, 13:20:11
No i to ma sens. Dzieki.
Tak z czystej ciekawosci ( i z faktu przesiedzianych paru godzin), czy da sie stowrzyc tabele jaka opisalem z wykorzystaniem zapetlenia dwoch petli for?
Kshyhoo
4.03.2016, 13:22:58
Da się, dwa przykłady na dwie pętle:
<?php
$poziome=10;
$pionowe=10;
echo '<table border="1" cellpadding ="1" cellspacing="0" style="text-align: right;">'; for($i=0; $i<=$pionowe; $i++) {
for($j=0;$j<=$poziome; $j++) {
if(($i == 0
) && ($j == 0
)) echo '<td width="25px" style="background: #c0c0c0;">X</td>'; elseif($i == 0
) echo '<td style="background: #c0c0c0;">'.$j.'</td>'; elseif($j == 0
) echo '<td style="background: #c0c0c0;">'.$i.'</td>'; else echo '<td width="25px">'.$i*$j.'</td>'; }
}
echo '</table><br /><br />';
echo '<table rules="all" cellpadding="4" style="font:11px Arial,Verdana;border:2px solid #ccc;">'."\n"; for ($j = 1; $j <= 10; $j++) {
for ($i = 1; $i <= 10; $i++) {
$liczba = $i*$j;
if ($liczba%2 > 0)
echo '<td bgcolor="green">'; else
echo '<td bgcolor="red">'; }
}
?>
nospor
4.03.2016, 13:24:25
Nie, a juz na pewnie nie przy uzyciu TR i TD. Moze jakies dzikie kombinacje z DIVami i position absolute ale to by bylo totalnie bez sensu
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.