Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]BBCode "zgrane" z MySQL, wyświetlanie rekordów z bazy MySQL obsługujące BBCode
Gabrielx
post
Post #1





Grupa: Zarejestrowani
Postów: 157
Pomógł: 2
Dołączył: 24.03.2009

Ostrzeżenie: (0%)
-----


Korzystam z tej oto klasy.

Mam oto taki plik który wyświetla rekordy z bazy danych.

Kod
<?php

if (!isset($_REQUEST['strona'])&&!isset($_REQUEST['artykul']))
{
  header('Location: indeks.php');
  exit;
}

$strona = $_REQUEST['strona'];
$artykul = intval($_REQUEST['artykul']);

include_once('funkcje_bazy.php');
include_once('naglowek.php');



$lacz = lacz_bd();

if ($artykul)
{
  $sql = "select * from artykuly
          where id = '$artykul' and
                opublikowany is not null";
}
else
{
  $sql = "select * from artykuly
          where strona = '$strona'
          and opublikowany is not null
          order by opublikowany desc";
}
$wynik = $lacz->query($sql);

while ($artykul = $wynik->fetch_assoc())
{
  // nagłówek
  
    echo "<h2>{$artykul['naglowek']}</h2>";
  // obrazek
  if ($artykul['obrazek'])
  {
    echo '<div style="float:right; margin:0px 0px 6px 6px;">';
    echo '<img src="zmien_wielkosc_obrazka.php?obrazek=';
    echo urlencode($artykul['obrazek']);
    echo '&max_szerokosc=200&max_wysokosc=120" align=right/></div>';
  }
  // podpis
  echo '<p style="font-family: Verdana;">'; echo $artykul['tekst_artykulu']; echo '</p>';
  $a = pobierz_rekord_autora($artykul['autor']); //wyświetlanie rekordu
  echo '<br /><p>';
  echo 'Autor: '.$a['pelne_nazwisko'].', ';
  
  echo 'Rekord dodano w: ';
   echo date('M d, H:i', $artykul['zmodyfikowany']);    
  $data = date_();    
  echo '</p>';
  // tre¶ć
  
}

include('stopka.php');
?>


Plik który wyświetla BBCode.
Kod
    <h2>Wprowadź wiadomość i kliknij "testuj"</h2>
    <form action="" method="post">
        <textarea style="display: block" rows="10" cols="80" name="bbcode"></textarea>
        <input type="submit" value="testuj">
    </form>
    
    <?php
    require_once 'BBCodeException.php';
    require_once 'BBCodeStruct.php';
    require_once 'BBCode.php';
    
    header('Content-Type: text/html; charset=UTF-8');
    
    try {
        
        echo "<h2>Podgląd wiadomości:</h2>";
        echo BBCode::Setup('./bbcode.xml')
            ->    copy(isset($_POST['bbcode']) ? $_POST['bbcode'] : file_get_contents('./bbcode.txt'))
            ->    parse()
            ->  getHtml()
           ;
            
    } catch (BBCodeException $e) {
        echo "Wprowadzony tekst jest niepoprawny: <p style=\"color: red\">{$e -> getMessage()}</p>";
    }
    ?>


Chciałbym aby wyświetlany rekord z bazy danych był przetworzony na wynik BBCode. Jak to zrobić?
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Jako argument tej metody podać tekst z bazy.
  1. <?php
  2. copy(isset($_POST['bbcode']) ? $_POST['bbcode'] : file_get_contents('./bbcode.txt'))
  3. ?>
Go to the top of the page
+Quote Post
Gabrielx
post
Post #3





Grupa: Zarejestrowani
Postów: 157
Pomógł: 2
Dołączył: 24.03.2009

Ostrzeżenie: (0%)
-----


Tak?
Kod
<?php
echo $artykul['tekst_artykulu']
?>
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




nie. Tak jak sie podaje argument funkcji.
Go to the top of the page
+Quote Post
Gabrielx
post
Post #5





Grupa: Zarejestrowani
Postów: 157
Pomógł: 2
Dołączył: 24.03.2009

Ostrzeżenie: (0%)
-----


Jeśli możesz to oświeć mnie.

Wiem że argumenty są używane przez funkcję na wejściu, aby zwrócić określone wyniki... Argument funkcji znajduję się między nawiasami.(?)
Go to the top of the page
+Quote Post
wookieb
post
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Widzisz. Wiesz. Wiec jaki problem wstawic to co dales (oprocz echo) w miejsce argumentu funkcji?
Go to the top of the page
+Quote Post
Gabrielx
post
Post #7





Grupa: Zarejestrowani
Postów: 157
Pomógł: 2
Dołączył: 24.03.2009

Ostrzeżenie: (0%)
-----


<?php
copy($artykul['tekst_artykulu'])
?>

Dzięki wielkie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Jak ustawić aby rekord wyświetlany był odpowiednią czcionką?
Tak było przedtem:
echo '<p style="font-family: Verdana;">'; echo $artykul['tekst_artykulu']; echo '</p>';
Edit:Poradziłem sobie z tym.

Mam problem z wklejaną treścią oraz z nową linią.
Kiedy wkleję np. taką treść praser nie wyświetli niczego. Jeśli wyświetlam starą metodą to jest wszystko ok.
Poza tym przy wyświetlaniu tekst nie wyświetla nowej linii-wszystko jest złączone.

Edit2:
Doszedłem mniej więcej dlaczego nie wyświetla(rekordu poprzez praser). Jest to wina polskich liter. Kiedy ich nie używam jest wszystko ok.(opróćz nowej linii :/) Jak to zmienić?
¶æ¶æ¶æ¶æ¶æ¶ - praser nie rozumie tych znaków dlatego nie może wyswietlić(śćśćśćśćśćś)

Ma ktoś jakąś poradę? Może ustawić jakoś kodowanie SQL?

Ten post edytował Gabrielx 6.08.2009, 13:47:04
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.08.2025 - 21:43