• Rejestracja
vBHELP.pl - polskie wsparcie vBulletin
Like Tree4Przydatne posty
  • 2 Autor WoG
  • 1 Autor WoG
  • 1 Autor WoG
  1. #1
    Awatar Grzegorz
    Grzegorz jest nieaktywny Ja tu tylko sprzątam
    Dołączył
    Jan 2008
    Posty
    1 620
    Przydatne posty
    111

    Domyślnie Wypisywanie wyników zapytania sql na własnej podstronie

    Witam wszystkich, którzy chcą przeczytać moje wypociny Mam pewien problem, w sumie to bardziej pytanie. Otóż:
    Mam plik php (własna podstrona) w którym wykonuję zapytanie sql np. takie:
    Kod:
    $wynik = $db->query_read("SELECT postid, username FROM post WHERE username LIKE '%mek'");
    Jeśli chcę wypisać $wynik dostaję napis: Array. Domyślam się, że to jakaś tablica.
    Rozwiązałem to dość prostacko łącząc sobie ciągi znaków:
    Kod:
    while($row = $db->fetch_array($wynik))
    {
    $zwroc=$zwroc.'id posta: '.$row[postid].'user: '.$row[username];
    }
    Moje pytanie jest takie: Czy mógłby mi ktoś pokazać, bądź podpowiedzieć jak to zwrócić to w bardziej cywilizowany sposób? To moje pierwsze dodatki do vb, więc proszę o wyrozumiałość
    Potrzebujesz stylu dla swojego forum? Chcesz przenieść styl z vbulletin 3 na vbulletin 4? Pisz PW



  2. #2
    Awatar WoG
    WoG
    WoG jest nieaktywny vB Specialist
    Dołączył
    Feb 2008
    Posty
    2 812
    Przydatne posty
    299
    Wpisów
    1

    Domyślnie

    Hej,

    Cytat Zamieszczone przez Grzegorz Zobacz posta
    Czy mógłby mi ktoś pokazać, bądź podpowiedzieć jak to zwrócić to w bardziej cywilizowany sposób?
    Używając funkcji fetch_array zwracanie tego jest jak najbardziej na miejscu i jak najbardziej cywilizowane.

    Jaki efekt zamierzasz osiągnąć?

    Zakładam, że masz w szablonie taki fragment:
    Kod:
    <vb:each from="zwroc" key="zwrocid" value="zwrocpost">
    <li>ID POSTA: <b>{vb:raw zwrocid}</b></li>
    <li>USER: <b>{vb:raw zwrocpost}</b></li>
    </vb:each>
    Musisz do tego przygotować taki kod:
    Kod:
    $zwroc = array();
    while($row = $db->fetch_array($wynik))
    {
    	$zwroc[$row['postid']] = $row['username'];
    }
    Oczywiście pamiętaj, aby zarejestrować zmienną do szablonu.
    Kod:
    $templater->register('zwroc', $zwroc);
    Taki skromny przykład.
    Enjoy.
    Grzegorz i shaka uznają to za przydatne.
    Z poważaniem,
    WoG

    Ty też możesz pomóc spolszczać vBulletin 5: GitHub.com
    "Rozczarowanie spowodowane niską jakością pamięta się długo po przeminięciu radości spowodowanej niską ceną"


  3. #3
    Awatar Grzegorz
    Grzegorz jest nieaktywny Ja tu tylko sprzątam
    Dołączył
    Jan 2008
    Posty
    1 620
    Przydatne posty
    111

    Domyślnie

    Efektem końcowym ma być tabela podzielona na dwie kolumny zawierająca dane. Jedna kolumna nazwy użytkowników,a druga id postów. Zapomniałem dodać, że działam na vb w wersji 3.8.x
    Potrzebujesz stylu dla swojego forum? Chcesz przenieść styl z vbulletin 3 na vbulletin 4? Pisz PW


  4. #4
    Awatar WoG
    WoG
    WoG jest nieaktywny vB Specialist
    Dołączył
    Feb 2008
    Posty
    2 812
    Przydatne posty
    299
    Wpisów
    1

    Domyślnie

    W takim razie zabaw się w gotowe stringi:

    Kod:
    $zwroc = "<table>";
    while($row = $vbulletin->db->fetch_array($wynik))
    {
    	$zwroc .= "<tr>";
    	$zwroc .= "<td>POST ID: <b>" . $row['postid'] . "</b></td>";
    	$zwroc .= "<td>USER: <b>" . $row['username'] . "</b></td>";
    	$zwroc .= "</tr>";
    }
    $zwroc .= "</table>";
    I po prostu w szablonie wstaw $zwroc.
    Grzegorz uważa to za przydatne.
    Z poważaniem,
    WoG

    Ty też możesz pomóc spolszczać vBulletin 5: GitHub.com
    "Rozczarowanie spowodowane niską jakością pamięta się długo po przeminięciu radości spowodowanej niską ceną"


  5. #5
    Awatar Grzegorz
    Grzegorz jest nieaktywny Ja tu tylko sprzątam
    Dołączył
    Jan 2008
    Posty
    1 620
    Przydatne posty
    111

    Domyślnie

    Czyli w sumie tak jak zrobiłem
    Potrzebujesz stylu dla swojego forum? Chcesz przenieść styl z vbulletin 3 na vbulletin 4? Pisz PW


  6. #6
    Awatar WoG
    WoG
    WoG jest nieaktywny vB Specialist
    Dołączył
    Feb 2008
    Posty
    2 812
    Przydatne posty
    299
    Wpisów
    1

    Domyślnie

    Nie sądziłem, że mówimy o 3.8.
    Pamiętaj, że jeżeli piszesz coś większego to są do tego odpowiednie zapytania np.
    Kod:
    $wynik = $vbulletin->db->query_read_slave("");
    służy do pobierania danych tylko z bazy ustawionej w configu jako slave.
    Grzegorz uważa to za przydatne.
    Z poważaniem,
    WoG

    Ty też możesz pomóc spolszczać vBulletin 5: GitHub.com
    "Rozczarowanie spowodowane niską jakością pamięta się długo po przeminięciu radości spowodowanej niską ceną"


  7. #7
    Awatar Grzegorz
    Grzegorz jest nieaktywny Ja tu tylko sprzątam
    Dołączył
    Jan 2008
    Posty
    1 620
    Przydatne posty
    111

    Domyślnie

    query_read wygrzebałem gdzieś na vb.org, jak pisałem to moje początki
    Potrzebujesz stylu dla swojego forum? Chcesz przenieść styl z vbulletin 3 na vbulletin 4? Pisz PW


Chmurka.pl

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67