|
|
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo
|
|
Wyciągnięcie ilości pozycji z tabeli bazy danych |
Autor |
Wiadomość |
tymek

Pomógł: 1 raz Posty: 433
|
Wysłany: 12-05-2009, 13:06 Wyciągnięcie ilości pozycji z tabeli bazy danych
|
|
|
Witam!
Jakim zapytaniem (czyli co musze w php dopisac ;p), aby, przykładowo z tabeli "phpbb_postacie" wyciągnąć ilość dodanych pozycji -> pole: "postac_id"
? ;> |
_________________ Szukam programisty PHP, który wykona parę zleceń - modyfikacje na forum. Proszę o kontakt na PW. |
|
|
|
 |
Gadatliwa Kasia
|
|
|
|
Bucu

Pomógł: 487 razy Posty: 2127
|
Wysłany: 12-05-2009, 13:09
|
|
|
Kod: | <?
$wynik = mysql_query("SELECT `postac_id` FROM `phpbb_postacie`");
$wynik = mysql_num_rows($wynik);
print $wynik;
?> |
|
_________________ Zanim napiszesz głupi temat, zapoznaj sie z FAQ
Pisanie / Instalacja Modyfikacji / For / CMS , przenoszenie For / CMS / Baz Danych (odpłatnie) - Osoby zainteresowane Proszę o kontakt GG.
Przez GG Pomagam tylko odpłatnie! |
|
|
|
 |
tymek

Pomógł: 1 raz Posty: 433
|
Wysłany: 12-05-2009, 13:11
|
|
|
Thx
Czyli to wklejam do pliku php, a od czego mam zrobić
'ilosc' => xxx,
aby po dodaniu do tpl {ilsoc} pokazywało mi tę liczbę ;> |
_________________ Szukam programisty PHP, który wykona parę zleceń - modyfikacje na forum. Proszę o kontakt na PW. |
|
|
|
 |
Bucu

Pomógł: 487 razy Posty: 2127
|
Wysłany: 12-05-2009, 13:13
|
|
|
to tablicy dajesz
a w tpl
|
_________________ Zanim napiszesz głupi temat, zapoznaj sie z FAQ
Pisanie / Instalacja Modyfikacji / For / CMS , przenoszenie For / CMS / Baz Danych (odpłatnie) - Osoby zainteresowane Proszę o kontakt GG.
Przez GG Pomagam tylko odpłatnie! |
|
|
|
 |
tymek

Pomógł: 1 raz Posty: 433
|
Wysłany: 12-05-2009, 13:27
|
|
|
Bucu napisał/a: | to tablicy dajesz
a w tpl
|
hmm tutaj chyba powinno byc
'WYNIK' => $wynik
? ;>
Ogolnie sprawdziłem, i działa z tego print wyswietla ilosc pozycji, ale go wywaliłem, bo ma byc odnosnik w tpl. ale kiedy kiedy włąsnie tak zrobiłem, dodałem
'WYNIK' => $wynik
+ {WYNIK}, do tpl
to nic się nie wyświetla ;>
Co robie zle?
Aha, czy to zapytanie z wyciągnieciem ilosci, moge jakos podpiąc pod gotowe zapytanie ktore juz mam?
Kod: | $sql = 'SELECT poster_id, postac_id, image, postac_name, serial, website, sum, ile
FROM phpbb_postacie
WHERE zaakceptowana=1
ORDER BY postac_name ASC LIMIT ' . ($site-1)*50 . ',50';
$result = $db->sql_query($sql);
$template->assign_vars(array(
'OCZEKUJACE' => $o,
'MSG_OCZEKUJACE' => $msg_o,
'ALL' => append_sid("postacie.$phpEx?action=all&site=1"),
[...] |
|
_________________ Szukam programisty PHP, który wykona parę zleceń - modyfikacje na forum. Proszę o kontakt na PW. |
|
|
|
 |
Bucu

Pomógł: 487 razy Posty: 2127
|
Wysłany: 12-05-2009, 13:34
|
|
|
tymek napisał/a: |
'WYNIK' => $wynik
? ;>
|
tak
pokickalo mi sie po prostu, masz racje ;P
Cytat: | to nic się nie wyświetla ;> |
cache forum wyczysc
mysle ze tak powinno byc dobrze:
Kod: | $sql = 'SELECT poster_id, postac_id, image, postac_name, serial, website, sum, ile
FROM phpbb_postacie
WHERE zaakceptowana=1
ORDER BY postac_name ASC LIMIT ' . ($site-1)*50 . ',50';
$result = $db->sql_query($sql);
mysql_num_rows($result);
$template->assign_vars(array(
'OCZEKUJACE' => $o,
'MSG_OCZEKUJACE' => $msg_o,
'WYNIK' => $result,
'ALL' => append_sid("postacie.$phpEx?action=all&site=1"), |
|
_________________ Zanim napiszesz głupi temat, zapoznaj sie z FAQ
Pisanie / Instalacja Modyfikacji / For / CMS , przenoszenie For / CMS / Baz Danych (odpłatnie) - Osoby zainteresowane Proszę o kontakt GG.
Przez GG Pomagam tylko odpłatnie! |
|
|
|
 |
tymek

Pomógł: 1 raz Posty: 433
|
Wysłany: 12-05-2009, 13:47
|
|
|
Hmm w php błędu nie wyswietla
Ale nadal mi nie wyswietla tej liczby ;>
Tak to dokładnie wygląda:
Kod: | $sql = 'SELECT poster_id, postac_id, image, postac_name, serial, website, sum, ile
FROM phpbb_postacie
WHERE zaakceptowana=1
ORDER BY postac_name ASC LIMIT ' . ($site-1)*50 . ',50';
$result = $db->sql_query($sql);
mysql_num_rows($result); |
+
Kod: | $lp++;
$image = explode('_', $row['image']);
$image_big = $image[0].'.jpg';
$template->assign_block_vars('postacie_block', array(
'WYNIK' => $result,
'GLOSUJ' => $glosuj,
|
i w tpl:
Kod: | {postacie_block.WYNIK} |
|
_________________ Szukam programisty PHP, który wykona parę zleceń - modyfikacje na forum. Proszę o kontakt na PW. |
|
|
|
 |
Bucu

Pomógł: 487 razy Posty: 2127
|
Wysłany: 12-05-2009, 13:54
|
|
|
srpawdz takie cos
Kod: | $wynik = mysql_num_rows($sql); |
a w tablicy
|
_________________ Zanim napiszesz głupi temat, zapoznaj sie z FAQ
Pisanie / Instalacja Modyfikacji / For / CMS , przenoszenie For / CMS / Baz Danych (odpłatnie) - Osoby zainteresowane Proszę o kontakt GG.
Przez GG Pomagam tylko odpłatnie! |
|
|
|
 |
warna


Pomógł: 475 razy Posty: 2335
|
Wysłany: 12-05-2009, 14:50
|
|
|
tymek, jaki sens wrzucać jedną liczbę do bloku? Chyba, że chcesz to wyświetlać przy każdym wierszu z postacią, ale to bez sensu.
Masz tam taki kawałek:
Kod: | $template->assign_vars(array(
'OCZEKUJACE' => $o,
'MSG_OCZEKUJACE' => $msg_o,
'ALL' => append_sid("postacie.$phpEx?action=all&site=1"),
'ALLNEW' => append_sid("postacie.$phpEx?action=allnew&site=1"),
'DODAJ' => append_sid("postacie.$phpEx?action=new"),
'IMAGE' => $lang['image'],
'POSTAC' => $lang['postac'],
'SERIAL' => $lang['serial'],
'OCEN' => $lang['ocen'],
'OCENA' => $lang['ocena'],
'TOPLISTA' => $lang['toplista'],
'E'=> $e,
'X'=> $x,
));
$sql = 'SELECT poster_id, postac_id, image, postac_name, serial, website, sum, ile, sum/ile AS avg
FROM phpbb_postacie
WHERE ile>0 AND zaakceptowana=1
ORDER BY avg DESC LIMIT 100';
$result = $db->sql_query($sql); |
Zamień miejscami ("porządek musi być") i dopisz co potrzebujesz. Cały kod wygląda tak:
Kod: | $sql = 'SELECT poster_id, postac_id, image, postac_name, serial, website, sum, ile, sum/ile AS avg
FROM phpbb_postacie
WHERE ile>0 AND zaakceptowana=1
ORDER BY avg DESC LIMIT 100';
$result = $db->sql_query($sql);
$ile = $db->sql_numrows($result);
$template->assign_vars(array(
'OCZEKUJACE' => $o,
'MSG_OCZEKUJACE' => $msg_o,
'ALL' => append_sid("postacie.$phpEx?action=all&site=1"),
'ALLNEW' => append_sid("postacie.$phpEx?action=allnew&site=1"),
'DODAJ' => append_sid("postacie.$phpEx?action=new"),
'ILE' => $ile;
'IMAGE' => $lang['image'],
'POSTAC' => $lang['postac'],
'SERIAL' => $lang['serial'],
'OCEN' => $lang['ocen'],
'OCENA' => $lang['ocena'],
'TOPLISTA' => $lang['toplista'],
'E'=> $e,
'X'=> $x,
)); |
I w tpl gdzie chcesz (choć odradzałbym w środku bloku.
Bucu, naucz się korzystać z klasy db. W końcu po coś ona jest w skrypcie. |
|
|
|
 |
tymek

Pomógł: 1 raz Posty: 433
|
Wysłany: 12-05-2009, 15:23
|
|
|
Oki, ładnie sie wyswietla i działa
Thx Warna
Ale mam jeszcze z tym problemik, jak chce umiescic to na stronie "zobacz wszystkie" - tam jest zastosowana paginacja, po 50 pozycji na strone, wtedy wyswietla mi ilosc pozycji na danej stronie, a nie ilosc wszystkich pozycji ;>
Da rade zeobic, zeby wyswietlało ilsoc wszystkich pozycji z bazy? |
_________________ Szukam programisty PHP, który wykona parę zleceń - modyfikacje na forum. Proszę o kontakt na PW. |
|
|
|
 |
warna


Pomógł: 475 razy Posty: 2335
|
Wysłany: 12-05-2009, 19:04
|
|
|
To przez "LIMIT 100". Aktualnie widzę tylko rozwiązanie w dodatkowym zapytaniu, bo nie chce mi się myśleć
Kod: | $sql = "SELECT COUNT(postac_id) AS ilosc
FROM phpbb_postacie
WHERE ile>0 AND zaakceptowana=1";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result)
$template->assign_vars(array('ILE' => $row['ilosc'])); |
|
Ostatnio zmieniony przez warna 13-05-2009, 16:28, w całości zmieniany 1 raz |
|
|
|
 |
tymek

Pomógł: 1 raz Posty: 433
|
Wysłany: 13-05-2009, 10:28
|
|
|
Oki, zaraz sprawdzę
A czy zamiast poster_id, moze być postac_id ;>
[ Dodano: 13-05-2009, 13:04 ]
Oki wszystko działa
Tylko, jak dac tutaj:
Kod: | WHERE ile>0 AND zaakceptowana=1"; |
warunek, większe, równe, zero??
Dałem cos takiego:
Kod: | WHERE ile>-1 AND zaakceptowana=1"; |
moze tak byc? |
_________________ Szukam programisty PHP, który wykona parę zleceń - modyfikacje na forum. Proszę o kontakt na PW. |
|
|
|
 |
warna


Pomógł: 475 razy Posty: 2335
|
Wysłany: 13-05-2009, 16:32
|
|
|
tymek napisał/a: | A czy zamiast poster_id, moze być postac_id ;> |
postac_id, fakt. Pomyłka.
Fakt, nie wziąłem pod uwagę postaci z liczbą głosów równą zero. Nie prościej:
Kod: | WHERE zaakceptowana=1"; |
?
Jeśli koniecznie chciałbyś "większe lub równe" to jest to operator >= |
|
|
|
 |
tymek

Pomógł: 1 raz Posty: 433
|
Wysłany: 14-05-2009, 15:01
|
|
|
qrde nie pomyślałem o tym xD
Dzięki
A jak do tego kodu:
Kod: | $sql = "SELECT p.vote_rate, u.username, u.user_id
FROM (phpbb_postacie_rates AS p)
LEFT JOIN " . USERS_TABLE . " AS u
ON (p.vote_user_id = u.user_id)
WHERE vote_postac_id = " . intval($HTTP_GET_VARS['pid']);
$result = $db->sql_query($sql); |
Dodać porządkowanie wg oceny? (aktualnie jest, wg kolejnosci wystawienia oceny)? ;> |
_________________ Szukam programisty PHP, który wykona parę zleceń - modyfikacje na forum. Proszę o kontakt na PW. |
|
|
|
 |
Gadatliwa Kasia
|
|
|
|
warna


Pomógł: 475 razy Posty: 2335
|
Wysłany: 14-05-2009, 16:26
|
|
|
Kod: | $sql = "SELECT p.vote_rate, u.username, u.user_id
FROM (phpbb_postacie_rates AS p)
LEFT JOIN " . USERS_TABLE . " AS u
ON (p.vote_user_id = u.user_id)
WHERE vote_postac_id = " . intval($HTTP_GET_VARS['pid']) . "
"ORDER BY vote_rate DESC"; |
|
|
|
|
 |
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!
Powered by phpBB modified by Przemo © 2003 phpBB
| Strona wygenerowana w 0,13 sekundy. Zapytań do SQL: 12 | |
 |
|