Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PROSZE O POMOC W radiobutonach z zapytania
Forum PHP.pl > Forum > PHP
Kangu
Baza danych przechowuje schematy pytan oraz pytania. Wiele schematow pytan moze posiadac to samo pytanie. liczba pytan jest zmienna. dla kazdego pytania musze utworzyc 6 radiobatonow odpowiadjacych odpowiedzi od 1 do 6. oraz pole komentarz. powstaje wiec takie cos:
[...]
while ($row= mysql_fetch_row($rs))
{
if ($row[0]= 1)
{
for ($x= 1; $x< 7; $x++)
{
echo '<input name="'.$p.'" type="radio" value="'.$x.'" />';
}
}
[...]

to wywolywane jest w funkcji z formularzem. $p to id pytania dla ktorego echujemy radiobutony.

dalej w komentarz :
[...]
echo '<tr><td colspan="3" class="komentarz">';
echo '<textarea rows="4" name="koment_'.$p.'" cols="78">';
echo @$_POST['koment_'.$p];
echo'</textarea></td></tr>';
[...]


pytanie .... jak po kliknieciu przycisku akceptujacego formularz sprawdzic czy wszystkie odpowiedzi sa zaznaczone i jak sprawdzic dla jakiej $p zaznaczona zostala jaka odpowiedz questionmark.gif
prubowalem robic jakies krzaki typu przesylac $_POST[$p] ale to dziala jak $p bylaby niezmienna wartoscia anie dynamicznie generowana z bazy...

POMOCY...

ps: jak ktos mnie nie do konca rozumie a sadzi ze umialby mi pomoc to sprubuje wyjasnic dokladniej.


PROSZE O POMOC
misieq
Wytłumacz dokłądniej. Na spokojnie, po kolei, co i jak... smile.gif
Kangu
ok tongue.gif no wiec. jest sobie w bazie kilka badan. kazde badanie ma swoj schemat pytan. te schematy pytan korzystaja z tabeli pytania. i tak np schemat 1 ma pytania o id 1,3,4,5,190,191 a schemat 2 ma pytania o id 1,2,3,6,7,8,11,190,194,199,209 to przyklad. Jak widzisz liczba pytan jest zmienna. a formularz musi dopasowac sie do ich liczby. pytania wygladaja tak :


tresc pytania jest sobie tutaj.
tutaj stringiem mam odpowiedz min radio1 radio2 radio3 ... radio6 odpowiedz maxymalna
a tutaj pod spodem pole textarea do wpisania komentarza dla danego pytania.

robie wiec zapytanie i while .... wypisuje dane. poczym dla kazdego pytania tworze 6 radiobutonow. w radiobatonie nazwa jest = id pytania do ktorego sie on tyczy, a wartosci to 1,2,3,4,5,6

z tad echo '<input name="'.$p.'" type="radio" value="'.$x.'" />';

potem jak zaznacze juz wszystkie odpowiedzi w formularzu, klikam sobie batona zapisz. funkcja obslugujaca moj formularz ma teraz sprawdzic czy kazde pytanie ma zaznaczonego jednego radiobatona, a nastepnie wstawic odpowiednie value do bazy danych jako odpowiedz na odpowiednie pytanie.

gdyby $p to byla konkretna nazwa np echo '<input name="nazwa" type="radio" value="'.$x.'" />';
to nie ma problemu robie sobie $_POST['nazwa'] i wszystko git, ale tu mam zmienna, co wiecej, takich radiobatonow mam zawsze rozna ilosc. dzis moze byc ich 3 a jutro 100

pozdrawiam ... cos jeszcze wyjasnic ?
misieq
Ilość pytań możesz sobie trzymać w polu typu "hidden" w formularzy do wysłania. Pobierzesz ją mysql_num_rows(mysql_query("SELECT * FROM `pytania`")). Wtedy po wysłaniu formularza masz ją w zmiennej $_POST['ilosc'] na nastepnej stronie.

Co do radiobuttonów: sytuacja wygląda tak, że użytkownik albo zaznaczy jakiś radiobutton dla danego pytania, albo nie będzie on zaznaczony, nie? Innego wyjścia nie ma (na przykłąd dwa radio dla jednego pytania). Sprawdzanie czy wszystkie są zaznaczone możesz rozwiązać licząc elementy tablicy $_POST
  1. <?
  2. if ($_POST['ilosc'] != count($_POST) - 1)
  3. return false;
  4. ?>


Ten warunek trzeba odpowiednio zmodyfikować jeśli przesyłasz coś dodatkowego zmienną $_POST (tutaj mamy "minus jeden" bo ślemy jeszcze $_POST['ilosc'] która nie jest pytaniem.
Kangu
Cytat(misieq @ 7.11.2006, 10:57:08 ) *
Ilość pytań możesz sobie trzymać w polu typu "hidden" w formularzy do wysłania. Pobierzesz ją mysql_num_rows(mysql_query("SELECT * FROM `pytania`")). Wtedy po wysłaniu formularza masz ją w zmiennej $_POST['ilosc'] na nastepnej stronie.


co do tego sie zgodze. zreszta to juz u siebie mam.
dalsza czesc, dzieki, nie wpadlem na to tongue.gif , ale u mnie to nie dziala bo postem przesylam przeciesz mase innych rzeczy...

a jak rozwiazac problem przyporzadkowania odpowiedniej odpowiedzi odpowiedniemu pytaniu i wstawienie ich do bazy ? jak to rozwiazac ? blink.gif worriedsmiley.gif
misieq
Cytat(Kangu @ 7.11.2006, 11:02:20 ) *
ale u mnie to nie dziala bo postem przesylam przeciesz mase innych rzeczy...
a jak rozwiazac problem przyporzadkowania odpowiedniej odpowiedzi odpowiedniemu pytaniu i wstawienie ich do bazy ? jak to rozwiazac ? blink.gif worriedsmiley.gif


Ad1. To odejmij od count($_POST) ilość tych rzeczy i już smile.gif
Ad2. Co konkretnie masz na myśli? Przecież masz w tych radiobuttonach name i value. Jako name dajesz sobie id pytania i masz wtedy odpowiedź do danego id. Chyba, że coś innego masz na myśli.
Kangu
Cytat(misieq @ 7.11.2006, 12:00:20 ) *
Ad1. To odejmij od count($_POST) ilość tych rzeczy i już smile.gif
Ad2. Co konkretnie masz na myśli? Przecież masz w tych radiobuttonach name i value. Jako name dajesz sobie id pytania i masz wtedy odpowiedź do danego id. Chyba, że coś innego masz na myśli.

  1. <?php
  2. function skalaoceny($b, $p)
  3. {
  4. $b= $_REQUEST['badanko'];
  5. $q= 'SELECT b.`idskala` FROM `badanie` b WHERE b.`id` = "'.mysql_real_escape_string($b).'"';
  6. $rs= mysql_query($q);
  7. while ($row= mysql_fetch_row($rs))
  8. {
  9. if ($row[0]= 1)
  10. {
  11. for ($x= 1; $x< 7; $x++)
  12. {
  13. echo '<input name="'.$p.'" type="radio" value="'.$x.'" />';
  14. }
  15. }
  16. elseif ($row[0]= 2)
  17. {
  18. echo '<select name="ocena'.$p.'">';
  19. for ($x= 1; $x< 101; $x++)
  20. {
  21. echo '<option value="'.$x.'">'.$x.'</option>';
  22. }
  23. echo '</select>';
  24. }
  25. else 
  26. echo 'skala niepoprawna, skontaktuj się z adminem';
  27. } 
  28. }
  29.  
  30. function formularzoceny($i, $o, $b)
  31. {
  32. $i= $_REQUEST['os'];
  33. $o= $_REQUEST['oceniany'];
  34. $b= $_REQUEST['badanko'];
  35. $q= 'SELECT p.`id` , p.`idchemat` , t.`tresc` , t.`min` , t.`max` , k.`nazwa` , sh.`i
    d` , (
  36. SELECT oso.`id` FROM `osobaosoba` oso WHERE `idoceniany` ="'.mysql_real_escape_string($o).'"
  37. AND `idosobowa` ="'.mysql_real_escape_string($i).'") AS osobaosoba, (SELECT sk.`min` 
  38. FROM `skala` sk WHERE b.`idskala` = sk.`id`) AS skalamin, (SELECT sk.`max` FROM `skala` sk
  39. WHERE b.`idskala` = sk.`id`) AS skalamax, (SELECT sk.`id` FROM `skala` sk
  40. WHERE b.`idskala` = sk.`id`) AS skala FROM `pytanie` p LEFT JOIN `tresc` 
  41. t ON p.`idtresc` = t.`id` LEFT JOIN `kategoria` k ON p.`idkategoria` = k.`id`
  42. LEFT JOIN `schemat` sh ON p.`idchemat` = sh.`id` LEFT JOIN `badanie` b 
  43. ON b.`idschemat` = sh.`id` LEFT JOIN `skala` sk ON b.`idskala` = sk.`id` 
  44. WHERE b.`id` ="'.mysql_real_escape_string($b).'"';
  45. $rs= mysql_query($q);
  46. $ile= mysql_num_rows($rs);
  47. if ($ile> 0)
  48. {
  49. echo '<table cellspacing="0" cellpadding="0" id="badanie">';
  50. echo '<form method="post" action="plik.php">';
  51. $l= 1;
  52. while ($row= mysql_fetch_row($rs))
  53. {
  54. $p= $row[0];
  55.  
  56. echo '<tr><td colspan="3" class="pytanie">Pytanie '.$l++.'</td></tr>';
  57. echo '<tr><td colspan="3" class="tresc">'.$row[2].'</td></tr>';
  58. echo '<tr><td class="minimalna">'.$row[3].'</td>';
  59. echo '<td class="wybor">';
  60. skalaoceny($b, $p);
  61. echo '</td>';
  62. echo '<td class="maxymalna">'.$row[4].'</td></tr>';
  63. echo '<tr><td colspan="3" class="skomentuj">Skomentuj odpowiedĽ:</td></tr>';
  64. echo '<tr><td colspan="3" class="komentarz">';
  65. echo '<textarea rows="4" name="koment_'.$p.'" cols="78">';
  66. echo @$_POST['koment_'.$p];
  67. echo'</textarea></td></tr>';
  68. }
  69. $s= $row[6];
  70. echo '<tr><td colspan="3" id="koniec">';
  71. echo '<input type="hidden" name="xyz" value="1" />';
  72. echo '<input type="hidden" name="bad" value="'.$b.'" />';
  73. echo '<input type="hidden" name="ocx" value="'.$i.'" />';
  74. echo '<input type="hidden" name="sch" value="'.$s.'" />';
  75. echo '<input type="hidden" name="oso" value="'.$row[7].'" />';
  76. echo '<input type="hidden" name="ocy" value="'.$o.'" />';
  77. echo '<input type="hidden" name="ska" value="'.$row[10].'" />';
  78. echo '<input type="hidden" name="ile" value="'.$ile.'" />';
  79. echo '<input type="reset" value="Wyczyść" id="reset"/>';
  80. echo '<input type="submit" value="Zapisz Ocenę" id="ok"/>';
  81. echo '</td></tr></table>';
  82. echo '</form>';
  83. }
  84. }
  85. ?>


to powinno ulatwic sprawe. powyzej kod do ktorego trzeba obsluzyc wygenerowany formularz. musze sprawdzic czy wszystkie radio sa zaznaczone i jesli tak to dla kazdego pytania wstawic odpowiednia wartosc z radio i komentarz.

czy to wyjasnia zagadnienie smile.gif ?
misieq
Ech... polecam wyrobić sobie nawyk nazywania zmiennych nazwami im odpowiadającymi smile.gif BARDZO ciężko analizuje si kod, gdzie zmienne to wariacje 3 liter biggrin.gif

http://java.sun.com/docs/codeconv/html/Cod...tions.doc8.html

Tutaj propozycje "javowskie" - z powodzeniem można je stosować do php

Zdaj sobie sprawę, że trudno się analizuje kod, w którym zmienne są ponazywane $a, $b, $rt, $gwa czy jakoś podobnie (nawet Tobie po jakimś czasie będzie sprawiało to trudność).

Ok, nauczyiel_mode off smile.gif

Na razie nie rozpracowywałem kodu, ale pierwsze co się rzuca w oczy, to na przykład to:

  1. <?php
  2. if ($row[0]= 1)
  3. ?>


To jest przypisanie a więc zawsze prawda.

Prawdopodobnie chodziło Ci o

  1. <?php
  2. if ($row[0] == 1)
  3. ?>


Poza tym dobrze byłoby skomentować co to jest, żeby nie trzeba było się tego domyślać, na przykład:

  1. <?php
  2. if ($row[0] == 1) { // jeśli skala jest od 1 do 6
  3. ?>


Postaraj się to poprawić to o czym mówię, ja tymczasem spróbuję sprawdzić ten kod smile.gif
Kangu
co do zmiennych 3 literowych to na ogol tak nie robie ale juz dostawalem pier... kur... wkurzenia ;] no to walilem 3 litery ktore odpowiadaja notacji jaka mam na kartce przy tabelach bazy danych ktore sobie wydrukowalem awiec dla mnie sa zrozumiale, fakt, nie pomyslalem ze ktos inny moze miec problem. a juz na pewno nie sadzilem ze komus bede musial to pokazywac Rkingsmiley.png heh . postaram sie wykomentowac co sie da i nazwac jakos inaczej zmienne



i wysle to jeszcze raz ... tak ?
misieq
Głupio pisać post na 3 litery, ale: tak smile.gif
Kangu
sory ze nie ma tu komentarzy, ale nie wiem co mam komentowac bo sadze ze wszystko jest zrozumiale. zwlaszcza teraz kiedy juz nazwalem zmienne po imieniu a nie po skrocie myslowym.

  1. <?php
  2. function skalaoceny($badanie, $idpytania)
  3. {
  4. $badanie= $_REQUEST['badanko'];
  5. $q= 'SELECT b.`idskala` FROM `badanie` b WHERE b.`id` = "'.mysql_real_escape_string($badanie).'"';
  6. $rs= mysql_query($q);
  7. while ($row= mysql_fetch_row($rs))
  8. {
  9. if ($row[0]= 1)
  10. {
  11. for ($x= 1; $x< 7; $x++)
  12. {
  13. echo '<input name="'.$idpytania.'" type="radio" value="'.$x.'" />';
  14. }
  15. }
  16. elseif ($row[0]= 2)
  17. {
  18. echo '<select name="ocena'.$idpytania.'">';
  19. for ($x= 1; $x< 101; $x++)
  20. {
  21. echo '<option value="'.$x.'">'.$x.'</option>';
  22. }
  23. echo '</select>';
  24. }
  25. else 
  26. echo 'skala niepoprawna, skontaktuj się z adminem';
  27. } 
  28. }
  29.  
  30. function formularzoceny($idztabeliosobowa, $osobaoceniana, $badanie)
  31. {
  32. $idztabeliosobowa= $_REQUEST['os'];
  33. $osobaoceniana= $_REQUEST['oceniany'];
  34. $badanie= $_REQUEST['badanko'];
  35. $q= 'SELECT p.`id` , p.`idchemat` , t.`tresc` , t.`min` , t.`max` , k.`nazwa` , sh.`i
    d` , (
  36. SELECT oso.`id` FROM `osobaosoba` oso WHERE `idoceniany` ="'.mysql_real_escape_string($osobaoceniana).'"
  37. AND `idosobowa` ="'.mysql_real_escape_string($idztabeliosobowa).'") AS osobaosoba, (SELECT sk.`min` 
  38. FROM `skala` sk WHERE b.`idskala` = sk.`id`) AS skalamin, (SELECT sk.`max` FROM `skala` sk
  39. WHERE b.`idskala` = sk.`id`) AS skalamax, (SELECT sk.`id` FROM `skala` sk
  40. WHERE b.`idskala` = sk.`id`) AS skala FROM `pytanie` p LEFT JOIN `tresc` 
  41. t ON p.`idtresc` = t.`id` LEFT JOIN `kategoria` k ON p.`idkategoria` = k.`id`
  42. LEFT JOIN `schemat` sh ON p.`idchemat` = sh.`id` LEFT JOIN `badanie` b 
  43. ON b.`idschemat` = sh.`id` LEFT JOIN `skala` sk ON b.`idskala` = sk.`id` 
  44. WHERE b.`id` ="'.mysql_real_escape_string($badanie).'"';
  45. $rs= mysql_query($q);
  46. $ile= mysql_num_rows($rs);
  47. if ($ile> 0)
  48. {
  49. echo '<table cellspacing="0" cellpadding="0" id="badanie">';
  50. echo '<form method="post" action="formoceny.php">';
  51. $licznik= 1;
  52. while ($row= mysql_fetch_row($rs))
  53. {
  54. $idpytania= $row[0];
  55. echo '<tr><td colspan="3" class="pytanie">Pytanie '.$licznik++.'</td></tr>';
  56. echo '<tr><td colspan="3" class="tresc">'.$row[2].'</td></tr>';
  57. echo '<tr><td class="minimalna">'.$row[3].'</td>';
  58. echo '<td class="wybor">';
  59. skalaoceny($badanie, $idpytania);
  60. echo '</td>';
  61. echo '<td class="maxymalna">'.$row[4].'</td></tr>';
  62. echo '<tr><td colspan="3" class="skomentuj">Skomentuj odpowiedĽ:</td></tr>';
  63. echo '<tr><td colspan="3" class="komentarz">';
  64. echo '<textarea rows="4" name="koment_'.$idpytania.'" cols="78">';
  65. echo @$_POST['koment_'.$idpytania];
  66. echo'</textarea></td></tr>';
  67. }
  68. $shematpytan= $row[6];
  69. echo '<tr><td colspan="3" id="koniec">';
  70. echo '<input type="hidden" name="xyz" value="1" />';
  71. echo '<input type="hidden" name="badanie" value="'.$badanie.'" />';
  72. echo '<input type="hidden" name="oceniajacy" value="'.$idztabeliosobowa.'" />';
  73. echo '<input type="hidden" name="shematpytan" value="'.$shematpytan.'" />';
  74. echo '<input type="hidden" name="zwiazekosobaosoba" value="'.$row[7].'" />';
  75. echo '<input type="hidden" name="ocenianaosoba" value="'.$osobaoceniana.'" />';
  76. echo '<input type="hidden" name="skalaocen" value="'.$row[10].'" />';
  77. echo '<input type="hidden" name="ile" value="'.$ile.'" />';
  78. echo '<input type="reset" value="Wyczyść" id="reset"/>';
  79. echo '<input type="submit" value="Zapisz Ocenę" id="ok"/>';
  80. echo '</td></tr></table>';
  81. echo '</form>';
  82. }
  83. }
  84. ?>


guitar.gif

czy to cos pomoglo ? jesli nie to powiedz co opisac szczegolowiej ... tiredsmiley.gif party.gif Rkingsmiley.png
misieq
Hmmm... do jednego pytania możesz mieć wygenerowane różne formularze: jeden przez select/option a drugie przed radiobutton. Zauważ, że name w tych formularzach różni się (w jednym to <numer_pytania> w drugim "ocena<numer_pytania>"). Rozumiem, że to dla wygody usera, żeby nie musiał mieć 100 radiobuttonów w formularzu? Jeśli tak, to raczej ustaw te same zmienne "name" w tych formularzach (np. name = "<numer_pytania>"). Wtedy będziesz miał jednolite nazwy zmiennych przesyłanych dalej. Po drugie: dlaczego nie możesz zastosować sposobu sprawdzania, który podałem wczesniej (oczywiście po odpowiedniej modyfikacji tych "name")?

Poza tym: zmień te warunki "if" o których mówiłem w postach wyżej - bo prawdopodobnie są źle.
Kangu
MASZ NA MYSLI COS TAKIEGOO questionmark.gifquestionmark.gif
  1. <?php
  2. function skalaoceny($badanie, $idpytania)
  3. {
  4. $badanie= $_REQUEST['badanko'];
  5. $q= 'SELECT b.`idskala` FROM `badanie` b WHERE b.`id` = "'.mysql_real_escape_string($badanie).'"';
  6. $rs= mysql_query($q);
  7. while ($row= mysql_fetch_row($rs))
  8. {
  9. if ($row[0]= 1)
  10. {
  11. for ($x= 1; $x< 7; $x++)
  12. {
  13. echo '<input name="'.$idpytania.'" type="radio" value="'.$x.'" />';
  14. }
  15. }
  16. elseif ($row[0]= 2)
  17. {
  18. echo '<select name="'.$idpytania.'">';
  19. for ($x= 1; $x< 101; $x++)
  20. {
  21. echo '<option value="'.$x.'">'.$x.'</option>';
  22. }
  23. echo '</select>';
  24. }
  25. else 
  26. echo 'skala niepoprawna, skontaktuj się z adminem';
  27. } 
  28. }
  29.  
  30. function formularzoceny($idztabeliosobowa, $osobaoceniana, $badanie)
  31. {
  32. $idztabeliosobowa= $_REQUEST['os'];
  33. $osobaoceniana= $_REQUEST['oceniany'];
  34. $badanie= $_REQUEST['badanko'];
  35. $q= 'SELECT p.`id` , p.`idchemat` , t.`tresc` , t.`min` , t.`max` , k.`nazwa` , sh.`i
    d` , (
  36. SELECT oso.`id` FROM `osobaosoba` oso WHERE `idoceniany` ="'.mysql_real_escape_string($osobaoceniana).'"
  37. AND `idosobowa` ="'.mysql_real_escape_string($idztabeliosobowa).'") AS osobaosoba, (SELECT sk.`min` 
  38. FROM `skala` sk WHERE b.`idskala` = sk.`id`) AS skalamin, (SELECT sk.`max` FROM `skala` sk
  39. WHERE b.`idskala` = sk.`id`) AS skalamax, (SELECT sk.`id` FROM `skala` sk
  40. WHERE b.`idskala` = sk.`id`) AS skala FROM `pytanie` p LEFT JOIN `tresc` 
  41. t ON p.`idtresc` = t.`id` LEFT JOIN `kategoria` k ON p.`idkategoria` = k.`id`
  42. LEFT JOIN `schemat` sh ON p.`idchemat` = sh.`id` LEFT JOIN `badanie` b 
  43. ON b.`idschemat` = sh.`id` LEFT JOIN `skala` sk ON b.`idskala` = sk.`id` 
  44. WHERE b.`id` ="'.mysql_real_escape_string($badanie).'"';
  45. $rs= mysql_query($q);
  46. $ile= mysql_num_rows($rs);
  47. if ($ile> 0)
  48. {
  49. echo '<table cellspacing="0" cellpadding="0" id="badanie">';
  50. echo '<form method="post" action="formoceny.php">';
  51. $licznik= 1;
  52. while ($row= mysql_fetch_row($rs))
  53. {
  54. $idpytania= $row[0];
  55. echo '<tr><td colspan="3" class="pytanie">Pytanie '.$licznik++.'</td></tr>';
  56. echo '<tr><td colspan="3" class="tresc">'.$row[2].'</td></tr>';
  57. echo '<tr><td class="minimalna">'.$row[3].'</td>';
  58. echo '<td class="wybor">';
  59. skalaoceny($badanie, $idpytania);
  60. echo '</td>';
  61. echo '<td class="maxymalna">'.$row[4].'</td></tr>';
  62. echo '<tr><td colspan="3" class="skomentuj">Skomentuj odpowiedĽ:</td></tr>';
  63. echo '<tr><td colspan="3" class="komentarz">';
  64. echo '<textarea rows="4" name="koment_'.$idpytania.'" cols="78">';
  65. echo @$_POST['koment_'.$idpytania];
  66. echo'</textarea></td></tr>';
  67. }
  68. $shematpytan= $row[6];
  69. echo '<tr><td colspan="3" id="koniec">';
  70. echo '<input type="hidden" name="xyz" value="1" />';
  71. echo '<input type="hidden" name="badanie" value="'.$badanie.'" />';
  72. echo '<input type="hidden" name="oceniajacy" value="'.$idztabeliosobowa.'" />';
  73. echo '<input type="hidden" name="shematpytan" value="'.$shematpytan.'" />';
  74. echo '<input type="hidden" name="zwiazekosobaosoba" value="'.$row[7].'" />';
  75. echo '<input type="hidden" name="ocenianaosoba" value="'.$osobaoceniana.'" />';
  76. echo '<input type="hidden" name="skalaocen" value="'.$row[10].'" />';
  77. echo '<input type="hidden" name="ile" value="'.$ile.'" />';
  78. echo '<input type="reset" value="Wyczyść" id="reset"/>';
  79. echo '<input type="submit" value="Zapisz Ocenę" id="ok"/>';
  80. echo '</td></tr></table>';
  81. echo '</form>';
  82. }
  83. }
  84.  
  85. function sprawdzaileodpowiedzi($ilosc)
  86. {
  87. $ilosc= $_POST['ile'];
  88. if ($ilosc == count($_POST[$p]))
  89. return true;
  90. else 
  91. return false;
  92. /* foreach ($_POST as $k => $v)
  93. {
  94. if(!isset($v))
  95. $err= 1;
  96. }
  97. if ($err== 1)
  98. return true;
  99. else
  100. return false; 
  101. */
  102. }
  103. ?>
misieq
Nie dokładnie. Sprawdzasz czy:

$iloscPytan == count($_POST) - $dodatkoweZmienne

$iloscPytan - ile pytań wygenerował formularz
count($_POST) - ilosc zmiennych $_POST
$dodatkoweZmienne - ilość zmiennych przesyłanych $_POST'em ale nie należących do pytań
Kangu
czyli zliczyc te wszystkie POST od p, oceniajacy, oceniany, badanie, itp questionmark.gif? i odjac te liczbe questionmark.gif? od post ?
misieq
No na przykład smile.gif Może nie jest to zbyt elegancki sposób... ale działa. Jeśli nie ustawisz jakiegoś radio to po prostu count($_POST) będzie o jeden mniejsze a o to chodzi nie?
Kangu
cos zle robie ... nie dziala mi to

zawsze jest blad albo zawsze jest dobrze nigdy nie ma tak zeby bylo jak trzeba ;/
misieq
Poprawiłeś ten problem z ifami o którym wspominam już n-ty raz? smile.gif Na spokojnie przeanalizuj kod, spróbuj go jakąś prostą metodą sprawdzać po kolei (np. wyświetlaj kolejne zmienne po jakimś fragmencie kodu i sprawdzaj czy zawierają to co powinny).
Kangu
KROLU jestes gosc.... sprawdzanie dziala...

problem teraz z tym dodawaniem odpowiednich wynikow odpowiednim pytaniom Rkingsmiley.png Rkingsmiley.png Rkingsmiley.png biggrin.gif snitch.gif





no dobrze a powiedz mi jak wstawic do bazy odpowiednie value dla odpowiednich radio przy takim formularzu jak ten moj ? aarambo.gif


ps: problem z ifami poprawiony jakis czas temu
misieq
Możesz przejść tablicę $_POST funkcją foreach i generować zapytanie wewnątrz pętli dla danego id i odpowiadającego value (UPDATE `wyniki` SET `odpowiedz` = '$odp' WHERE `id` = '$id' - coś na ten kształt). Tylko musisz uważać na pozostałe zmienne które przesłałeś do $_POST - nie bierz ich pod uwagę smile.gif
Kangu
chyba nie dokonca rozumiem ... moglbys sprubowac to zademonstrowac na jkims przykladziku ?
wlasnie tego nie wiem ... jak zrobic foreach od $_POST[$p] bo to ze go musze zrobic wiem smile.gif
misieq
Ech... wystarczy wpisać w gugle "foreach $_POST" i na pewno coś znajdze. Ale zrobiłem to za Ciebie :|

  1. <?php
  2. foreach ($_POST as $name => $value) { 
  3. $val = $value;
  4. echo '$_POST[''.$name.''] = '.$val.'<br>';
  5. }
  6. ?>


Ten kod wypisze Ci wszystkie zmienne $_POST (ich nazwę oraz wartość). Postaraj się i zrób go użytecznym dla siebie- to nie jest trudne smile.gif
Kangu
dziekuje zaa pomoc... biore sie dalej do roboty i wrazie problemow jutro lub dzis w nocy znow o cos zapytam kozystajac z twojej uprzejmosci tongue.gif smile.gif pozdrawiam
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.