Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [HTML][MySQL][PHP] Pole typu 'checkbox' jako wiersz w tabeli, Problem z pobieraniem/wysyłaniem danych tabeli w 'checkbox'
zoomol
post 7.03.2014, 13:17:40
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 29.07.2006
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cześć,

Mam problem z zrobieniem prawdopodobnie prostej rzeczy.

[STRUKTURA TABELI MySQL]
Kod
mysql> describe tb_wesele;
+----------------+--------------+------+-----+---------+-----------------------------+
| Field          | Type         | Null | Key | Default | Extra                       |
+----------------+--------------+------+-----+---------+-----------------------------+
| LP             | tinyint(3)   | NO   | PRI | NULL    | auto_increment              |
| Nazwa_prezentu | varchar(200) | YES  |     | NULL    |                             |
| Cena_prezentu  | decimal(6,2) | YES  |     | NULL    |                             |
| Link_do_strony | varchar(250) | YES  |     | NULL    |                             |
| Czy_wybrany    | tinytext     | YES  |     | NULL    |                             |
| Kiedy_wybrany  | timestamp    | YES  |     | NULL    | on update CURRENT_TIMESTAMP |
+----------------+--------------+------+-----+---------+-----------------------------+


[IDEA]
Możliwość wyboru wiersza (checkbox) jednokrotnie lub wielokrotnie (kilka wierszy) w formularzu HTML, generowanym za pomocą PHP, wyświetlającym zawartość tabeli MySQL oraz aktualizowanie tabeli MySQL po wyborze wiersza przez użytkownika.

[Od strony użytkownika]
Łopatologicznie: wchodzę na stronę, wybieram interesującą mnie pozycję (lub interesujące mnie pozycje) z tabeli, zahaczam "checkbox/y", klikam "Zapisz" i koniec.
[Od strony serwera]
Skrypt generuje listę pozycji do formularza za pomocą PHP/MySQL. Formularz zawiera tylko te pozycje, które w polu "Czy_wybrany" zawiera słowo "NIE".
  1. mysql> SELECT * FROM tb_wesele WHERE czy_wybrany LIKE "nie";

Użytkownikowi pojawia się formularz z wyselekcjonowanymi wierszami oraz dodatkową kolumną, w której wstawiam <input type="checkbox">. Po wybraniu przez użytkownika pozycji, skrypt aktualizuje tabelę 'tb_wesele' zmieniając tylko pole "Czy_wybrany" z "NIE" na "TAK" oraz aktualizuje "TIMESTAMP" w polu "Kiedy_wybrany" dla pozycji zaznaczonych przez użytkownika.

Ponieważ miałem dość długą pauzę w kodowaniu, wykładam się na podstawowych rzeczach:
1. Wszystko chcę obsłużyć "jednym plikiem" - tzn. operacje SELECT, UPDATE, wyświetlanie formularze miałyby odbywać się w jednym pliku index.php.
2. Chcę użyć metody POST dla formularza.

Teraz moje wypociny:
Używam osobnych pliczków do nagłówka i stopki (head.php oraz foot.php). Foot.php nie będę przytaczał, bo tam nic nie ma.
head.php
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="pl">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <meta name="robots" content="none" />
  6.  
  7. <link href="style/style.css" rel="stylesheet" type="text/css" />
  8. <title>Wybór prezentów na wesele</title>
  9.  
  10. <link rel="shortcut icon" href="images/favicon.ico">
  11.  
  12. <?php require("scripts/db_connect.php"); ?>
  13.  
  14. </head>
  15.  
  16. <body>


index.php
  1. <?php require("head.php"); ?>
  2. <!-- początek body -->
  3.  
  4. <div id="content" align="center">
  5.  
  6. <?php
  7. if (count($_POST))
  8. {
  9. $LP = $_POST['LP'];
  10. $Nazwa = $_POST['Nazwa_prezentu'];
  11. $Link = $_POST['Link_do_strony'];
  12. $Czy = $_POST['Czy_wybrany'];
  13. $Kiedy = $_POST['Kiedy_wybrany'];
  14. $wybrany = "<table cellpadding=\"5\" cellspacing=\"3\" id=\"tabela-prezentow\">
  15. <tr class=\"mainrow\">
  16. <td>LP</td>
  17. <td>Nazwa prezentu</td>
  18. <td>Odnośnik do strony</td>
  19. <td>Czy zarezerwowany?</td>
  20. <td>Jeśli zarezerwowany, to kiedy?</td>
  21. </tr>
  22. <tr>
  23. <td>".$LP."</td>
  24. <td>".$Nazwa."</td>
  25. <td><a href=\"".$Link."\">KLIKNIJ!</a></td>
  26. <td>".$Czy."</td>
  27. <td>".$Kiedy."</td>
  28. </tr>
  29. </table>";
  30.  
  31. ////////// USTAWIENIA //////////
  32. $email = 'moj@email'; // Adres e-mail adresata
  33. $subject = 'Informacja z strony xxxxx/wesele'; // Temat listu
  34. $message = "<p><span style=\"color:#008800;font-weight:bold;\">Informacja została zapisana prawidłowo - dziękujemy!</span><br /><br /> Wybrano pozycje:<br /><br />
  35. <span style=\"font-weight:bold;\">".$wybrany."</span><br /></p>"; // Komunikat
  36. $error = "<p style=\"color:#ff0000;font-weight:bold;\">Wystąpił błąd podczas zapisywania danych. Prosimy spróbować ponownie.</p>"; // Komunikat błędu
  37. $charset = 'utf-8'; // Strona kodowa
  38. //////////////////////////////
  39.  
  40. $head = "From: xxxxx\r\n"; // Od kogo wiadomość
  41. $head = "Content-Type: text/html; charset=$charset\r\n"; // Nagłówek - typ zawartości (tu: html), strona kodowa (ustawiona wyżej)
  42. $head = "MIME-Version: 1.0\r\n"; // nagłówek - wersja MIME
  43.  
  44. $wiad = "
  45. <html>
  46.  
  47. <head>
  48. <title>Wiadomość ze strony xxxxx/wesele</title>
  49. </head>
  50. <body>
  51. <div style=\"font-family:'Trebuchet MS',Arial,sans-serif; color:#0000FF;font-size:12px;\">
  52.  
  53. <p>Witaj!<br />
  54. <b>Na stronie <a href=\"http://xxx/wesele\">http://xxx/wesele</a>, ktoś właśnie wybrał prezent ślubny:</p>
  55.  
  56. <p style=\"color:#FF0000;font-size:16px;\">$_POST[wybrany]</p><br />
  57.  
  58. <table cellpadding=\"3\" cellspacing=\"2\" border=\"1\">
  59. <tr>
  60. <td>LP</td>
  61. <td>Nazwa prezentu</td>
  62. <td>Odnośnik do strony</td>
  63. <td>Czy zarezerwowany?</td>
  64. <td>Jeśli zarezerwowany, to kiedy?</td>
  65. </tr>
  66. <tr>
  67. <td>".$LP."</td>
  68. <td>".$Nazwa."</td>
  69. <td><a href=\"".$Link."\">KLIKNIJ!</a></td>
  70. <td>".$Czy."</td>
  71. <td>".$Kiedy."</td>
  72. </tr>
  73. </table>
  74. <br />
  75. </div>
  76. </body>
  77. </html>
  78. ";
  79.  
  80. $body = '';
  81. foreach ($_POST as $name => $value)
  82. {
  83. if (is_array($value))
  84. {
  85. for ($i = 0; $i < count($value); $i++)
  86. {
  87. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
  88. }
  89. }
  90. else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
  91. }
  92. echo mail($email, $subject, $wiad, $head) ? $message : $error;
  93. }
  94. else
  95. {
  96. ?>
  97. <p>
  98. <h1>Kochani Goście!</h1><br /><br />
  99. <h2>Serdecznie dziękujemy za to, że chcecie dzielić z nami nasze szczęście.</h2><br />
  100. <h2>Poniżej przedstawiamy listę uciech, (...)<br />
  101.  
  102. <h2>Krótka instrukcja:</h2><br />
  103. <h3>Można wybrać dowolną ilość prezentów (minimum 1). Wybieramy zaznaczając po prawej stronie pole wyboru (kolumna "Wybierz prezent").</h3><br />
  104. <h3>Po dokonaniu wyboru, na samym dole klikamy przycisk "Zapisz".</h3><br />
  105. <h3>I gotowe!</h3><br /><br />
  106. <h3>Raz wybrany prezent, nie pojawi się do wyboru innym Gościom, zatem zostanie wyeliminowane dublowanie się tych samych prezentów.</h3><br />
  107. <h3>Niniejsza strona będzie funkcjonowała do końca maja 2014r.</h3><br /><br />
  108. <h2>Jeszcze raz serdecznie Wam dziękujemy!</h2>
  109. </p><br />
  110.  
  111. <form name="formularz" action="?" method="POST">
  112. <?php
  113.  
  114. /* zapytanie do konkretnej tabeli */
  115. $wynik = mysql_query("SELECT LP, Nazwa_prezentu, Link_do_strony, Czy_wybrany, Kiedy_wybrany FROM tb_wesele WHERE Czy_wybrany like \"NIE\"")
  116. or die('Błąd zapytania SQL. Sprawdź składnię.');
  117.  
  118. /*
  119. wyświetlamy wyniki, sprawdzamy,
  120. czy zapytanie zwróciło wartość większą od 0
  121. */
  122. if(mysql_num_rows($wynik) > 0) {
  123. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  124. echo "<table cellpadding=\"5\" cellspacing=\"3\" id=\"tabela-prezentow\">";
  125. echo "<tr class=\"mainrow\">";
  126. echo "<td>LP</td>";
  127. echo "<td>Nazwa prezentu</td>";
  128. echo "<td>Odnośnik do strony</td>";
  129. echo "<td>Czy zarezerwowany?</td>";
  130. echo "<td>Jeśli zarezerwowany, to kiedy?</td>";
  131. echo "<td>Wybierz prezent</td>";
  132. echo "</tr>";
  133. while($r = mysql_fetch_assoc($wynik)) {
  134. echo "<tr>";
  135. echo "<td>".$r['LP']."</td>";
  136. echo "<td>".$r['Nazwa_prezentu']."</td>";
  137. echo "<td><a href=\"".$r['Link_do_strony']."\" target=\"_blank\">KLIKNIJ!</a></td>";
  138. echo "<td>".$r['Czy_wybrany']."</td>";
  139. echo "<td>".$r['Kiedy_wybrany']."</td>";
  140. echo '<td><input type="checkbox" name="wybrany" value="'.$r['LP'],$r['Nazwa_prezentu'],$r['Link_do_strony'],$r['Czy_wybrany'],$r['Kiedy_wybrany'].'"/></td>'; \\TU MAM STRASZNY PROBLEM
  141. }
  142. echo "</tr>";
  143. echo "</table><br/>";
  144. }
  145.  
  146. ?>
  147.  
  148. <p style="text-align:center;">
  149. <input type="reset" name="reset" value="Wyczyść">
  150. <input type="button" name="submit" value="Zapisz">
  151. </p>
  152. <br/>
  153. </form>
  154. <?php
  155. }
  156. ?>
  157.  
  158. </div>
  159.  
  160.  
  161. <!-- koniec body -->
  162. <?php require("foot.php"); ?>


Nie mam jeszcze napisanej części dot. UPDATE.

[CO DZIAŁA?]
1. Połączenie do bazy i pobieranie wyselekcjonowanych danych do formularza

[Z CZYM SOBIE NIE RADZĘ]
1. index.php - wiersze od 7 do 97. To są skrypty z jakichś starych moich prac, które starałem się przemianować. Niestety, zamiast iść w dobrym kierunku, to brnę we mgłę.
2. index.php - wiersz 140 - nie wiem jak to zrobić, aby formularz wiedział, którą pozycję (wcześniej wczytaną skryptem) wybrał użytkownik i aby ją przesłał (zaktualizował UPDATE) w bazie MySQL.

Bardzo serdecznie proszę o pomoc.
Moderatorów proszę o wyrozumiałość - po dłuższej przerwie, moja znajomość obraca się wokół Przedszkola, zatem w tej sekcji postanowiłem umieścić swoje "wypociny". Z pokorą przyjmę krytykę.

Dziękuję,
Jarek (zoomol)

Ten post edytował zoomol 8.03.2014, 10:34:59


--------------------
Życie to marna gra.... Ale z bardzo dobrą grafiką ;)

Life is brutal, there is no question about it.... ;-/
Go to the top of the page
+Quote Post
zoomol
post 8.03.2014, 18:09:31
Post #2





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 29.07.2006
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cześć,

Mam problem z odbieraniem/przetwarzaniem/wysyłaniem danych z MySQL w formularzu, który jednocześnie może aktualizować tabelę MySQL.

Tworzę formularz, którego tabela jest tworzona na podstawie tabeli MySQL. Wyświetlanie tej tabeli w PHP działa i wygląda tak:
  1. <form name="formularz" action="" method="POST" onsubmit="return validateForm(this);">
  2.  
  3. <?php
  4.  
  5. /* zapytanie do konkretnej tabeli */
  6. $wynik = mysql_query("SELECT LP, Nazwa_prezentu, Link_do_strony, Czy_wybrany, Kiedy_wybrany FROM tb_wesele WHERE Czy_wybrany like \"NIE\"")
  7. or die('Błąd zapytania SQL. Sprawdź składnię.');
  8.  
  9. /*
  10. wyświetlamy wyniki, sprawdzamy,
  11. czy zapytanie zwróciło wartość większą od 0
  12. */
  13. if(mysql_num_rows($wynik) > 0) {
  14. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  15. echo "<table cellpadding=\"5\" cellspacing=\"3\" id=\"tabela-prezentow\">";
  16. echo "<tr class=\"mainrow\">";
  17. echo "<td>LP</td>";
  18. echo "<td>Nazwa prezentu</td>";
  19. echo "<td>Odnośnik do strony</td>";
  20. echo "<td>Czy zarezerwowany?</td>";
  21. echo "<td>Wybierz prezent</td>";
  22. echo "</tr>";
  23. while($r = mysql_fetch_assoc($wynik)) {
  24. echo "<tr>";
  25. echo "<td>".$r['LP']."</td>";
  26. echo "<td>".$r['Nazwa_prezentu']."</td>";
  27. echo "<td><a href=\"".$r['Link_do_strony']."\" target=\"_blank\">KLIKNIJ!</a></td>";
  28. echo "<td>".$r['Czy_wybrany']."</td>";
  29. echo '<td><input type="checkbox" name="wybrany" value="'.$r['LP'],$r['Nazwa_prezentu'],$r['Link_do_strony'],$r['Czy_wybrany'],$r['Kiedy_wybrany'].'"/></td>';
  30. }
  31. echo "</tr>";
  32. echo "</table><br/>";
  33. }
  34.  
  35. ?>
  36. <p style="text-align:center;">
  37. <input type="reset" name="reset" value="Wyczyść">
  38. <input type="button" name="submit" value="Zapisz">
  39. </p>
  40. <br/>
  41. </form>


W wierszu 21 i 29 dodaję kolumnę, w której zaznaczamy który wiersz chcemy wybrać.

[PYTANIE]
Jak skonstruować wiersz 29, aby checkbox przenosił w POST dane dot kolumn wyświetlonych w formularzu w zaznaczonym wierszu? (czyli, po kliknięciu np. trzeciego wiersza, checkbox wyświetli zaznaczone pozycje w postaci: LP, Nazwa, odnośnik, czy zarezerwowany-[to pole zmieni się z '0' na '1']?

Z góry dziękuję za pomoc.


--------------------
Życie to marna gra.... Ale z bardzo dobrą grafiką ;)

Life is brutal, there is no question about it.... ;-/
Go to the top of the page
+Quote Post
Kshyhoo
post 8.03.2014, 18:17:03
Post #3





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Jeden temat wystarczy. Wyjątkowo nie zamykam, ale łącze oba wątki.


--------------------
Go to the top of the page
+Quote Post
zoomol
post 11.03.2014, 09:13:06
Post #4





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 29.07.2006
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Kshyhoo OK - w zasadzie racja, dotyczy tego samego. Sorki i dzięki.

OK, trochę sobie poradziłem - ale to dla mnie droga przez mękę - naprawdę...

Mam teraz taki problem: jak zadeklarować poniższy kod, abym mógł do niego odwołać się jakąś zmienną? Czy to w ogóle możliwe?
  1. <?php
  2.  
  3. $ID = $_POST['id'];
  4.  
  5. $wynik_po_formularzu = mysql_query("SELECT ID_prezentu, Nazwa_prezentu, Link_do_strony, Czy_wybrany FROM tb_prezenty WHERE ID_prezentu = '".$ID."'")
  6. or die('Błąd zapytania SQL. Sprawdź składnię.');
  7.  
  8. if(mysql_num_rows($wynik_po_formularzu) > 0) {
  9. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  10. echo "<table cellpadding=\"5\" cellspacing=\"3\" id=\"tabela-prezentow\">";
  11. echo "<tr class=\"mainrow\">";
  12. echo "<td>ID</td>";
  13. echo "<td>Nazwa prezentu</td>";
  14. echo "<td>Odnośnik do strony</td>";
  15. echo "<td>Czy zarezerwowany?</td>";
  16. echo "</tr>";
  17. while($s = mysql_fetch_assoc($wynik_po_formularzu)) {
  18. echo "<tr class=\"hoverrow\">";
  19. echo "<td>".$s['ID_prezentu']."</td>";
  20. echo "<td>".$s['Nazwa_prezentu']."</td>";
  21. echo "<td><a href=\"".$s['Link_do_strony']."\" target=\"_blank\">KLIKNIJ! 11</a></td>";
  22. echo "<td>".$s['Czy_wybrany']."</td>";
  23. }
  24. echo "</tr>";
  25. echo "</table><br/>";
  26. }
  27.  
  28. ?>


...Nie poradziłem sobie z powyższym, więc musiałem to obejść.

Następna kwestia - tu już trochę trudniejsza.

Czytałem dużo o zapisywaniu plików *.php w kodowaniu UTF-8 (bez BOM) - ponieważ używam Notepad++, bez problemu tak mam utworzone wszystkie pliki (php, css, skrypty).
Problem polega na tym, że IE wyświetla poprawnie tabelkę utworzoną dynamicznie z zapytania MySQL, a np. Chrome wyświetla tą samą stronę błędnie - tzn. wszystko w jednej kolumnie... Nie wiem za choinkę jak sobie z tym poradzić.

Pomóżcie proszę.

KOD
  1. <?php require("head.php"); ?>
  2. <!-- początek body -->
  3.  
  4. <?php
  5.  
  6. // wyświetlenie wybranych prezentów
  7. $wynik = mysql_query("SELECT tb_prezenty.ID_prezentu, tb_prezenty.Nazwa_prezentu, tb_prezenty.Cena_prezentu, tb_prezenty.Link_do_strony, tb_prezenty.Czy_wybrany, tb_wybrane.Kiedy_wybrany, tb_wybrane.IP_wybierajacego, tb_wybrane.Host_wybierajacego FROM `tb_prezenty`,`tb_wybrane` WHERE tb_prezenty.ID_prezentu = tb_wybrane.ID_prezentu AND tb_prezenty.Czy_wybrany = tb_wybrane.Czy_wybrany")
  8. or die('Błąd zapytania SQL. Sprawdź składnię.');
  9.  
  10. if(mysql_num_rows($wynik) > 0) {
  11. // jeżeli wynik jest pozytywny, to wyświetlamy dane
  12. echo "<h3 align=\"center\" style=\"text-align:center;color:#008800;font-weight:bold;\">Dotychczas wybrane zostały następujące prezenty:</h3>";
  13. echo "<table cellpadding=\"5\" cellspacing=\"3\" class=\"tabela-prezentow\">";
  14. echo "<tr class=\"mainrow\">";
  15. echo "<td>ID</td>";
  16. echo "<td>Nazwa prezentu</td>";
  17. echo "<td>Cena prezentu</td>";
  18. echo "<td>Odnośnik do strony</td>";
  19. echo "<td>Czy zarezerwowany?</td>";
  20. echo "<td>Kiedy wybrany?</td>";
  21. echo "<td>IP wybierającego</td>";
  22. echo "<td>Host wybierającego</td>";
  23. echo "</tr>";
  24. while($e = mysql_fetch_assoc($wynik)) {
  25. echo "<tr class=\"hoverrow\">";
  26. echo "<td>".$e['ID_prezentu']."</td>";
  27. echo "<td>".$e['Nazwa_prezentu']."</td>";
  28. echo "<td>".$e['Cena_prezentu']."</td>";
  29. echo "<td><a href=\"".$e['Link_do_strony']."\" target=\"_blank\">KLIK!</a></td>";
  30. echo "<td>".$e['Czy_wybrany']."</td>";
  31. echo "<td>".$e['Kiedy_wybrany']."</td>";
  32. echo "<td>".$e['IP_wybierajacego']."</td>";
  33. echo "<td>".$e['Host_wybierajacego']."</td>";
  34. }
  35. echo "</tr>";
  36. echo "</table><br/>";
  37. }
  38.  
  39. ?>
  40.  
  41. </div>
  42.  
  43. <!-- koniec body -->
  44. <?php require("foot.php"); ?>


A oto wyniki:

IE


Chrome


Czy fakt, że w pliku co_wybrane.php deklaruję nagłówek i stopkę jako
Kod
require();
ma tutaj znaczenie?questionmark.gif? Dlaczego IE sobie radzi, a Chrome (i podejrzewam FF i Opera) sobie nie poradzą?

O co tutaj chodzi? :-(

Ten post edytował zoomol 11.03.2014, 09:15:09


--------------------
Życie to marna gra.... Ale z bardzo dobrą grafiką ;)

Life is brutal, there is no question about it.... ;-/
Go to the top of the page
+Quote Post
lukasz_os
post 11.03.2014, 09:25:45
Post #5





Grupa: Zarejestrowani
Postów: 203
Pomógł: 55
Dołączył: 23.11.2008
Skąd: UKF

Ostrzeżenie: (0%)
-----


Ad. 1. Zapakuj to w funkcję przyjmującą parametr $id. zamiast echo cały wynik zapakuj do zmiennej którą zwrócisz jako wynik funkcji.


--------------------
Pomagam jeśli mam czas oraz jak się na tym znam :D
Go to the top of the page
+Quote Post
zoomol
post 11.03.2014, 09:57:44
Post #6





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 29.07.2006
Skąd: Poznań

Ostrzeżenie: (0%)
-----


lukasz_os dziękuję za podpowiedź.
Rozumiem, że odnosisz się do pierwszego postu w temacie i Pytania nr 1.
Zmieniłem już ten kod - szperałem ostatnie 2 dni, siedzę nad tym i wydłubałem coś takiego:
  1. <?php
  2. if (count($_POST))
  3. {
  4. // deklaracja zmiennych po przesłaniu formularza
  5. $ID = $_POST['id'];
  6. $IP = $_POST['ip'];
  7. $HOST = $_POST['host'];
  8. $czas = date("Y-m-d H:i:s");
  9.  
  10. // update w tabeli tb_prezenty pozycji, która została kliknięta
  11. // czyli zmiana "Czy_wybrany" z "NIE" na "TAK" dla wiersza o ID=$ID
  12. $sql1 = "UPDATE tb_prezenty SET Czy_wybrany=\"TAK\" WHERE ID_prezentu = ".$ID;
  13. mysql_query($sql1) or die('Błąd zapytania UPDATE w SQL. Najprawdopodobniej błąd składni. Proszę o zgłoszenie tego faktu, klikając w logo \"KUKUŁKI 2014\".');
  14.  
  15. // insert do tabeli tb_wybrane całego wiersza z tabeli tb_prezenty
  16. // który został wybrany
  17. $sql2 = "INSERT INTO tb_wybrane (ID_prezentu, Czy_wybrany, IP_wybierajacego, Host_wybierajacego, Kiedy_wybrany) VALUES ('".$ID."', 'TAK', '".$IP."', '".$HOST."', '".$czas."')";
  18. mysql_query($sql2) or die('Błąd zapytania INSERT INTO w SQL. Najprawdopodobniej błąd składni. Proszę o zgłoszenie tego faktu, klikając w logo \"KUKUŁKI 2014\".');
  19.  
  20. // wyświetlenie wyniku po przesłaniu formularza
  21. $wynik_po_formularzu = mysql_query("SELECT ID_prezentu, Nazwa_prezentu, Link_do_strony, Czy_wybrany FROM tb_prezenty WHERE ID_prezentu = '".$ID."'")
  22. or die('Błąd zapytania SELECT w MySQL. Najprawdopodobniej błąd składni. Proszę o zgłoszenie tego faktu, klikając w logo \"KUKUŁKI 2014\"');
  23.  
  24. if(mysql_num_rows($wynik_po_formularzu) > 0) {
  25. // jeżeli wynik jest pozytywny, to wyświetlamy dane
  26. echo "<h3 align=\"center\" style=\"color:#008800;font-weight:bold;text-align:center;\">Wybór został zapisany prawidłowo - dziękujemy!</h3><h3 align=\"center\" style=\"text-align:center;\">Wybrano:</h3>";
  27. echo "<table cellpadding=\"5\" cellspacing=\"3\" class=\"tabela-prezentow\">";
  28. echo "<tr class=\"mainrow\">";
  29. echo "<td>ID</td>";
  30. echo "<td>Nazwa prezentu</td>";
  31. echo "<td>Odnośnik do strony</td>";
  32. echo "<td>Czy zarezerwowany?</td>";
  33. echo "</tr>";
  34. while($s = mysql_fetch_assoc($wynik_po_formularzu)) {
  35. echo "<tr class=\"hoverrow\">";
  36. echo "<td>".$s['ID_prezentu']."</td>";
  37. echo "<td>".$s['Nazwa_prezentu']."</td>";
  38. echo "<td><a href=\"".$s['Link_do_strony']."\" target=\"_blank\">KLIKNIJ! 11</a></td>";
  39. echo "<td>".$s['Czy_wybrany']."</td>";
  40. }
  41. echo "</tr>";
  42. echo "</table><br/>";
  43. }
  44. else {
  45. echo "<h3 style=\"color: #FF0000;font-weight:bold;text-align:center;\">Coś poszło nie tak. Prosimy spróbować jeszcze raz.</h3>";
  46. }
  47.  
  48. }
  49. else
  50. {
  51.  
  52. $ip = $_SERVER['REMOTE_ADDR'];
  53. $host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
  54.  
  55. // zapytanie do tabeli tb_prezenty
  56. $wynik = mysql_query("SELECT ID_prezentu, Nazwa_prezentu, Link_do_strony, Czy_wybrany FROM tb_prezenty WHERE Czy_wybrany like \"NIE\"")
  57. or die('Błąd zapytania SELECT w SQL. Najprawdopodobniej błąd składni. Proszę o zgłoszenie tego faktu, klikając w logo \"KUKUŁKI 2014\".');
  58.  
  59. /*
  60. wyświetlamy wyniki, sprawdzamy,
  61. czy zapytanie zwróciło wartość większą od 0
  62. */
  63. if(mysql_num_rows($wynik) > 0) {
  64. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  65. echo "<form name=\"formularz\" action=\"\" method=\"POST\" onsubmit=\"return validateForm();\">";
  66. echo "<table cellpadding=\"5\" cellspacing=\"3\" class=\"tabela-prezentow\">";
  67. echo "<tr class=\"mainrow\">";
  68. echo "<td>ID</td>";
  69. echo "<td>Nazwa prezentu</td>";
  70. echo "<td>Odnośnik do strony</td>";
  71. echo "<td>Czy zarezerwowany?</td>";
  72. echo "<td>Wybierz prezent</td>";
  73. echo "</tr>";
  74. while($r = mysql_fetch_assoc($wynik)) {
  75. echo "<tr class=\"hoverrow\">";
  76. echo "<td>".$r['ID_prezentu']."</td>";
  77. echo "<td>".$r['Nazwa_prezentu']."</td>";
  78. echo "<td><a href=\"".$r['Link_do_strony']."\" target=\"_blank\">KLIKNIJ!</a></td>";
  79. echo "<td>".$r['Czy_wybrany']."</td>";
  80. echo "<td><input type=\"checkbox\" name=\"id\" value=\"".$r['ID_prezentu']."\"/></td>";
  81. }
  82. echo "</tr>";
  83. echo "</table><br/>";
  84. echo "<p style=\"text-align:center;\">";
  85. echo "<input type=\"hidden\" name=\"ip\" value=\"".$ip."\"/>";
  86. echo "<input type=\"hidden\" name=\"host\" value=\"".$host."\"/>";
  87. echo "<input type=\"reset\" name=\"reset\" value=\"Wyczyść\">";
  88. echo "<input type=\"submit\" name=\"zapisz\" value=\"Zapisz\">";
  89. echo "</p>";
  90. echo "</form>";
  91. }
  92. else
  93. {
  94. echo "<h3 style=\"color: #FF0000;text-align:center;\">Nie ma już dostępnych prezentów do wyświetlenia :) <br/>Dziękujemy!</h3>";
  95. }
  96.  
  97. }
  98.  
  99. ?>

Działa to dobrze, aczkolwiek mam problem z wyświetlaniem - tak jak w ostatnim poście.

NIE DZIAŁAJĄ mi natomiast następujące rzeczy:
1. Do tablicy POST przekazują się tylko dane z pierwszego wiersza (questionmark.gif?). Nie rozumiem tego. W sumie checkbox zadeklarowałem tak: <input type=\"checkbox\" name=\"id\" value=\"".$r['ID_prezentu']."\"/> - zrobiłem to specjalnie, bo jak zmienię name="id[]" to robią mi się tablice w tablicach - nie umiem tego ogarnąć :-(
Gdy generuje się tabelka z pozycjami i checkbox'ami, zachowanie formularza jest następujące:
a) gdy wybiorę pierwszą pozycję z tabeli (i tylko tą jedną pozycję) - formularz się przekazuje
cool.gif gdy wybiorę inną niż pierwszą pozycję z tabeli - formularz nie przekazuje danych o ID
c) gdy wybiorę pierwszą pozycję i dowolną inną - formularz się przekazuje, a jako ID zwraca najniższą pozycję zaznaczoną w tabeli (tzn. patrząc na screen z IE - jeśli zaznaczę pozycję pierwszą i trzecią, to ID zwróci mi w POST [11], a jeśli zaznaczę pierwsze dwie - to zwróci mi ID [5]).
Nie wiem o co tu chodzi - nie radzę sobie z danymi przekazanymi w checkbox'ach generowanych dynamicznie na podstawie zapytań MySQL... POMOCY

2. Mam skrypt sprawdzający czy minimum jeden checkbox został zaznaczony. Niestety nie działa mi to - a raczej działa w powiądzaniu z punktem powyżej, czyli:
a) gdy wybiorę pierwszą pozycję z tabeli (i tylko tą jedną pozycję) - formularz się przekazuje, czyli skrypt działa
cool.gif gdy wybiorę inną niż pierwszą pozycję z tabeli - formularz się nie przekazuje - skrypt generuje błąd i wyświetla komunikat z alert'u
c) gdy wybiorę parę pozycji, ale bez pierwszej - formularz się nie przekazuje - skrypt generuje błąd i wyświetla komunikat z alert'u
c) gdy wybiorę pierwszą pozycję i dowolną inną - formularz się przekazuje.
WTF? :-(

Kod java script:
  1. PLIK head.php (część)
  2. <head>
  3. <?php require("scripts/db_connect.php"); ?>
  4.  
  5. <script type="text/javascript">
  6.  
  7. function validateForm()
  8. {
  9. for (var i = 0; i < document.formularz.elements.length; i++ ) {
  10. if (document.formularz.elements[i].type == 'checkbox') {
  11. if (document.formularz.elements[i].checked == true) {
  12. <!-- cbResults += document.formularz.elements[i].value + ' '; -->
  13. return true;
  14. }
  15. else {
  16. alert("Proszę zaznaczyć przynajmniej jeden wiersz.");
  17. return false;
  18. }
  19. }
  20. }
  21. }
  22. //-->
  23. </script>
  24.  
  25. </head>
  26.  
  27. CZĘŚĆ pliku index.php z formularzem:
  28.  
  29. if(mysql_num_rows($wynik) > 0) {
  30. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  31. echo "<form name=\"formularz\" action=\"\" method=\"POST\" onsubmit=\"return validateForm();\">";
  32. echo "<table cellpadding=\"5\" cellspacing=\"3\" class=\"tabela-prezentow\">";
  33. echo "<tr class=\"mainrow\">";
  34. echo "<td>ID</td>";
  35. echo "<td>Nazwa prezentu</td>";
  36. echo "<td>Odnośnik do strony</td>";
  37. echo "<td>Czy zarezerwowany?</td>";
  38. echo "<td>Wybierz prezent</td>";
  39. echo "</tr>";
  40. while($r = mysql_fetch_assoc($wynik)) {
  41. echo "<tr class=\"hoverrow\">";
  42. echo "<td>".$r['ID_prezentu']."</td>";
  43. echo "<td>".$r['Nazwa_prezentu']."</td>";
  44. echo "<td><a href=\"".$r['Link_do_strony']."\" target=\"_blank\">KLIKNIJ!</a></td>";
  45. echo "<td>".$r['Czy_wybrany']."</td>";
  46. echo "<td><input type=\"checkbox\" name=\"id\" value=\"".$r['ID_prezentu']."\"/></td>";
  47. }
  48. echo "</tr>";
  49. echo "</table><br/>";
  50. echo "<p style=\"text-align:center;\">";
  51. echo "<input type=\"hidden\" name=\"ip\" value=\"".$ip."\"/>";
  52. echo "<input type=\"hidden\" name=\"host\" value=\"".$host."\"/>";
  53. echo "<input type=\"reset\" name=\"reset\" value=\"Wyczyść\">";
  54. echo "<input type=\"submit\" name=\"zapisz\" value=\"Zapisz\">";
  55. echo "</p>";
  56. echo "</form>";


Heeelp ohmy.gif ohmy.gif

Ten post edytował zoomol 11.03.2014, 09:59:08


--------------------
Życie to marna gra.... Ale z bardzo dobrą grafiką ;)

Life is brutal, there is no question about it.... ;-/
Go to the top of the page
+Quote Post
lukasz_os
post 11.03.2014, 10:20:01
Post #7





Grupa: Zarejestrowani
Postów: 203
Pomógł: 55
Dołączył: 23.11.2008
Skąd: UKF

Ostrzeżenie: (0%)
-----


W poprzednim poście odnosiłem się do tego:
Cytat
Mam teraz taki problem: jak zadeklarować poniższy kod, abym mógł do niego odwołać się jakąś zmienną? Czy to w ogóle możliwe?


"Tablice w tablicach" obsługujesz tak:

  1. echo $_POST['id'][0]

zwróci pierwszy element tablicy z checkboxami i jest to jedyny sposób odebrania wszystkich checkboxów.

Ad. 2. Przed wejściem w pętlę for sprawdzającą wszystkie elementy formularza zadeklaruj zmienną: var checked=false; jeżeli jakikolwiek checkbox jest kliknięty: checked=true;
Po wyjściu z pętli sprawdzasz wartość checked i albo przesyłasz formularz albo wyświetlasz alert.


--------------------
Pomagam jeśli mam czas oraz jak się na tym znam :D
Go to the top of the page
+Quote Post
zoomol
post 11.03.2014, 15:12:32
Post #8





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 29.07.2006
Skąd: Poznań

Ostrzeżenie: (0%)
-----


lukasz_os dzięki za podpowiedzi.

Po kolei:
1. odwołanie do tablicy, o którym napisałeś, zwraca mi wartość ZAWSZE tylko jednego checkbox'a. A ja czasami zaznaczam kilka, to zawsze wartość jest najniższego z wyświetlonej tabeli... Nie wiem, jak dobrać się do tych kolejnych... Jakąś pętlą? Jak wydobyć te kolejne zaznaczone checkbox'y z tablicy? czy wartość [0] w
  1. echo $_POST['id'][0]
może być zmienną, dzięki której wyświetlę wszystkie kliknięte checkbox'y?

2. walidacja zaznaczonych checkbox'ów: poszperałem, popróbowałem i jednak stoję w miejscu...
Znalazłem ten post, w którym chyba jest zawarte to, o czym piszesz.
Dostosowałem kod pod siebie, ale niestety - nic to nie zmienia:
  1. function validateForm()
  2. {
  3. var checkboxy = document.getElementsByTagName('input');
  4. for(var i=0; i<checkboxy.length; i++) {
  5.  
  6. if(checkboxy[i].type=='checkbox') {
  7. if(checkboxy[i].checked==true) {
  8. alert('checkbox o id '+checkboxy[i].id +' został zaznaczony');
  9. return true;
  10. }
  11. else {
  12. alert('checkbox o id '+checkboxy[i].id +' NIE został zaznaczony');
  13. return false;
  14. }
  15. }
  16. }
  17. }
  18.  

Działa to tak "piąte-przez-dziesiąte", mianowicie tak jak pisałem we wcześniejszym poście z podpunktami (a, b, c, d) - zachowanie identyczne...

[Edit]
Ad. 2 (Walidacja javascript):
Znalazłem taki skrypt:
  1. function validateForm(AForm) {
  2. var e, i = 0;
  3. while (e = AForm.elements[i++])
  4. if (e.type == 'checkbox' && e.checked)
  5. return true;
  6. alert ('Proszę zaznaczyć przynajmniej jeden wiersz');
  7. return false;
  8. }

Super zadziałało. Problem na razie rozwiązany.

Pozostaje Ad. 1 - czyli zaznaczenie więcej niż 1 checkbox'a (jak to wyświetlić?)
HELP

Ten post edytował zoomol 11.03.2014, 15:40:44


--------------------
Życie to marna gra.... Ale z bardzo dobrą grafiką ;)

Life is brutal, there is no question about it.... ;-/
Go to the top of the page
+Quote Post
lukasz_os
post 11.03.2014, 15:43:08
Post #9





Grupa: Zarejestrowani
Postów: 203
Pomógł: 55
Dołączył: 23.11.2008
Skąd: UKF

Ostrzeżenie: (0%)
-----


Ad 1.

popróbuj z pętlą foreach dla $_POST['id'];

Ad. 2.

  1. function validateForm()
  2. {
  3. var checkboxy = document.getElementsByTagName('input');
  4. var checked=false;
  5. for(var i=0; i<checkboxy.length; i++) {
  6.  
  7. if(checkboxy[i].type=='checkbox') {
  8. if(checkboxy[i].checked==true) {
  9. checked=true;
  10. }
  11. }
  12. }
  13. if(checked)
  14. {
  15. return true;
  16. }
  17. else
  18. {
  19. return false;
  20. }
  21. }


chyba tyle smile.gif


--------------------
Pomagam jeśli mam czas oraz jak się na tym znam :D
Go to the top of the page
+Quote Post
zoomol
post 11.03.2014, 17:41:46
Post #10





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 29.07.2006
Skąd: Poznań

Ostrzeżenie: (0%)
-----


lukasz_os dzięki za cierpliwość i odpowiedzi smile.gif Wykładam się na podstawach, ale od mojego ostatniego PHPowania minęło sporo czasu...
Wracając do sedna. Walidację mamy z głowy - bardzo dziękuję za pomoc.

Pozostaje kwestia pętli foreach.
Poczytałem o niej i zastosowałem na razie coś takiego:
  1. <?
  2. foreach ($_POST['id'] as $key => $value) {
  3. echo "klucz <b>" . $key . "</b> ma wartość: " . $value . "<br>";
  4. }
  5. ?>

Pętelka ładnie listuje mi zakliknięte checkbox'y do postaci:
Kod
klucz 0 ma wartość: 7
klucz 1 ma wartość: 12
klucz 2 ma wartość: 14


W formularzu <form>, pole <input> wygląda teraz tak:
  1. <? echo "<td><input type=\"checkbox\" name=\"id[]\" value=\"".$r['ID_prezentu']."\"/></td>";?>


To działa i jest OK. Idąc dalej, chcę wyświetlić z bazy MySQL te pozycje, których ID jest równe wartościom $value.
Spróbowałem z czymś takim:
  1. <?php
  2. $ID = $value;
  3.  
  4. // wyświetlenie wyniku po przesłaniu formularza
  5. $wynik_po_formularzu = mysql_query("SELECT ID_prezentu, Nazwa, Link_do_strony, Czy_wybrany FROM tb_prezenty WHERE ID_prezentu = '".$ID."'")
  6. or die('Błąd zapytania SELECT w MySQL.');
  7. ?>


Problem w tym, że jeśli zaznaczę więcej niż jedną pozycję, to pętla foreach wyświetli mi wszystkie pary kluczy $key i wartości $value, natomiast MySQL zwraca mi tylko ostatnią pozycję z pętli... Dlaczego i jak się z tym uporać?

Ten post edytował zoomol 11.03.2014, 17:46:48


--------------------
Życie to marna gra.... Ale z bardzo dobrą grafiką ;)

Life is brutal, there is no question about it.... ;-/
Go to the top of the page
+Quote Post
Turson
post 11.03.2014, 18:18:57
Post #11





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


ID jest tablicą.
  1. $ID = implode(",",$value);
  2. // wyświetlenie wyniku po przesłaniu formularza
  3. $wynik_po_formularzu = mysql_query("SELECT ID_prezentu, Nazwa, Link_do_strony, Czy_wybrany FROM tb_prezenty WHERE ID_prezentu IN({$ID})")
  4. or die('Błąd zapytania SELECT w MySQL.');
Go to the top of the page
+Quote Post
zoomol
post 11.03.2014, 19:51:40
Post #12





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 29.07.2006
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Turson dziękuję za naprowadzenie oraz kod.
Niestety, po wykonaniu zapytania, zwraca mi następujący komunikat:
( ! ) Warning: implode(): Invalid arguments passed in C:\wamp\www\index.php on line 2 i
Błąd zapytania SELECT w MySQL. - czyli wychodzi z tego, że przekazywane są dane nie zgodne z tym, co może być w warunku WHERE.

[Edit]
Próbowałem jeszcze w ten sposób:
  1. $wynik_po_formularzu = mysql_query("SELECT `ID_prezentu`, `Nazwa_prezentu`, `Link_do_strony`, `Czy_wybrany` FROM `tb_prezenty` WHERE `ID_prezentu` IN('".implode("','", $value)."')")
...ale to nic nie pomaga/niczego nie zmienia. Nadal jest ostrzeżenie o złych argumentach....

Jest do rozgryzienia jeszcze sprawa wyświetlania się strony inaczej w IE i inaczej w Chrome (screen'y parę postów wyżej). Czy jest szansa na nakierowanie mnie, gdzie szukać?
Pliki jako utf-8 (bez BOM) już mam - wszystko po bożemu. Próbowałem dodać
  1. <?php
  2.  
  3. kod
  4.  
  5. ?>
ale nic to nie daje... Chrome cały czas źle wyświetla, a IE dobrze sad.gif Help

Ten post edytował zoomol 11.03.2014, 18:54:45


--------------------
Życie to marna gra.... Ale z bardzo dobrą grafiką ;)

Life is brutal, there is no question about it.... ;-/
Go to the top of the page
+Quote Post
lukasz_os
post 11.03.2014, 22:15:17
Post #13





Grupa: Zarejestrowani
Postów: 203
Pomógł: 55
Dołączył: 23.11.2008
Skąd: UKF

Ostrzeżenie: (0%)
-----


Skoro chcesz tylko pobrać id zaznaczonych checkboów aby zapytaniem SQL pobrać rekordy prezentów to niepotrzebna ci pętla foreach.
Zrób tak:

  1. $wybrane_prezenty=implode(',', $_POST['id']);
  2. $wynik_po_formularzu = mysql_query("SELECT ID_prezentu, Nazwa, Link_do_strony, Czy_wybrany FROM tb_prezenty WHERE ID_prezentu IN($wybraneprezenty)")
  3. or die('Błąd zapytania SELECT w MySQL.');



--------------------
Pomagam jeśli mam czas oraz jak się na tym znam :D
Go to the top of the page
+Quote Post
zoomol
post 12.03.2014, 12:00:59
Post #14





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 29.07.2006
Skąd: Poznań

Ostrzeżenie: (0%)
-----


lukasz_os dziękuję bardzo! To załatwiło sprawę z odczytywaniem ID z checkbox'ów i wpisywaniem ich w SELECT z bazy MySQL thumbsupsmileyanim.gif thumbsupsmileyanim.gif

Nadal pozostaje jednak kwestia wyświetlania. Dla przypomnienia screen'y z:
IE:


i Chrome:


Jak do tego podejść?


--------------------
Życie to marna gra.... Ale z bardzo dobrą grafiką ;)

Life is brutal, there is no question about it.... ;-/
Go to the top of the page
+Quote Post
Turson
post 12.03.2014, 12:51:48
Post #15





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


Wybacz, ale nie jesteśmy wróżkami, żeby zgadnąć bez kodu
Go to the top of the page
+Quote Post
zoomol
post 12.03.2014, 13:11:39
Post #16





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 29.07.2006
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Turson - zgadza się, rozumiem to. Strona ma funkcjonować w jednym pliku index.php, który sięga require'm do head.php (nagłówek html) oraz foot.php (stopka html). Formularz przekazuje dane za pomocą POSTa w ramach index.php. Praktycznie całość kodu jest w moim pierwszym poście - obydwa kody są wklejone.
Sprawa dotyczy wyświetlania, więc nie wiem, czy również plik CSS ma tu jakieś znaczenie. Jeśli ma - to wkleję kod.

Tabele <table> są zadeklarowane poprawnie w php i mają poprawnie zadeklarowane style w CSS. Szperając w necie, znalazłem tylko informacje dot. kodowania UTF-8 i zapisywania plików php w kodowaniu 'UTF-8 (bez BOM)' - tak też zrobiłem (w Notepad++). Później poczytałem również o funkcji ob_start(); i ob_end_flush(); - zastosowałem je zgodnie z 4 postami wyżej, ale niestety nic to nie dało.

Jeśli spotkaliście się z podobnym zachowaniem lub wiecie jak pomóc, to poproszę o pomoc.

Ten post edytował zoomol 12.03.2014, 13:14:14


--------------------
Życie to marna gra.... Ale z bardzo dobrą grafiką ;)

Life is brutal, there is no question about it.... ;-/
Go to the top of the page
+Quote Post
Turson
post 12.03.2014, 13:19:06
Post #17





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


Miałem na myśli html i css
Go to the top of the page
+Quote Post
lukasz_os
post 12.03.2014, 13:25:12
Post #18





Grupa: Zarejestrowani
Postów: 203
Pomógł: 55
Dołączył: 23.11.2008
Skąd: UKF

Ostrzeżenie: (0%)
-----


Wklej wynikowy kod html (źródło strony) oraz plik css. Nikt z fusów nie wywróży co tam dokładnie siedzi smile.gif


--------------------
Pomagam jeśli mam czas oraz jak się na tym znam :D
Go to the top of the page
+Quote Post
zoomol
post 12.03.2014, 13:44:00
Post #19





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 29.07.2006
Skąd: Poznań

Ostrzeżenie: (0%)
-----


OK, sorki - niezaQmałem...

kod HTML index.php po wyświetleniu:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="pl">
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  4. <meta name="robots" content="none" />
  5.  
  6. <link href="style/style.css" rel="stylesheet" type="text/css" />
  7. <title>Prezenty</title>
  8.  
  9. <link rel="shortcut icon" href="images/favicon.ico">
  10.  
  11.  
  12. <script type="text/javascript">
  13. <!--
  14. function validateForm() {
  15. var checkboxy = document.getElementsByTagName('input');
  16. var checked=false;
  17. for(var i=0; i<checkboxy.length; i++) {
  18. if(checkboxy[i].type=='checkbox') {
  19. if(checkboxy[i].checked==true) {
  20. checked=true;
  21. }
  22. }
  23. }
  24. if(checked) {
  25. return true;
  26. }
  27. else {
  28. alert ('Proszę zaznaczyć przynajmniej jeden wiersz');
  29. return false;
  30. }
  31. }
  32. -->
  33.  
  34. </head>
  35.  
  36.  
  37. <div id="content" align="center">
  38.  
  39. <span id="cytat">Wiesz miła, (...)</span><br /><br /> <!-- początek body -->
  40.  
  41. <p>
  42. <h1>Prezenty</h1><br /><br />
  43.  
  44. <form name="formularz" action="" method="POST" onsubmit="return validateForm();"><table cellpadding="5" cellspacing="3" class="tabela-prezentow"><tr class="mainrow"><td>ID</td><td>Nazwa prezentu</td><td>Odnośnik do strony</td><td>Czy zarezerwowany?</td><td>Wybierz prezent</td></tr><tr class="hoverrow"><td>1</td><td>Toster: Alessi</td><td><a href="http://fabrykaform.pl/Alessi_toster_z_podgrzewaczem_sg68-p3028.html" target="_blank">KLIKNIJ!</a></td><td>NIE</td><td><input type="checkbox" name="id[]" value="1"/></td><tr class="hoverrow"><td>3</td><td>Wyciskarka do cytrusów Juicy Salif Alessi (projekt: Philippe Starck)</td><td><a href="brak" target="_blank">KLIKNIJ!</a></td><td>NIE</td><td><input type="checkbox" name="id[]" value="3"/></td><tr class="hoverrow"><td>4</td><td>Patelnia grillowa: Fissler</td><td><a href="http://fabrykaform.pl/Fissler_patelnia_special_grill-p13468.html" target="_blank">KLIKNIJ!</a></td><td>NIE</td><td><input type="checkbox" name="id[]" value="4"/></td><tr class="hoverrow"><td>5</td><td>Czajnik na kuchenkę gazową: Alessi</td><td><a href="http://fabrykaform.pl/Alessi_czajnik_mami-p3114.html" target="_blank">KLIKNIJ!</a></td><td>NIE</td><td><input type="checkbox" name="id[]" value="5"/></td><tr class="hoverrow"><td>7</td><td>Nóż i widelec do mięs: Alessi</td><td><a href="http://fabrykaform.pl/Alessi_noz_do_mies_i_widelec_do_mies_mami-p19532.html" target="_blank">KLIKNIJ!</a></td><td>NIE</td><td><input type="checkbox" name="id[]" value="7"/></td><tr class="hoverrow"><td>8</td><td>Kosz na owoce: Alessi (BIAŁY)</td><td><a href="http://fabrykaform.pl/Alessi_kosz_na_cytrusy_la_stanza_dello_scirocco-p12061.html" target="_blank">KLIKNIJ!</a></td><td>NIE</td><td><input type="checkbox" name="id[]" value="8"/></td><tr class="hoverrow"><td>9</td><td>Komplet do serwowania i mieszania: Eva Solo</td><td><a href="http://fabrykaform.pl/Eva_Solo_komplet_do_mieszania_i_serwowania_standing_out-p3050.html" target="_blank">KLIKNIJ!</a></td><td>NIE</td><td><input type="checkbox" name="id[]" value="9"/></td><tr class="hoverrow"><td>10</td><td>Siekacz do ziół z deską: Legnoart</td><td><a href="http://fabrykaform.pl/Legnoart_siekacz_do_ziol_z_deska_dondola-p19727.html" target="_blank">KLIKNIJ!</a></td><td>NIE</td><td><input type="checkbox" name="id[]" value="10"/></td><tr class="hoverrow"><td>12</td><td>Zestaw narzędzi kuchennych: Barbantia</td><td><a href="http://fabrykaform.pl/Brabantia_zestaw_narzedzi_kuchennych_sline-p4562.html" target="_blank">KLIKNIJ!</a></td><td>NIE</td><td><input type="checkbox" name="id[]" value="12"/></td><tr class="hoverrow"><td>14</td><td>Pojemnik na pieczywo i 3 pojemniki: Barbantia (BIAŁY)</td><td><a href="http://fabrykaform.pl/Brabantia_pojemnik_na_pieczywo_brabantia_i_3_pojemniki_kuchenne_platynowe-p24799.html" target="_blank">KLIKNIJ!</a></td><td>NIE</td><td><input type="checkbox" name="id[]" value="14"/></td><tr class="hoverrow"><td>15</td><td>Deski do krojenia w etui: JosephJoseph (srebrne etui, kolorowe deski)</td><td><a href="http://fabrykaform.pl/Joseph_Joseph_deski_do_krojenia_w_etui_index_advance-p17905.html" target="_blank">KLIKNIJ!</a></td><td>NIE</td><td><input type="checkbox" name="id[]" value="15"/></td></tr></table><br/><p style="text-align:center;"><input type="hidden" name="ip" value="127.0.0.1"/><input type="hidden" name="host" value="moj-host"/><input type="reset" name="reset" value="Wyczyść"><input type="submit" name="zapisz" value="Zapisz"></p></form>
  45.  
  46. </div>
  47.  
  48. <!-- koniec body -->
  49. <!-- początek stopki -->
  50.  
  51. </div>
  52.  
  53. <div id="footer">
  54. <h4 align="center"><a href="mailto:xxxx@gmail.com"><img src="images/copyright-foot-big.gif" alt="&copy; xxx 2014" border="0" /></a></h4>
  55. <h4 align="right" style="text-align:right;font-size:10px;font-weight:normal;">Było tu już: 5 osób</h4>
  56. </div>
  57.  
  58. <!-- koniec stopki -->
  59.  
  60. </body>
  61. </html>


Plik CSS:
  1. /* Head/global - nagłówek/główne */
  2.  
  3. body {
  4. background-color: transparent;
  5. background-repeat: no-repeat;
  6. background-attachment: fixed;
  7. background-position: center center;
  8. background-image: url("../images/background.gif");
  9. background-repeat: no-repeat;
  10. font-family: "Century Gothic", Arial, Helvetica, sans-serif;
  11. font-size: 15px;
  12. color: #000000;
  13. }
  14.  
  15. /* Content - zawartość */
  16.  
  17. form {
  18. padding-top: 0px;
  19. margin-top: 0px;
  20. }
  21.  
  22. #content {
  23. display: block;
  24. width: 900px;
  25. margin: 0 auto;
  26. padding: 5px;
  27. background: #FFFFFF;
  28. }
  29.  
  30. h1, h2, h3 {
  31. margin: 0;
  32. padding: 0;
  33. font-family: "Century Gothic", Times, serif;
  34. color: #000000;
  35. }
  36.  
  37. h1 {
  38. font-size: 34px;
  39. }
  40.  
  41. h2 {
  42. margin-bottom: 5px;
  43. padding: 0 0 5px 0;
  44. font-size: 24px;
  45. text-align: left;
  46. }
  47.  
  48. h3 {
  49. margin-bottom: 2px;
  50. padding: 0 0 5px 0;
  51. font-size: 16px;
  52. text-align: left;
  53. }
  54.  
  55. h4 {
  56. margin-bottom: 2px;
  57. padding: 2px 0 2px 0;
  58. font-size: 13px;
  59. }
  60.  
  61. p {
  62. margin-top: 0;
  63. text-align: justify;
  64. line-height: 140%;
  65. }
  66.  
  67. a {
  68. color: #5273B8;
  69. font-weight: bold;
  70. text-decoration: none;
  71. }
  72.  
  73. a:hover {
  74. text-decoration: underline;
  75. }
  76.  
  77. #cytat {
  78. display: block;
  79. font-family: "Century Gothic", "Times New Roman", Times, serif;
  80. font-size: 15px;
  81. font-weight: bold;
  82. font-style: italic;
  83. margin: 1px;
  84. text-align: right;
  85. line-height: 14px;
  86.  
  87. }
  88.  
  89. .tabela-prezentow {
  90. text-align: center;
  91. padding: 1px;
  92. margin: 1px;
  93. }
  94.  
  95. .tabela-prezentow td {
  96. text-align: center;
  97. padding: 3px;
  98. border-right: dotted #7ea4d2 1px;
  99. border-bottom: dotted #7ea4d2 1px;
  100. display: block;
  101. }
  102.  
  103. .mainrow {
  104. text-align: center;
  105. font-weight: bold;
  106. background-color: #7ea4d2;
  107. color: #FFFFFF;
  108. }
  109.  
  110. tr.hoverrow:nth-child(odd) {
  111. background-color: #FFFFFF;
  112. }
  113.  
  114. tr.hoverrow:nth-child(even) {
  115. background-color: #DDE6ED;
  116. }
  117.  
  118. tr.hoverrow:hover {
  119. background-color: #FCD6C1;
  120. }
  121.  
  122. input {
  123. font-family: "Century Gothic", "Times New Roman", Times, serif;
  124. font-size: 14px;
  125. font-weight: bold;
  126. padding: 7px 20px 7px 20px;
  127. margin: 2px;
  128. text-align: center;
  129. background-color: #C3D8ED;
  130. color: #000000;
  131. border-right: dotted #5273B8 1px;
  132. border-bottom: dotted #5273B8 1px;
  133. }
  134. input:hover {
  135. background-color: #FCD6C1;
  136. }
  137.  
  138. /* Footer - stopka */
  139.  
  140. #footer {
  141. clear: both;
  142. width: 900px;
  143. margin: 0 auto;
  144. padding: 1px;
  145. }


--------------------
Życie to marna gra.... Ale z bardzo dobrą grafiką ;)

Life is brutal, there is no question about it.... ;-/
Go to the top of the page
+Quote Post
lukasz_os
post 12.03.2014, 13:50:45
Post #20





Grupa: Zarejestrowani
Postów: 203
Pomógł: 55
Dołączył: 23.11.2008
Skąd: UKF

Ostrzeżenie: (0%)
-----


Plik CSS ".tabela_prezentow td" usuń display:block; exclamation.gif


--------------------
Pomagam jeśli mam czas oraz jak się na tym znam :D
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2025 - 07:01