Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Rekomendowane odpowiedzi

Opublikowano (edytowane)

Cześć, mam pytanie odnośnie tworzenia zapytań do bazy w IPB. Otóż przykładowo teraz stworzyłem sobie takie zapytanie:

SELECT COUNT(id) as 'Ilość akcji' from ibf_moderator_logs where member_name LIKE '%Ausir%'

Przykładowe zapytania z plików IPB wyglądają następująco:

			$this->ipsclass->DB->simple_construct( array(
											 	'select' => 'COUNT(*) as pcount',
												'from' => 'posts',
											 'where' => "topic_id=".$this->topic['tid']." and queued !=1"
										 ) 	);

	 $this->ipsclass->DB->simple_exec();

Próbowałem różnych sposobów, lecz wywala mi błąd. Może ktoś nakreśli jak to będzie wyglądało, na tym konkretnym przykładzie? :)

Edytowane przez Dr R.I.P
  • Manager
Opublikowano
        $this->ipsclass->DB->simple_construct( array(
                                     'select' 	=> 'COUNT(id) as ilosc_akcji',
                                     'from' 	=> 'moderator_logs',
                                     'where' 	=> "member_name LIKE '%Ausir%'"
                                           )	);

       $this->ipsclass->DB->simple_exec();

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano

Więc może wskażesz mi błąd w tym zapytaniu?

 	$this->ipsclass->DB->simple_construct( array (
										 	'update' => 'topics',
										 	'SET'	=> "title = REPLACE('title', 'RS', '')" 
										 	'where' => "title LIKE '%RS%'"
							 	) 	);

		$this->ipsclass->DB->simple_exec();

Męczę się z tym od wczoraj. :)

  • Manager
Opublikowano

No tak to tego na pewno no zrobisz. :)

Musisz użyć jednej z dwóch metod:

$this->ipsclass->DB->build_query( array() );

$this->ipsclass->DB->do_update( 'table', $array_z_warunkami, 'where' );

Odsyłam do plików IP.Board w celu dokładniejszego poznania ich, gdyż to, co podałem można nazwać co najwyżej szablonem.

  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano

Ok pogrzebię, w razie czego będę pisał w temacie z taskiem z dawien dawna. :) Dzięki za pomoc. Staram się wreszcie czegoś nauczyć ah te video tutki php+mysql :a: niby podstawy pokazują ale później człowiek się w tym gubi. :)

Opublikowano

Cześć, piszę po wielu próbach i szukaniach w pliku, niestety nie udaje mi się poprawnie napisać tego zapytanie w IPB. Szukanie w google też nie pomogło, chyba mnie to przerosło. :)

  • Manager
Opublikowano

Ale czego Ty szukałeś w guglu? Dlaczego chcesz je dodać, jako kod IP.Board?

Wykonaj po prostu takie zapytanie:

$query = $this->ipsclass->DB->query("ZAPYTANIE");

Pamiętaj o prefixie, np. tak:

$query = $this->ipsclass->DB->query("SELECT * FROM ".SQL_PREFIX."members");

  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano

Przez "podałem" masz na myśli te linijki z przed dwóch dni? Jeśli tak to próbowałem to napisać jednak nie wyszło, wywalało błąd (próbowałem różniście to wpisać), a jeśli chodziło Ci o to sprzed 6 minut to zaraz sprawdzę.

Opublikowano (edytowane)

Nie mogę się już edytować więc zapytam, czemu gdy mam takie zapytanie, po wykonaniu zamiast zmienić to na puste pole '' zmienia całą nazwę na "title"?

$query = $this->ipsclass->DB->query("UPDATE " .SQL_PREFIX."topics ". "SET title = REPLACE('title', 'RS', '')". "where => title LIKE '%RS%'");

Edytowane przez Dr R.I.P
  • Manager
Opublikowano

Po pierwsze to tak dla czystości kodu:

$query = $this->ipsclass->DB->query("UPDATE " . SQL_PREFIX . "topics SET title = REPLACE('title', '[uP]', '') WHERE title LIKE '%[uP]%'");

Po drugie - każdy temat zmienia cały czy tylko te z [uP]?

  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano (edytowane)

Tylko te z UP, na "title", zamiast to wymazać wstawia nazwę "title". Zaraz przetestuję

//Edit załączyłem screena

Tak wygląda zapytanie:

$query = $this->ipsclass->DB->query("UPDATE " . SQL_PREFIX . "topics SET title = REPLACE('title', '[testuje task]', '') WHERE title LIKE '%[testuje task]%'");

post-213-1267296711,599_thumb.png

Edytowane przez Dr R.I.P
Opublikowano

Działa jak należy, dzięki za pomoc. :) Zawsze tak samo :a: Można zamknąć i ten temat też, bo go w tym momencie też rozwiązaliśmy. :)

http://forum.invisionize.pl/topic/2290-stworzenie-wasnego-taska/

  • Manager
Opublikowano

Problem ROZWIĄZANY. Jeśli są jakiekolwiek wątpliwości, pytania proszę o założenie nowego tematu.

Wszelkie uzasadnione reklamacje/pretensje/sugestie/rady przyjmuje ekipa forum.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.