Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Multicheck-box w formularzu na podstawie bazy danych
Forum PHP.pl > Forum > Przedszkole
zoorg
zasada: w bazie danych przechowuję id zapraszajacego, zaproszonego oraz status (1 - oczekujące, 2 - przyjęte, 0 - do blokowania)
oczywiście wybranie 1 rc, i zmiana statusu nie stanowi problemu. Staram się wyświetlić i nadać statusy jednocześnie dowolnie długiej liście.

PROBLEM: cokolwiek wstawię w
  1. echo '<td><input type="checkbox" name="check_list[]" value="$znajomi[]" </td>';//doklejam chceck boxa
- value - przy sprawdzeniu ktore pola są zaznaczone - prawidłowo okresla te "zaznaczone", ale zamiast np ID (próbowalem..rózne tam wpisy czynić i oklejać w znaki ' , " , ` ) - zawsze wyświetla mi tylko nazwę zmiennej a nie jej wartość



  1. echo 'zaproszenia oczekujące na Twoją akceptację:'.'<br>';
  2. // wybieramy zapki z bazy
  3. $results = mysql_query("SELECT u_inv_id_user_from , u_inv_id_user_to , u_inv_status FROM `u_invitations` WHERE `u_inv_id_user_to`='$id' AND u_inv_status=1");
  4.  
  5. $zlicz=mysql_num_rows($results);
  6.  
  7. while($znajomi[]=mysql_fetch_array($results));
  8. reset ($znajomi);
  9.  
  10.  
  11. echo "<pre>";
  12. // Prints $r as array
  13. print_r ($znajomi);
  14. echo "</pre>";
  15.  
  16.  
  17.  
  18. echo '<table cellpadding="0" cellspacing="0" class="db-table"> ';
  19.  
  20. if($results === FALSE) {
  21. }
  22. //########################
  23.  
  24. echo '<form method="post" action="">';
  25.  
  26. echo '<table cellpadding="0" cellspacing="0" class="tg">'; echo '<tr>';
  27.  
  28.  
  29.  
  30.  
  31. echo '</tr>';
  32.  
  33.  
  34. for ($g=0;$g<=$zlicz-1;$g++){ //%zlicz //ZAPRASZAJĄCY
  35. echo '<tr>';
  36.  
  37. for ($h=0;$h<=2;$h++){ // ZAPRASZANY
  38. echo '<td style="background-color:#e8e8e8;" >';
  39. echo '&nbsp; '.$znajomi[$g][$h];
  40. echo '</td>'; }
  41.  
  42.  
  43. echo '<td><input type="checkbox" name="check_list[]" value="$znajomi[]" </td>';//doklejam chceck boxa
  44. echo $znajomi[$g][0];
  45. // echo '<td><input type="checkbox" name="przyjmij_zap" value="Dodaj" </td>';//doklejam chceck boxa
  46.  
  47.  
  48.  
  49.  
  50. echo '<tr>';
  51. }
  52.  
  53. if(!empty($_POST['check_list'])) {
  54. foreach($_POST['check_list'] as $check) {
  55. echo $check.' &nbsp;';
  56.  
  57. }
  58. }
  59.  
  60. echo '</table><br />';
  61.  
  62.  
  63. echo '<input type="hidden" name="send" value="2" />';
  64. echo ' <input type="submit" value="Dodaj do znajomych" />';


tak wygląda tablica:

http://gyazo.com/3d334f389d966c84663dcaab8c10b150

a tak "efekt" po zaznaczeniu dowolnej, górnej, dolnej, obu (dwa razy wyświetla nazwe zmiennej po prostu)

http://gyazo.com/4f78bb14fe3bf465b31aa2e7ba4d3667


?

przy takim użyciu "value"
nie ma problemu, ale to nie ma tak działać..

  1. echo '<td><input type="checkbox" name="check_list[]" value="1" </td>';//doklejam chceck boxa
  2. echo '<td><input type="checkbox" name="check_list[]" value="2" </td>';//doklejam chceck boxa
  3. echo '<td><input type="checkbox" name="check_list[]" value="3" </td>';//doklejam chceck boxa
  4.  
  5.  
  6. if(!empty($_POST['check_list'])) {
  7. foreach($_POST['check_list'] as $check) {
  8. echo $check.' &nbsp;';
  9.  
  10. }
Pyton_000
  1. echo '<td><input type="checkbox" name="check_list[]" value="$znajomi[]" </td>';

zamień ' -> " i " -> \"

i nadaj jakąś wartość dla $znajomi bo teraz to jest "nic" czyli masz wyświetlić jakiś element tej tablicy..
freemp3
Lektura na dziś:
http://php.net/manual/en/language.types.string.php
Powinno Cię zainteresować to jak jest interpretowany tekst oraz zmienne w pojedynczych i podwójnych cudzysłowach.
zoorg
w miedzy czasie znalazłem inny sposób, rozdzielenie zmiennej od tego ze wycinam ją do tekstu przy echo ' ' (PS, a wartosć z tablicy znajomi, juz miałem tak, tylko po prostu wklejałem to w ' ' z echa (jakby takie nawiasy ;]

jednak o 3ciej w nocy, zapomnialem o prostym rozwiazaniu

ROZWIĄZANIE:

  1. echo '<td><input type="checkbox" name="check_list[]" value="'.$znajomi[$g][0].'" </td>';//doklejam check boxa


i mam ID, kt mozna przekazać w zapytaniu, po submicie do bazy. Temat Do zamknięcia.
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.