Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Zmiana funkcjonowania kodu, aby działał odwrotnie
Booster
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 24.06.2013
Skąd: Lublin

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


Witam, posiadam taki kod
  1. <?php
  2. $categories = explode(', ',$categories);
  3. $i=1;
  4. echo '<div class="categories-div">';
  5. foreach($categories as $cat) {
  6. if(strpos($cat, 'TEMAT TYGODNIA') >0 || strpos($cat , 'KOMENTARZ') > 0 || strpos($cat , 'INTERNETOWY TYGODNIK') > 0 || strpos($cat , 'Internetowy Tygodnik Idei nr 1') > 0)
  7. {
  8. }
  9. else
  10. {
  11. if($i>1)
  12. echo ' | ';
  13. echo $cat;
  14. $i++;
  15. }
  16. }
  17. echo '</div>';
  18. ?>

Czy ktoś mógłby wytłumaczyć lub napisać jak zmienić ten kod aby działał odwrotnie (IMG:style_emoticons/default/questionmark.gif)
Aktualnie to w if wyklucza kategorie które mają się nie wyświetlać a niżej pętla która wyświetla resztę.
Ja potrzebuję aby wyświetlał te które są zaznaczone (wypisane) a reszty już nie wyświetlał.

Pozdr.
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Naprawde tak trudno przelozyc kod z ELSE do IF?
Go to the top of the page
+Quote Post
Booster
post
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 24.06.2013
Skąd: Lublin

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


  1. <?php
  2. $categories = explode(', ',$categories);
  3. $i=1;
  4. echo '<div class="categories-div">';
  5. foreach($categories as $cat) {
  6. if($i>1)
  7. echo ' | ';
  8. echo $cat;
  9. $i++;
  10. {
  11. }
  12. else
  13. {
  14. if(strpos($cat, 'TEMAT TYGODNIA') >0 || strpos($cat , 'KOMENTARZ') > 0 || strpos($cat , 'INTERNETOWY TYGODNIK') > 0 || strpos($cat , 'Internetowy Tygodnik Idei nr 1') > 0)
  15. if($i>1)
  16. echo ' | ';
  17. echo $cat;
  18. $i++;
  19. }
  20. }
  21. echo '</div>';
  22. ?>


Coś takiego (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
buliq
post
Post #4





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

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


A sprawdziłeś?
Go to the top of the page
+Quote Post
Booster
post
Post #5





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 24.06.2013
Skąd: Lublin

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


Nie, przed wprowadzeniem zmiany chciałem się upewnić..
Go to the top of the page
+Quote Post
buliq
post
Post #6





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

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


I jaki wynik...
Go to the top of the page
+Quote Post
Booster
post
Post #7





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 24.06.2013
Skąd: Lublin

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


Nie działa...
zrobiłem coś takiego
  1. <?php
  2. $categories = explode(', ',$categories);
  3. $i=1;
  4. echo '<div class="categories-div">';
  5. foreach($categories as $cat)
  6. {
  7. if($i>1)
  8. echo ' | ';
  9. echo $cat;
  10. $i++;
  11. {
  12. }
  13. else
  14. {if(strpos($cat, 'TEMAT TYGODNIA') >0 || strpos($cat , 'KOMENTARZ') > 0 || strpos($cat , 'INTERNETOWY TYGODNIK') > 0 || strpos($cat , 'Internetowy Tygodnik Idei nr 1') > 0)
  15. }
  16. }
  17. echo '</div>';

Ale z tego co widzę to chyba źle będzie bo najpierw szuka kategorii i wyświetla w echo a powinno wyświetlać te co są teraz w else (IMG:style_emoticons/default/questionmark.gif)
typu przeskanowanie kategorii
if($i>1) ...
i potem szukanie np kategorii o nazwie tej i tej jeśli jest to bach wyświetla.


Edit:
Czy to Else wywalić a do ifa dać tylko
  1. {if(strpos($cat, 'TEMAT TYGODNIA') >0 || strpos($cat , 'KOMENTARZ') > 0 || strpos($cat , 'INTERNETOWY TYGODNIK') > 0 || strpos($cat , 'Internetowy Tygodnik Idei nr 1') > 0)

i 0 wstawić na 1 (IMG:style_emoticons/default/questionmark.gif)

Ten post edytował Booster 30.09.2013, 14:04:03
Go to the top of the page
+Quote Post
jacobson
post
Post #8





Grupa: Zarejestrowani
Postów: 468
Pomógł: 36
Dołączył: 14.12.2010

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


kod musi byc wewnatrz znacznikow { } a nie przed / po
Go to the top of the page
+Quote Post
buliq
post
Post #9





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

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


Cytat(Booster @ 30.09.2013, 14:59:05 ) *
Nie działa...


Dlaczego? Jakiś błąd dostałeś? Widzisz błąd w strukturze kodu (nie w logice jeszcze)

Poza tym, czy wiesz co to jest negacja? Czy wiesz że:
  1. if ($a == $b) {
  2.  
  3. echo "a eq b";
  4.  
  5. }
  6. else {
  7.  
  8. echo "a not eq b";
  9.  
  10. }


to to samo co:
  1. if (!($a == $b)) {
  2.  
  3. echo "a not eq b";
  4.  
  5. }
  6. else {
  7.  
  8. echo "a eq b";
  9.  
  10. }
Go to the top of the page
+Quote Post
--Booster--
post
Post #10





Goście







Hmm nie ogarniam (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
Booster
post
Post #11





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 24.06.2013
Skąd: Lublin

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


  1. <?php
  2. $categories = explode(', ',$categories);
  3. $i=1;
  4. echo '<div class="categories-div">';
  5. foreach($categories as $cat) {
  6. if(strpos($cat, 'KRAJ') >0 || strpos($cat , 'ŚWIAT') > 0 || strpos($cat , 'GOSPODARKA') > 0 || strpos($cat , 'SPOŁECZEŃSTWO') > 0 || strpos($cat , 'KULTURA') > 0 || strpos($cat , 'HISTORIA') > 0 || strpos($cat , 'FILOZOFIA') > 0 || strpos($cat , 'ANALIZA') > 0 || strpos($cat , 'ESEJ') > 0 || strpos($cat , 'ARTYKUŁ') > 0 || strpos($cat , 'FELIETON') > 0 || strpos($cat , 'POLEMIKA') > 0 || strpos($cat , 'RECENZJA') > 0 || strpos($cat , 'WYWIAD') > 0)
  7. {if($i>1)
  8. echo ' | ';
  9. echo $cat;
  10. $i++;
  11. }
  12. else
  13. {
  14.  
  15. }
  16. }
  17. echo '</div>';
  18. ?>

Ok udało mi się coś takiego sklecić. Tylko czy i jak ustawić aby z czytywało i pojawiało się w tej kolejności jeśli kategoria jest zaznaczona co teraz napisałem (IMG:style_emoticons/default/questionmark.gif) bo aktualnie pobiera mi alfabetycznie (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 28.09.2025 - 08:51