forum.invisionize.pl - Support IP.Board: ROZWIĄZANY: Zapytanie jak to wyglada w ipb - forum.invisionize.pl - Support IP.Board

Skocz do zawartości

  • (2 stron)
  • +
  • 1
  • 2
  • Nie możesz napisać tematu
  • Temat jest zamknięty

ROZWIĄZANY: Zapytanie jak to wyglada w ipb Oceń temat: -----

#1 Użytkownik nie jest zalogowany   Dr R.I.P 

  • Death comes quickly
  • Wyświetl blog
  • Grupa Użytkownik
  • Postów 880
  • Rejestracja nie, 27 lip 08
  • Miejscowość Świdnica
  • WersjaIP.Board 3.1.2

Napisano 25 luty 2010 - 15:56

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? :)

Użytkownik Dr R.I.P edytował ten post 25 luty 2010 - 15:58

0

#2 Użytkownik nie jest zalogowany   DawPi 

  • ...a wy Pragnienie™
  • Wyświetl blog
  • Wyświetl galerię
  • Grupa Administrator
  • Postów 27481
  • Rejestracja czw, 11 paź 07
  • Miejscowość Kraków
  • WersjaIP.Board 3.1.2

Napisano 25 luty 2010 - 16:03

        $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
0

#3 Użytkownik nie jest zalogowany   Dr R.I.P 

  • Death comes quickly
  • Wyświetl blog
  • Grupa Użytkownik
  • Postów 880
  • Rejestracja nie, 27 lip 08
  • Miejscowość Świdnica
  • WersjaIP.Board 3.1.2

Napisano 25 luty 2010 - 16:27

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. :)
0

#4 Użytkownik nie jest zalogowany   DawPi 

  • ...a wy Pragnienie™
  • Wyświetl blog
  • Wyświetl galerię
  • Grupa Administrator
  • Postów 27481
  • Rejestracja czw, 11 paź 07
  • Miejscowość Kraków
  • WersjaIP.Board 3.1.2

Napisano 25 luty 2010 - 16:34

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.
intermedia - profesjonalne rozwiązania Invision Power Board
1

#5 Użytkownik nie jest zalogowany   Dr R.I.P 

  • Death comes quickly
  • Wyświetl blog
  • Grupa Użytkownik
  • Postów 880
  • Rejestracja nie, 27 lip 08
  • Miejscowość Świdnica
  • WersjaIP.Board 3.1.2

Napisano 25 luty 2010 - 16:37

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 :) niby podstawy pokazują ale później człowiek się w tym gubi. :a:
0

#6 Użytkownik nie jest zalogowany   DawPi 

  • ...a wy Pragnienie™
  • Wyświetl blog
  • Wyświetl galerię
  • Grupa Administrator
  • Postów 27481
  • Rejestracja czw, 11 paź 07
  • Miejscowość Kraków
  • WersjaIP.Board 3.1.2

Napisano 25 luty 2010 - 16:42

PHP swoją drogą, ale znajomość frameworka IP.Board swoją. :)

Dasz radę, a jak nie to ... POMOŻEMY! :)
intermedia - profesjonalne rozwiązania Invision Power Board
0

#7 Użytkownik nie jest zalogowany   Dr R.I.P 

  • Death comes quickly
  • Wyświetl blog
  • Grupa Użytkownik
  • Postów 880
  • Rejestracja nie, 27 lip 08
  • Miejscowość Świdnica
  • WersjaIP.Board 3.1.2

Napisano 27 luty 2010 - 19:55

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. :)
0

#8 Użytkownik nie jest zalogowany   DawPi 

  • ...a wy Pragnienie™
  • Wyświetl blog
  • Wyświetl galerię
  • Grupa Administrator
  • Postów 27481
  • Rejestracja czw, 11 paź 07
  • Miejscowość Kraków
  • WersjaIP.Board 3.1.2

Napisano 27 luty 2010 - 19:58

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");

intermedia - profesjonalne rozwiązania Invision Power Board
1

#9 Użytkownik nie jest zalogowany   Dr R.I.P 

  • Death comes quickly
  • Wyświetl blog
  • Grupa Użytkownik
  • Postów 880
  • Rejestracja nie, 27 lip 08
  • Miejscowość Świdnica
  • WersjaIP.Board 3.1.2

Napisano 27 luty 2010 - 20:01

Szukałem jak to ma wyglądać w IPB, chce to zrobić jako kod, by dodać jako task. :)
0

#10 Użytkownik nie jest zalogowany   DawPi 

  • ...a wy Pragnienie™
  • Wyświetl blog
  • Wyświetl galerię
  • Grupa Administrator
  • Postów 27481
  • Rejestracja czw, 11 paź 07
  • Miejscowość Kraków
  • WersjaIP.Board 3.1.2

Napisano 27 luty 2010 - 20:04

Podałem. :)
intermedia - profesjonalne rozwiązania Invision Power Board
0

#11 Użytkownik nie jest zalogowany   Dr R.I.P 

  • Death comes quickly
  • Wyświetl blog
  • Grupa Użytkownik
  • Postów 880
  • Rejestracja nie, 27 lip 08
  • Miejscowość Świdnica
  • WersjaIP.Board 3.1.2

Napisano 27 luty 2010 - 20:06

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ę.
0

#12 Użytkownik nie jest zalogowany   Dr R.I.P 

  • Death comes quickly
  • Wyświetl blog
  • Grupa Użytkownik
  • Postów 880
  • Rejestracja nie, 27 lip 08
  • Miejscowość Świdnica
  • WersjaIP.Board 3.1.2

Napisano 27 luty 2010 - 20:42

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%'");

Użytkownik Dr R.I.P edytował ten post 27 luty 2010 - 20:44

0

#13 Użytkownik nie jest zalogowany   DawPi 

  • ...a wy Pragnienie™
  • Wyświetl blog
  • Wyświetl galerię
  • Grupa Administrator
  • Postów 27481
  • Rejestracja czw, 11 paź 07
  • Miejscowość Kraków
  • WersjaIP.Board 3.1.2

Napisano 27 luty 2010 - 20:44

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]?
intermedia - profesjonalne rozwiązania Invision Power Board
1

#14 Użytkownik nie jest zalogowany   Dr R.I.P 

  • Death comes quickly
  • Wyświetl blog
  • Grupa Użytkownik
  • Postów 880
  • Rejestracja nie, 27 lip 08
  • Miejscowość Świdnica
  • WersjaIP.Board 3.1.2

Napisano 27 luty 2010 - 20:45

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]%'");

Załączone pliki


Użytkownik Dr R.I.P edytował ten post 27 luty 2010 - 20:51

0

#15 Użytkownik nie jest zalogowany   DawPi 

  • ...a wy Pragnienie™
  • Wyświetl blog
  • Wyświetl galerię
  • Grupa Administrator
  • Postów 27481
  • Rejestracja czw, 11 paź 07
  • Miejscowość Kraków
  • WersjaIP.Board 3.1.2

Napisano 27 luty 2010 - 20:58

'title' bez '. Więcej info :) http://forum.invisio...ndpost__p__7665
intermedia - profesjonalne rozwiązania Invision Power Board
0

Udostępnij ten temat:


  • (2 stron)
  • +
  • 1
  • 2
  • Nie możesz napisać tematu
  • Temat jest zamknięty


Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych