Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] kilka warunków if
tenloginjestzaje...
post 2.05.2017, 16:28:35
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 1
Dołączył: 20.07.2014

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


Witam
próbuje zrobić kilka warunków, próbowałem również ze switch. Bezskutecznie, na podstawie tekstu wpis przypisywany jest do kategorii, dlatego najpierw sprawdzam czy w ogóle w tekście występuje liczba jeśli tak to przypisuje do kategorii jeden, następnie do subkategorii.

Próbuje tak:
  1. <?php
  2. $string = 'tekst decydujący o przypisaniu do kategorii: jedenaście';
  3. if($string == '%jeden%') {$text = 'brak';} else
  4. {
  5. if($string == '%jedenaście%') {$text = 'jedenaście w grupie jeden';} else {$text = 'grupa pozostałe';}
  6. }
  7. echo $text;
  8. ?>


Wiem, że można zrobić stosując operatory, ale wtedy warunków będzie znacznie więcej. Pozdrawiam


--------------------
Nigdy nie zapominam kliknąć "pomógł". Zastosowanie na stronie [prosze nie spamuj]
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
nospor
post 2.05.2017, 16:35:37
Post #2





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




if($string == '%jeden%')
Skad pomysl ze w php dzialaja operatory % w porownywaniu tekstow? Po co tak wymyslac funkcjonalnosc, ktora nie istnieje?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
tenloginjestzaje...
post 2.05.2017, 16:37:56
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 1
Dołączył: 20.07.2014

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


  1. substr_count(strtolower($string), 'jeden');


dzięki, a co z warunkami?

Ten post edytował tenloginjestzajety 2.05.2017, 16:38:16


--------------------
Nigdy nie zapominam kliknąć "pomógł". Zastosowanie na stronie [prosze nie spamuj]
Go to the top of the page
+Quote Post
nospor
post 2.05.2017, 17:08:49
Post #4





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




Po pierwsze miales uzyc strpos() zamiast kombinacji wink.gif
Po drugie nie wiem jak inni ale ja nie rozumiem co ty chcesz osiagnac


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Tomplus
post 2.05.2017, 21:02:33
Post #5





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


Wiesz że na twoim przykładzie, to warunek pierwszy będzie zawsze spełniony jako pierwszy?

Dlatego jeżeli masz jakąś logikę w stringach, to może lepiej ją użyć i np. zastosować wyrażenia regularne, aby pobrać cały liczebnik, zamiast jego fragment. A potem sprawdzić czy istnieje on w tablicy liczebników.
Go to the top of the page
+Quote Post
tenloginjestzaje...
post 2.05.2017, 22:34:08
Post #6





Grupa: Zarejestrowani
Postów: 358
Pomógł: 1
Dołączył: 20.07.2014

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


Przy dodawaniu tematu chciałbym, aby został on przypisany do odpowiedniej kategorii, dlatego wybór kategorii zależny jest od tytułu tematu jaki doda użytkownik.

Przykładowo, temat zawierający słowo "pożyczka" otwiera kategorie "pożyczki", dalej, jeżeli temat zawiera również słowo "online" to dodawany jest do subkategorii "pożyczki online". Jeżeli nie zawiera to dodawany jest do subkategorii "pozostałe" w kategorii "pożyczki". Jeśli tytuł tematu nie zawiera w ogóle słowa "pożyczka" to dodawany jest do kategorii "inny".

Kategorie:

Pożyczki
- pożyczki online
- pozostałe

Inne


--------------------
Nigdy nie zapominam kliknąć "pomógł". Zastosowanie na stronie [prosze nie spamuj]
Go to the top of the page
+Quote Post
Tomplus
post 3.05.2017, 06:12:29
Post #7





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


A lista kategorii jest w bazie tak?

To nie lepiej wysyłać zapytanie do bazy?
Kod
SELECT name FROM `table` WHERE name LIKE ('%slowo1%') OR name LIKE ('%slowo2%')

ograniczyć słowa kluczowe do np. min. 5 znaków i tak przygotować zapytanie, aby wyświetliły się te kategorie z danym słowem kluczowym.
Go to the top of the page
+Quote Post

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: 14.08.2025 - 02:23