phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

FAQFAQ - PIERWSZA POMOC!!  regulaminREGULAMIN  SzukajSZUKAJ  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload  katalog Forów DyskusyjnychKatalog Forów   FAQ Video tutoriale

Poprzedni temat «» Następny temat
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
Kod:
ilosc => $wynik


a w tpl
Kod:
{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:27   

Bucu napisał/a:
to tablicy dajesz
Kod:
ilosc => $wynik


a w tpl
Kod:
{WYNIK}


hmm tutaj chyba powinno byc

'WYNIK' => $wynik
? ;>

Ogolnie sprawdziłem, i działa :D 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&amp;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 :P
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&amp;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 :D

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
Kod:
 'WYNIK' => $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!
 
     
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&amp;site=1"),
            'ALLNEW' => append_sid("postacie.$phpEx?action=allnew&amp;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&amp;site=1"),
            'ALLNEW' => append_sid("postacie.$phpEx?action=allnew&amp;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
Kod:
{ILE}
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 :D
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 :D

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";
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
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

Skocz do:  

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
Polecane serwisy

Najlepsze oprogramowanie do prowadzenia sklepu internetowegoNajlepszy program do sklepu firmowany przez Przem'a

Sklep z gadżetami

serwis laptopów

phpbb

Design Cart - Tworzenie sklepu internetowego

iRonin.IT

• Zamów reklamę