Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [HTML][MSSQL][PHP]Problem z radioboxami w php/html
kuba_pilach
post 27.01.2011, 15:26:31
Post #1





Grupa: Zarejestrowani
Postów: 224
Pomógł: 3
Dołączył: 24.12.2010

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


Witam, mam wyszukiwarkę, która wyszukuje z danej tabeli mssql
I chciałbym, by przy każdym rekordzie było pole radio:
<input type="radio" name="niewiem" value="niewiem" />
I chciałbym potem za pomocą "zapisz" wtedy przenosiło się do kolejnej strony, wziąć zaznaczone rekordy i jakoś je zapisać (chyba do sesji), by potem je wykorzystać... naprzykład dla upewnienia użykownika
wypisać mu te rekordy
Wie ktoś jak to zrobić? Dzięki z góry
Go to the top of the page
+Quote Post
lobopol
post 27.01.2011, 16:44:44
Post #2





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


to dodaj sobie przy każdym ten checkbox name="id[]" value="id rekordu" i po wysłaniu zapisujesz id rekordów, bądź wczytujesz znowu z bazy rekordy o tych id i zapisujesz do sesji. A i nie radio buttony, a checkboxy.


--------------------
Go to the top of the page
+Quote Post
kuba_pilach
post 27.01.2011, 20:07:22
Post #3





Grupa: Zarejestrowani
Postów: 224
Pomógł: 3
Dołączył: 24.12.2010

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


Ale z checkbox da się robić wielokrotne?
Bo chyba nie
Go to the top of the page
+Quote Post
lobopol
post 27.01.2011, 20:53:33
Post #4





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


co to znaczy wielokrotnie? checkboxy są do zaznaczania wielu opcji, radiobuttony do zaznaczenia 1


--------------------
Go to the top of the page
+Quote Post
kuba_pilach
post 28.01.2011, 15:39:14
Post #5





Grupa: Zarejestrowani
Postów: 224
Pomógł: 3
Dołączył: 24.12.2010

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


Sorki, ale nie jestem za bardzo doświadczony w tym worriedsmiley.gif
Mam takie coś:
  1. echo '<input name="$r['Twr_TwrId']" value="$r['Twr_TwrId']" type="checkbox" />';

I te zaznaczone $r['Twr_TwrId'] chcę wykorzystać do zapytania mssql... czyli jak to będzie wyglądało w drugim pliku, bo nie jestem zakumaty w tych sprawach... bardzo proszę i z góry dziękuję

Odświeżam, no weś pomóż ktoś ...
Go to the top of the page
+Quote Post
lobopol
post 28.01.2011, 16:17:41
Post #6





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Nie
  1.  
  2. echo '<input name="$r['Twr_TwrId']" value="$r['Twr_TwrId']" type="checkbox" />';

a:
  1.  
  2. echo '<input name="cokolwiek[]" value="$r['Twr_TwrId']" type="checkbox" />';

Po przesłaniu w tablicy post a dokładniej w tablicy
  1. $_POST['cokolwiek']


będziesz miał wszystkie id przy których zaznaczono checkboxa.

a co z tym zrobisz po stronie drugiego pliku to już nie powinno ci sprawić problemu. W sesji najlepiej zapisz sobie id przesłąne czyli np. $_SESSION['id'] = $_POST['cokolwiek']


--------------------
Go to the top of the page
+Quote Post
kuba_pilach
post 28.01.2011, 16:48:35
Post #7





Grupa: Zarejestrowani
Postów: 224
Pomógł: 3
Dołączył: 24.12.2010

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


Zrobiłem to co napisałeś i wyskakuje mi błąd:
Kod
Parse error: syntax error, unexpected T_STRING, expecting ',' ot ';' in C:\xampp\htdocs\nauka\step1_2.php on line 87


A mój kawałek kodu:
  1. linia 86: echo stripslashes($r['Twr_Nazwa']);
  2. linia 87: echo '<input name="iduslugi[]" value="$r['Twr_TwrId']" type="checkbox" /><br />';
Go to the top of the page
+Quote Post
lobopol
post 28.01.2011, 16:53:15
Post #8





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


  1. echo '<input name="iduslugi[]" value="$r['Twr_TwrId']" type="checkbox" /><br />';

zamień na
  1. echo '<input name="iduslugi[]" value="'.$r['Twr_TwrId'].'" type="checkbox" /><br />';


--------------------
Go to the top of the page
+Quote Post
kuba_pilach
post 28.01.2011, 17:26:45
Post #9





Grupa: Zarejestrowani
Postów: 224
Pomógł: 3
Dołączył: 24.12.2010

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


Dobra, udało mi się to wyświetlić, ale mam problem z zapisaniem do sesji i pokazanie tego jako sesji
  1. <html>
  2. <head>
  3. <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-2">
  4. <title>Wybieranie usług</title>
  5. <link rel="stylesheet" type="text/css" href="css/styles.css" />
  6. </head>
  7.  
  8. <body>
  9. <?php
  10. $usluga = $_POST['usluga'];
  11.  
  12.  
  13. include 'connection.php';
  14.  
  15. if ($_POST['iduslugi']) {
  16. ?>
  17. <table class="z" border="1" frame="void" rules="none">
  18. <?php
  19. foreach ($_POST['iduslugi'] as $idu) {
  20. $wypytanie = mssql_query("select * from CDN.Towary where Twr_TwrId='$idu' ");
  21. while ($wyp = mssql_fetch_assoc($wypytanie)) {
  22. echo "<tr>";
  23. echo "<td>".$wyp['Twr_Nazwa']."</td>";
  24. echo "</tr>";
  25.  
  26. }
  27. }
  28. ?>
  29. </table>
  30. <?php
  31.  
  32. }
  33.  
  34. ?>
  35. </body>
  36. </html>
Go to the top of the page
+Quote Post
lobopol
post 28.01.2011, 19:16:59
Post #10





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Zastanów się co do sesji zapisałeś masz teraz tablicę (jeżeli zrobiłeś tak jak ja ci powiedziałem) (mam nadzieje, że nie zapomniałeś wstawić session_start()winksmiley.jpg, jeżeli chcesz teraz wyciągnąć wszystko to znacznie sensowniej zrobisz to tak:

  1. $query="SELECT * from Towary WHERE Twr_TwrId IN(".implode(',',$_SESSION['iduslugi']).")"


tylko sprawdź sobie wcześniej czy przypadkiem $_SESSION['iduslugi'] nie jest puste


--------------------
Go to the top of the page
+Quote Post
kuba_pilach
post 28.01.2011, 21:00:27
Post #11





Grupa: Zarejestrowani
Postów: 224
Pomógł: 3
Dołączył: 24.12.2010

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


Mam problem z sesjami... czyli jak w jednym pliku robię:
  1. foreach ($_POST['iduslugi'] as $idu) {
  2. $_SESSION['iduslugi'] = $_POST['iduslugi'];
  3. }
  4.  
  5. to potem w następnym pliku mam napisać:
  6. [php]
  7. <?php
  8. echo $_SESSION['iduslugi'];

questionmark.gif?
Bo jak tak pisałem, to wyświetlał mi się błąd:
  1. Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\nauka\step3.php:9) in C:\xampp\htdocs\nauka\step3.php on line 10

Go to the top of the page
+Quote Post
lobopol
post 28.01.2011, 21:04:11
Post #12





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


session_start ma być na samym początku strony przed wyświetleniem jakiegokolwiek tekstu


--------------------
Go to the top of the page
+Quote Post
kuba_pilach
post 28.01.2011, 21:33:21
Post #13





Grupa: Zarejestrowani
Postów: 224
Pomógł: 3
Dołączył: 24.12.2010

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


mam plik step1.php:
  1. <html>
  2. <head>
  3. <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-2">
  4. <title>Wybieranie opcji</title>
  5. <link rel="stylesheet" type="text/css" href="css/styles.css" />
  6. </head>
  7.  
  8. <body>
  9. <?php
  10. if ($a != dod) {
  11. ?>
  12. <h1>Wyszukiwanie</h1>
  13.  
  14. <form action="step1.php" method="post">
  15. <select name="metoda_szukania">
  16. <option value="KnT_Kod">Kod</option>
  17. <option value="Knt_Nazwa1" value="Knt_Nazwa2">Nazwa</option>
  18. </select>
  19. <br />
  20. Wprowadź poszukiwane wyrażenie:<br />
  21. <input name="wyrazenie" type="text" size="40">
  22. <br />
  23. <input type="submit" name="submit" value="Szukaj">
  24. </form>
  25.  
  26. <?php
  27. }
  28.  
  29.  
  30. if ($_POST['submit']) {
  31.  
  32. // utworzenie krótkich nazw zmiennych
  33. $metoda_szukania=$_POST['metoda_szukania'];
  34. $wybor=$_POST['wybor'];
  35. $wyrazenie=trim($_POST['wyrazenie']);
  36.  
  37. $wyrazenie = trim($wyrazenie);
  38.  
  39. if (!$metoda_szukania || !$wyrazenie) {
  40. echo 'Brak parametrów wyszukiwania. Wróć do poprzedniej strony i spróbuj ponownie.';
  41. }
  42.  
  43. $metoda_szukania = addslashes($metoda_szukania);
  44. $wyrazenie = addslashes($wyrazenie);
  45. }
  46.  
  47. include 'connection.php';
  48.  
  49. $zapytanie = "select * from CDN.Kontrahenci where ".$metoda_szukania." like '%".$wyrazenie."%'";
  50. $wynik = mssql_query($zapytanie);
  51.  
  52. $ile_znalezionych = mssql_num_rows($wynik);
  53.  
  54. echo "<p>Ilość znalezionych pozycji: ".$ile_znalezionych."</p>";
  55. ?>
  56. <table class="z" border="1" frame="void" rules="none">
  57. <?php
  58. for ($i=0; $i <$ile_znalezionych; $i++) {
  59. ?>
  60. <?php
  61. $wiersz = mssql_fetch_assoc($wynik);
  62. echo "<tr>";
  63. echo "<td><p><strong>".($i+1).". </td>";
  64. echo stripslashes("<td>".$wiersz['Knt_Nazwa1']." ".$wiersz['Knt_Nazwa2']."</td>");
  65. echo "<td><a href=\"step1_2.php?a=dod&amp;id={$wiersz['Knt_KntId']}\"><img src=images/ikona.png></a></td>";
  66. }
  67. ?>
  68. </table>
  69. <?php
  70. }
  71. ?>
  72.  
  73.  
  74. <?php
  75. $a = trim($_REQUEST['a']);
  76. $id = trim($_GET['id']);
  77. if ($a==dod) {
  78. ?>
  79. Rezultaty:
  80. <?php
  81.  
  82. include 'connection.php';
  83. $wybieranieklienta = mssql_query("SELECT * FROM CDN.Kontrahenci WHERE Knt_KntId = '$id' ")
  84. or die(mssql_error());
  85. $klient = mssql_fetch_assoc($wybieranieklienta);
  86. echo "<br />";
  87. echo "Klient:".$klient['Knt_Nazwa1'].$klient['Knt_Nazwa2'];
  88. echo "<br />";
  89. echo "Kod klienta:".$klient['Knt_Kod'];
  90.  
  91. }
  92. ?>
  93. </body>
  94. </html>


Przetwarzanie mam takie:
  1. <?php
  2.  
  3. $a = trim($_REQUEST['a']);
  4. $id = trim($_GET['id']);
  5.  
  6. if ($a = dod) {
  7.  
  8. $id = $_SESSION['id'];
  9. }
  10. include 'connection.php';
  11. ?>

I potem chcę napisać tą sesję później:
  1. <?php
  2. echo $_SESSION['id'];
  3. ?>

I nic mi nie pisze...
Wiesz może o co chodzi?
Go to the top of the page
+Quote Post
lobopol
post 28.01.2011, 21:42:11
Post #14





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


a w przetwarzaniu masz session_start na początku?
$id = $_SESSION['id']; odwrotnie


--------------------
Go to the top of the page
+Quote Post
kuba_pilach
post 28.01.2011, 21:51:39
Post #15





Grupa: Zarejestrowani
Postów: 224
Pomógł: 3
Dołączył: 24.12.2010

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


nic nie zmieniło się
Go to the top of the page
+Quote Post
lobopol
post 28.01.2011, 22:00:15
Post #16





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Kurde patrzę w twój kod i to jest straszne, formularz ma np. <option value="Knt_Nazwa1" value="Knt_Nazwa2">Nazwa</option> czyli dwa value
w drugim pliku na końcu wyświetl print_r($_GET) i print_r($_SESSION)


--------------------
Go to the top of the page
+Quote Post
kuba_pilach
post 28.01.2011, 22:12:07
Post #17





Grupa: Zarejestrowani
Postów: 224
Pomógł: 3
Dołączył: 24.12.2010

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


Wiem, że straszne... ludzie się uczą zazwyczaj na błędach... czyli co zrobić, by sesje działały.
Wyjaśnię ci po co to: chcę brać kontrahenta, usługi, towary i opis do tabel mssql
I by potem jeszcze miał możliwość wydruku zlecenia... Może masz jakiś pomysł co do zrobienia tego projektu?
Go to the top of the page
+Quote Post
lobopol
post 28.01.2011, 22:15:39
Post #18





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


najpierw zobaczmy czy wszystko dobrze przesyłasz dlatego pokaż wyniki printów, projekt jest bardzo prosty tylko trzeba poświęcić z tydzień dwa na zakodowanie i zabezpieczenie.


--------------------
Go to the top of the page
+Quote Post
kuba_pilach
post 28.01.2011, 22:24:36
Post #19





Grupa: Zarejestrowani
Postów: 224
Pomógł: 3
Dołączył: 24.12.2010

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


Dobra, oto wynik:
Kod
Array ( ) Array ( [kontrahent] => 243 [iduslugi] => Array ( [0] => 3 [1] => 13 ) )

A i nie lepiej przez gg? 2223312
Go to the top of the page
+Quote Post
lobopol
post 28.01.2011, 22:38:17
Post #20





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


czyli masz nieustawionego geta z sesji możesz sobie id wyciągnąć.

Właściwie co ty chciałeś tu wyświetlić?
  1. echo $_SESSION['id'];

Dobra ja dziś już lecę jutro popatrzę na odpowiedzi smile.gif


--------------------
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: 18.06.2025 - 22:56