Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]PHP dużo if jak to zmienić?
Forum PHP.pl > Forum > Przedszkole
xxdrago
Witam, mam taki patent a raczej jak to znajomym nazwał "kombinacje alpejską"... Panowie możecie coś doradzić jak to mniej więcej zapisać , żeby było ładnie optymalnie?

  1. <form action="index.php" method="POST">
  2. <table>
  3. <tr>
  4. <td>Nazwa</td>
  5. <td>Zapal/Zgaś</td>
  6. <td>Status</td>
  7. </tr>
  8. <tr>
  9. <td># 1</td>
  10. <td><input type="checkbox" name="1" value="1"></td>
  11. <td><img src="images/status_on.png" width="10" height="10" border="0" alt="Status ON" title="ON"></td>
  12. </tr>
  13. <tr>
  14. <td># 2</td>
  15. <td><input type="checkbox" name="2" value="1"></td>
  16. <td><img src="images/status_on.png" width="10" height="10" border="0" alt="Status ON" title="ON"></td>
  17. </tr>
  18. <tr>
  19. <td># 3</td>
  20. <td><input type="checkbox" name="3" value="1"></td>
  21. <td><img src="images/status_on.png" width="10" height="10" border="0" alt="Status ON" title="ON"></td>
  22. </tr>
  23. <tr>
  24. <td># 4</td>
  25. <td><input type="checkbox" name="4" value="1"></td>
  26. <td><img src="images/status_on.png" width="10" height="10" border="0" alt="Status ON" title="ON"></td>
  27. </tr>
  28. <tr>
  29. <td># 5</td>
  30. <td><input type="checkbox" name="5" value="1"></td>
  31. <td><img src="images/status_off.png" width="10" height="10" border="0" alt="Status OFF" title="OFF"></td>
  32. </tr>
  33. <tr>
  34. <td># 6</td>
  35. <td><input type="checkbox" name="6" value="1"></td>
  36. <td><img src="images/status_off.png" width="10" height="10" border="0" alt="Status OFF" title="OFF"></td>
  37. </tr>
  38. <tr>
  39. <td># 7</td>
  40. <td><input type="checkbox" name="7" value="1"></td>
  41. <td><img src="images/status_off.png" width="10" height="10" border="0" alt="Status OFF" title="OFF"></td>
  42. </tr>
  43. <tr>
  44. <td># 8</td>
  45. <td><input type="checkbox" name="8" value="1"></td>
  46. <td><img src="images/status_off.png" width="10" height="10" border="0" alt="Status OFF" title="OFF"></td>
  47. </tr>
  48. </table>
  49. <input type="submit" name="forumularz" value="Wyślij">
  50. </form>
  51. <?php
  52. if ($_POST['forumularz']) {
  53.  
  54. if ($_POST['1'] == '') {
  55. $dane_1 = '0';
  56. } else {
  57. $dane_1 = '1';
  58. }
  59. if ($_POST['2'] == '') {
  60. $dane_2 = '0';
  61. } else {
  62. $dane_2 = '1';
  63. }
  64. if ($_POST['3'] == '') {
  65. $dane_3 = '0';
  66. } else {
  67. $dane_3 = '1';
  68. }
  69. if ($_POST['4'] == '') {
  70. $dane_4 = '0';
  71. } else {
  72. $dane_4 = '1';
  73. }
  74. if ($_POST['5'] == '') {
  75. $dane_5 = '0';
  76. } else {
  77. $dane_5 = '1';
  78. }
  79. if ($_POST['6'] == '') {
  80. $dane_6 = '0';
  81. } else {
  82. $dane_6 = '1';
  83. }
  84. if ($_POST['7'] == '') {
  85. $dane_7 = '0';
  86. } else {
  87. $dane_7 = '1';
  88. }
  89. if ($_POST['8'] == '') {
  90. $dane_8 = '0';
  91. } else {
  92. $dane_8 = '1';
  93. }
  94. $dane = "$dane_8$dane_7$dane_6$dane_5$dane_4$dane_3$dane_2$dane_1";
  95. $dane2 = bindec($dane);
  96. $dane3 = dechex($dane2);
  97. if (strlen($dane3) == '1')
  98. {
  99. $danne = '0'.$dane3;
  100. }
  101. else
  102. {
  103. $danne = $dane3;
  104. }
  105.  
  106. echo $danne;
  107.  
  108. }
  109. ?>
Majkelo23
  1. if ($_POST['1'] == '') {
  2. $dane_1 = '0';
  3. } else {
  4. $dane_1 = '1';
  5. }


na:

  1. $dane_1 = ($_POST['1'] == '') ? $dane_1 = '0' : $dane_1 = '1';


itd.
Necsord
  1. $checkboxes = $_POST['checkboxes'];
  2. foreach($checkboxes as &$value)
  3. {
  4. $value = empty($value) ? 0 : 1;
  5. }
  6. asort($checkboxes);
  7. $dane = implode('', $checkboxes);


Nie wnikałem zbytnio w kod.
by_ikar
Kod
$dane = "$dane_8$dane_7$dane_6$dane_5$dane_4$dane_3$dane_2$dane_1";


Umieszczanie zmiennych w taki sposób, samo się prosi o kłopoty, a o czytelności takiego zapisu to co najwyżej można zapomnieć.

  1. <form action="index.php" method="POST">
  2. <table>
  3. <tr>
  4. <td>Nazwa</td>
  5. <td>Zapal/Zgaś</td>
  6. <td>Status</td>
  7. </tr>
  8. <tr>
  9. <td># 1</td>
  10. <td><input type="checkbox" name="1" value="1"></td>
  11. <td><img src="images/status_on.png" width="10" height="10" border="0" alt="Status ON" title="ON"></td>
  12. </tr>
  13. <tr>
  14. <td># 2</td>
  15. <td><input type="checkbox" name="2" value="1"></td>
  16. <td><img src="images/status_on.png" width="10" height="10" border="0" alt="Status ON" title="ON"></td>
  17. </tr>
  18. <tr>
  19. <td># 3</td>
  20. <td><input type="checkbox" name="3" value="1"></td>
  21. <td><img src="images/status_on.png" width="10" height="10" border="0" alt="Status ON" title="ON"></td>
  22. </tr>
  23. <tr>
  24. <td># 4</td>
  25. <td><input type="checkbox" name="4" value="1"></td>
  26. <td><img src="images/status_on.png" width="10" height="10" border="0" alt="Status ON" title="ON"></td>
  27. </tr>
  28. <tr>
  29. <td># 5</td>
  30. <td><input type="checkbox" name="5" value="1"></td>
  31. <td><img src="images/status_off.png" width="10" height="10" border="0" alt="Status OFF" title="OFF"></td>
  32. </tr>
  33. <tr>
  34. <td># 6</td>
  35. <td><input type="checkbox" name="6" value="1"></td>
  36. <td><img src="images/status_off.png" width="10" height="10" border="0" alt="Status OFF" title="OFF"></td>
  37. </tr>
  38. <tr>
  39. <td># 7</td>
  40. <td><input type="checkbox" name="7" value="1"></td>
  41. <td><img src="images/status_off.png" width="10" height="10" border="0" alt="Status OFF" title="OFF"></td>
  42. </tr>
  43. <tr>
  44. <td># 8</td>
  45. <td><input type="checkbox" name="8" value="1"></td>
  46. <td><img src="images/status_off.png" width="10" height="10" border="0" alt="Status OFF" title="OFF"></td>
  47. </tr>
  48. </table>
  49. <input type="submit" value="Wyślij">
  50. </form>
  51. <?php
  52.  
  53. function getPost($key, $default = null)
  54. {
  55. return empty($_POST[$key]) ? $default : $_POST[$key];
  56. }
  57.  
  58. if('POST' === $_SERVER['REQUEST_METHOD'])
  59. {
  60. $dane = getPost(1, 0).getPost(2, 0).getPost(3, 0).getPost(4, 0).getPost(5, 0).getPost(6, 0).getPost(7, 0).getPost(8, 0);
  61.  
  62. $dane = dechex(bindec($dane));
  63.  
  64. if(strlen($dane) > 1)
  65. {
  66. $dane = '0'.$dane;
  67. }
  68.  
  69. echo $dane;
  70. }


pisane z palca, więc nie sprawdzałem.
xxdrago
Gdzie można sie tak nauczyć programować? biggrin.gif
by_ikar
W domu. Szczytem programowania bym tego nie nazywał.
xxdrago
A z czego ? smile.gif

by_ikar
Głównie internetu. Internet to raczej póki co największe dostępne źródło informacji, póki co nie stworzono nic lepszego wink.gif

Czytać, czytać, pisać, testować, czytać, czytać, pisać, testować etc
sazian
z google ,ćwiczeń, doświadczenia
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.