Webboard

Pełna wersja: Wyświetlanie tekstu z MySQL w danym miejscu na forum
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam. Jestem w trakcie prac nad panelem gracza z serwera SA:MP na forum MyBB. Udało mi się ukończyć już łączenie obydwu kont, ale nie o tym będę pisać.

Mam problem z wyświetleniem wartości tekstowej (nicku gracza) z bazy danych na forum.

W .php posiadam taki kod:

Kod PHP:
<?php
define
('IN_MYBB'1); 
require 
"./global.php"
 
$username="user";
$password="haslo";
$database="baza";
$host="127.0.0.1";

@
mysql_connect($host,$username,$password);
@
mysql_connect($host,$username,$password);
@
mysql_select_db($database) or die( "Błąd połączenia z bazą danych."); 
 
eval(
"\$podstr = \"".$templates->get("panelmain")."\";");
 
$forum_uid=$mybb->user['uid'];
$checkaccount="SELECT * FROM Accounts WHERE forumuid='$forum_uid'";
$result=mysql_query($checkaccount); 
$Nick1=mysql_result($result,0,"name");
$Nick=print("".$Nick1."");
add_breadcrumb("Witaj!""panelmain.php");
output_page($podstr); 
?>

A tu kod podstrony panelmain w szablonie MyBB:

<html>
<head>
{$headerinclude}
<title>Menu</title>
<link rel="stylesheet" type="text/css" href="index.css">
</head>
<body>
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder" style="clear: both; border-bottom-width: 0;">
<tr>
<td class="thead" colspan="2">

Witaj {$Nick}!

</td>
</tr>
<tr>
<td class="trow2 post_content ">
{$Nick}
</td></div>
</td>
</tr>
</table>
</body>
</html>

W taki sposób pobierałem wartości liczbowe i działa to bez problemu.
[Obrazek: yicOu28.jpg]

Natomiast w przypadku tekstu wyświetla mi nick w nieustalonym przeze mnie miejscu.
[Obrazek: ZwNdLEb.jpg]

Chciałbym móc wstawiać zmienną z pobranym tekstem w dowolnym miejscu, aby np. wyświetlić: "Witaj [CDM]critical[V]!" zamiast "Witaj !" (spacja zamiast nicku) tak jak to jest teraz.

Prosiłbym o pomoc.

Adres forum: http://crnet.xaa.pl
(25.02.2017, 16:36)criticalerr0r napisał(a): [ -> ]Natomiast w przypadku tekstu wyświetla mi nick w nieustalonym przeze mnie miejscu.
Bo wrzucasz ten tekst tym niepotrzebnym print'em
Kod:
$Nick=print("".$Nick1."");
(25.02.2017, 16:36)criticalerr0r napisał(a): [ -> ]Chciałbym móc wstawiać zmienną z pobranym tekstem w dowolnym miejscu, aby np. wyświetlić: "Witaj [CDM]critical[V]!" zamiast "Witaj !" (spacja zamiast nicku) tak jak to jest teraz.
Przenieś
Kod:
eval("\$podstr = \"".$templates->get("panelmain")."\";");
przed
Kod:
output_page($podstr);

Co do kodu to dlaczego dwa razy tworzysz takie samo połączenie?
Kod:
@mysql_connect($host,$username,$password);
@mysql_connect($host,$username,$password);
Polecałbym używania mysqli zamiast mysql http://php.net/manual/en/book.mysqli.php
Dziękuję za pomoc. Działa poprawnie.

2x connect był moim niedopatrzeniem.

Postaram się przejść na mysqli.
Kod:
<?php
define('IN_MYBB', 1);
require "./global.php";

$username = "user";
$password = "haslo";
$database = "baza";
$host = "127.0.0.1";

$samp_db = mysqli_connect($host, $username, $password, $database);

$acc = $samp_db->query("SELECT name FROM Accounts WHERE forumuid='".$mybb->user['uid']."'")

add_breadcrumb("Witaj!", "panelmain.php");
eval("\$podstr = \"".$templates->get("panelmain")."\";");
output_page($podstr);
?>
<html>
<head>
{$headerinclude}
<title>Menu</title>
<link rel="stylesheet" type="text/css" href="index.css">
</head>
<body>
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder" style="clear: both; border-bottom-width: 0;">
<tr>
<td class="thead" colspan="2">Witaj {$acc['name']}!</td>
</tr>
<tr>
<td class="trow2 post_content ">{$acc['name']}</td></div>
</td>
</tr>
</table>
</body>
</html>