Вверх ↑
Ответов: 321
Рейтинг: 10
#1: 2018-07-21 22:02:41 ЛС | профиль | цитата
Tad, спасибо, не сразу понял как установить, думал это компонент такой , но вроде разобрался.
Пытаюсь перейти с StringTable на MTStrTbl+базы данных...
Но как теперь получить эту таблицу ?!
Подготавливать и формировать строки заранее на сервере, и давать в программу готовые ?!
Типа - INSERT INTO "tab" VALUES('1','2','3','4','5','6'); ?!
______________________________________________________________________________________________________

Помогите пожалуйста разобраться, как лучше выдавать строки в программу.

<?php
$k = $_POST[k];//Типа ключа безопасности, чтобы не отображать результаты скрипта на странице браузера, единственное что придумал :oops:

if ($k == 1000) {
$mysqli = new mysqli('localhost','my_user','my_password','my_db');
if (mysqli_connect_errno()) {exit('Connect failed: '. mysqli_connect_error());}

$realm = mysqli_real_escape_string($mysqli, $_POST['realm']);

$results = $mysqli->query("SELECT mid,loc,obj,x,y,z FROM tp WHERE realm=('$realm')");
while($row = $results->fetch_assoc())
{
echo '!s!'; //Начало строки для работы с BlockFind
echo $row['mid'];
echo ',';
echo $row['loc'];
echo ',';
echo $row['obj'];
echo ',';
echo $row['x'];
echo ',';
echo $row['y'];
echo ',';
echo $row['z'];
echo '!e!'; //Конец строки для работы с BlockFind
}
$results->free(); //Освобождаем используемую память
$mysqli->close(); //Закрываем соединение
}
else
{
echo "ERROR"; //покажет ошибку, если ключ не равен 1000
}
?>

______________________________________________________________________________________________________

Вроде почти работает, но в строках есть символ - '... из-за него как я понимаю не получается отобразить таблицу, верее получается ошибка в DSC_Exec. Как быть ?! Оо
______________________________________________________________________________________________________

sha

Add(MainForm,2953706,287,266)
{
Width=753
Height=449
link(onCreate,1239491:doOpen,[])
}
Add(MTStrTbl,1830435,1064,287)
{
Left=60
Top=45
Width=595
Height=280
Align=5
Name="tb"
link(onColumnClick,11579441:doSort,[])
}
Add(DS_SQLite,1239491,343,280)
{
Name="db"
link(onOpen,13337397:doEvent1,[])
}
Add(DSC_Exec,8371121,889,294)
{
DSManager="db"
link(onError,15683628:doMessage,[])
}
Add(Hub,13337397,399,280)
{
OutCount=3
link(onEvent1,15768085:doString,[(441,286)(441,244)])
link(onEvent2,13433985:doStart,[])
link(onEvent3,5432726:doQuery,[(441,300)(441,342)])
}
Add(Message,15683628,959,301)
{
}
Add(DSC_Query,5432726,469,336)
{
SQL="SELECT * from "tp""
DSManager="db"
link(onQuery,6626314:doAddRow,[])
link(onColumns,6626314:doAddCols,[])
link(onError,14027957:doMessage,[(534,356)(534,384)])
}
Add(MST_DB,6626314,567,336)
{
MSTControl="tb"
}
Add(MST_SortInCol,11579441,1127,294)
{
MSTControl="tb"
Point(doSortDigit)
}
Add(HTTPClient,6804313,525,287)
{
URL="ff.zzz.com.ua/install.php"
Method=1
AutoRedirect=0
EncType=1
PostData="k=1000\r\nrealm=WoW Circle x1 PvE Virgin"
link(onFinish,2930276:doCharset,[])
}
Add(Thread,13433985,469,287)
{
Delay=0
FastStop=0
link(onExec,6804313:doLoadString,[])
}
Add(Charset,2930276,581,294)
{
Type=7
link(onCharset,1902527:doSearch,[])
}
Add(BlockFind,1902527,637,294)
{
IncludeBlock=1
StartBlock="!s!"
EndBlock="!e!"
link(onSearch,10733634:doReplace,[])
}
Add(FormatStr,12071159,777,294)
{
DataCount=1
Mask="INSERT INTO tp VALUES ('%1');"
link(onFString,11504021:doEvent,[])
}
Add(FormatStr,15768085,469,238)
{
DataCount=1
Mask="CREATE TABLE tp (\r\nmid int(10) NOT NULL,\r\nloc varchar(65) NOT NULL,\r\nobj varchar(65) NOT NULL,\r\nx varchar(12) NOT NULL,\r\ny varchar(12) NOT NULL,\r\nz varchar(12) NOT NULL\r\n);\r\n \r\n"
Point(FString)
link(onFString,16014380:doWork1,[(858,244)])
}
Add(HubEx,16014380,854,294)
{
link(onEvent,8371121:doExec,[])
}
Add(Debug,11504021,826,294)
{
link(onEvent,16014380:doWork2,[])
}
Add(Replace,10733634,714,294)
{
SubStr=","
DestStr="','"
link(onReplace,12071159:doString,[])
}
Add(Message,14027957,567,378)
{
}

______________________________________________________________________________________________________

Если создавать дамб бд (вместо построчного добавления) и пробовать подгружать его, то выходит ошибка, так как формат .sql дампа не совсем такой.
Вместо:
INSERT INTO `db` ();
INSERT INTO `db` ();
INSERT INTO `db` ();

Импортируется следующее:
INSERT INTO `db` (`id`, `realm`, `mid`, `a`, `loc`, `obj`, `x`, `y`, `z`, `vip`) VALUES
(),
(),
(),

Компонент DSC_Exec видимо не принимает такой формат .sql...
Если экспортировать не в Быстром режиме, а в Обычный (отображать все возможные настройки), то можно выбрать как надо, но как экспортировать как надо через php скрипт я не знаю , из-за этого решил построчно.
карма: 1

0
Редактировалось 2 раз(а), последний 2018-07-21 22:33:34