Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ostrzeżenia ShoutBox.
Forum PHP.pl > Forum > Bazy danych
KoPcIu
Witam! Ostatnio zacząłem przygodę w PHP. Dokładniej zaczęły mnie interesować fora Przemo. Postanowiłem stworzyć modyfikację do własnego forum, jaką jest Ostrzeżenia w ShoutBox. Stworzyłem wysyłanie danych fo bazy danych przez formularz, kod wygląda następująco:
Kod
  <?php
// odbieramy dane z formularza
$nazwa = $_POST['nazwa'];
$data = $_POST['data'];
$powod = $_POST['powod'];
$wartosc = $_POST['wartosc'];

if($nazwa and $data and $powod and $wartosc) {
    
     $connection = @mysql_connect('sql.boo.pl', 'pawno', 'Hasło')
     or die('Brak połączenia z serwerem MySQL');
     $db = @mysql_select_db('pawno', $connection)
     or die('Nie mogę połączyć się z bazą danych');
    
     $ins = @mysql_query("INSERT INTO shoutbox SET nazwa='$nazwa', data='$data', powod='$powod', wartosc='$wartosc'");
    
     if($ins) echo "Rekord został dodany poprawnie";
     else echo "Błąd nie udało się dodać nowego rekordu";
    
     mysql_close($connection);
}

?>

Mówię dane zostały już wysłane do bazy danych teraz trzeba zrobić coś w stylu gdzie user będzie mógł zobaczyć za co dostał ostrzeżenie i od kogo. A więc najpierw zaczołęm od grafiki. Stworzyłem taki kod:
Kod
<?
define('IN_PHPBB', true);
define('ATTACH', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
$page_title = 'Inne';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
     'body' => 'ostrzezeniesb_body.tpl')
);

$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>

Jak pewno widzicie kod ten odbiera dane z pliku ostrzezeniesb_body.tpl a plik ten wygląda następująco:

Kod

<table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
     <tr>
         <td align="left" class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></td>
     </tr>
</table>


<table width="100%" cellpadding="3" cellspacing="1" border="0" align="center" class="forumline">
         <tr>
             <th height="25" class="thCornerL" nowrap="nowrap">Użytkownik</th>
             <th class="thTop" nowrap="nowrap">Data</th>
             <th class="thTop" nowrap="nowrap">Powód</th>
             <th height="25" class="thCornerL" nowrap="nowrap">Wartość</th>
            
            
         <tr>

                         <tr>
             <td class="row1" align="center">KoPcIu</td>                
             <td class="row1" align="center">18.10.2008</td>
             <td class="row1" align="center">Nadmierne kolorowanie czcionki.</td>
             <td class="row1" align="center">1</td>

         </tr>
         <tr>

                         <tr>
             <td class="row2" align="center">KoPcIu</td>                
             <td class="row2" align="center">18.10.2008</td>
             <td class="row2" align="center">Nadmierne kolorowanie czcionki.</td>
             <td class="row2" align="center">1</td>

         </tr>
        
                
     </table>

<table width="100%" cellspacing="2" border="0" align="center">
     <tr>
         <td align="right" valign="middle" nowrap="nowrap"><span class="gensmall">{S_TIMEZONE}</span>

{JUMPBOX}</td>
     </tr>
</table>

Dane tutaj wklejone są przypadkowe, ponieważ nie wiem jak mam zrobi aby dane z bazy były odbierane i Wyświetlane tam. Zrobiłem następnie kod, który odbiera dane z bazy danych.
Kod
<?php

// informacje na temat bazy
   $host = 'sql.boo.pl';  // nazwa lub numer IP hosta
   $user = 'pawno';  // nazwa użytkownika
   $password = '******'; // hasło do bazy
   $dbname = 'pawno';  // nazwa bazy danych
  
// połączenie i wybór bazy danych
   $polacz = mysql_connect($host, $user, $password) or die(mysql_error());
   $db = mysql_select_db($dbname, $polacz) or die(mysql_error());

// pobierabie wartości z tabeli "tabela_testowa"
    $sql = "SELECT `nazwa` FROM `shoutbox`";
    $rezultat = mysql_query($sql, $polacz) or die(mysql_error());
    while ($lista = mysql_fetch_array($rezultat)) {
       echo $lista['nazwa']. "
";
    }
?>

Tylko mam problem teraz z umieszczeniem tego kodu w pliku tpl. Jakim spoobem mogę to zrobić?
calebos
1. Musisz ustawic PHP aby parsowal pliki tpl albo zmienic jego rozszerzenie na php
2. Musisz dodac identyfikator do tablicy z wpisamy zeby wiedziec dla jakiego usera sa te ostrzezenia i wstawiac do bazy ta informacje razem z reszta tak jak podales na poczatku (chyba ze odwolujesz sie po nicku - tak tez mozna)
3. Musisz w tpl wstawic frag ment PHP ktory zapyta baze o warningi danego usera i wygeneruje ci tabelki z wynikami.

pseudo kod
  1. <?php
  2. $a=mysql_query("select * from warnings where user='$username'");
  3. while($res=mysql_fetch_array($a,MYSQL_ASSOC))
  4.  {
  5. ?>
  6. <td class="row2" align="center"><?php echo $a['nazwa'];?></td>                
  7. itp....
  8.  
  9.  
  10. <?php
  11. }
  12. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.