PDA

View Full Version : دستکاری در پایگاه داده نیوک



papa_fal
یک شنبه 31 اردیبهشت 1385, 08:44 صبح
با سلام
به طور کلی سوالاتم را در این زمینه می گم:

1:آ یا می توان به جای استفاده از {مای اس کیو ال} از {اس کیو ال سرور} استفاده کرد.
در طراحی سایت با نیوک.
2:و اگر این امکان وجود دارد .چطور می توان این کار را انجام داد.و با نصب {winlamp } هیچ تداخلی ندارد؟؟؟؟؟
چون {وین لمپ} 3 نرم افزار{آپاچی و مای اس کیو ال و پی اچ پی } را با هم نصب می کند.

3:آیا من می توانم یکسری از جداول را خودم به جداول نیوک اضافه کنم. ؟؟؟؟
و چطور می توانم به این جداول دسترسی پیدا کنم. و نیوک را مجبور کنم که از این جداول اطلاعاتی را بخواند؟؟؟؟؟


با تشکر از همه شما

منتظر راهنمایی های شما هستم.
در ضمن چون من مدت کمی است که با نیوک کار می کنم و خیلی تازه کار هستم پس ممنون می شم که روشن و واضح تر توضیح دهید

moohssenn
یک شنبه 31 اردیبهشت 1385, 23:09 عصر
سلام
تمام آنچه که پرسیده اید شدنی است .
با توجه به ماهیت Open Source بوده نیوک شما هر کاری که بخواهید میتوانید انجام بدهید . شما در حالت عادی به mysql وصل میشوید و با کمی تغییرات در دستورات کانکتتان میتوانید به mssql متصل بشوید . البته اگه دستوراتsql استاندارد نوشته شده باشد که اگه هم نباشد بازم میتونید عوضش کنید .
در مورد وین لمپ هم که اصلا ربطی ندارد فقط شما باید sqlserver را جدا گانه نصب کنید و یه تغییری هم در فایل ini بدهید
جواب سئال آخرم اینکه هر جا خواستی جدول بساز و هر جا خواستی به آن وصل بشو
راستی جواب پیغام خصوصی ات را هم دادم

papa_fal
دوشنبه 01 خرداد 1385, 08:06 صبح
با تشکر از شما
ولی اگه میشه بیشتر و با جزئیات برام توضیح دهید خیلی ممنون میشم .
چون دقیقا نمی دونم چیکار باید انجام بدم.
بازم ممنونم

papa_fal
چهارشنبه 03 خرداد 1385, 07:23 صبح
یعنی واقعا کسی نیست که کمکم کنه؟؟؟؟؟؟؟؟؟؟؟؟؟؟

reza_rad
چهارشنبه 03 خرداد 1385, 07:33 صبح
شما وقتی با یک cms که opensource هست مثل نیوک کار می کنی می تونی با فهمیدن کد تغییراتی در اون بدی...
اصلا بخاطر همین اپن سرس گذاشتنش.
منتها در این مورد شما باید دانش Php و ارتباطات با mysql رو داشته باشی.
اونوقت هم می تونی جدول ها رو عوض کنی هم زیاد کنی و ...

papa_fal
چهارشنبه 03 خرداد 1385, 08:10 صبح
بله درست است
ولی آقای رد شما نمی تونید یک توضیحی بدهید
که من چطور می تونم {اس کیو ال سرور} را جایگزین {مای اس کیو ال} کنم؟؟؟؟در نیوک

reza_rad
چهارشنبه 03 خرداد 1385, 08:17 صبح
خوب شما باید کد کانکشن به mssql رو از php پیدا کنی و جای کدهای کانکشن mysql بذاری.
دیتابیس رو هم باید یا با convertor به دیتابیس sqlserver تبدیل کنی یا اینکه خودت بری عین همون رو بسازی!

ولی من پیشنهاد می کنم که از همون mysql استفاده کنید. چون برای ارتباط بین sqlserver و php شاید الان یه راهی پیدا کنید ولی مشکلات زیادی بعدا در توسعه براتون پیش میاد و تازه در کل php با mysql خیلی خیلی بهتر کار میکنه تا با sqlserver.

اینها هم درباره کانکشن به sqlserver از php:
http://builder.com.com/5100-6371-5160904.html
http://www.php.net/function.mssql-connect

papa_fal
شنبه 06 خرداد 1385, 08:09 صبح
با سلام
و ممنون از مطالب شما
ولی آیا من برای اضافه کردن یک جدول به پایگاه داده که مثلا نیوک مطالب را از آن جدول خوانده و نمایش بدهد .
نیازی به کدنویسی با {پی اچ پی} دارم؟؟؟؟؟
چون من اصلا {پی اچ پی} بلد نیستم.
منتظر راهنمایی های شما هستم.

papa_fal
شنبه 06 خرداد 1385, 12:50 عصر
در ضمن یک سوالی هم داشتم
من اگر dbtype را در فایل config.php عوض بکنم(در نیوک)
به mssql می شود؟؟؟؟؟؟
با تشکر

reza_rad
شنبه 06 خرداد 1385, 13:07 عصر
آیا من برای اضافه کردن یک جدول به پایگاه داده که مثلا نیوک مطالب را از آن جدول خوانده و نمایش بدهد .
نیازی به کدنویسی با {پی اچ پی} دارم؟؟؟؟؟

هم باید با php آشنا باشی و هم با کدینگ نیوک.
چون شما باید یه جوری به نیوک بفهمونی که بره و جدول شما رو بخونه.اس کیو ال هم که باید بلد باشی...



من اگر dbtype را در فایل config.php عوض بکنم(در نیوک)
به mssql می شود؟؟؟؟؟؟


لزوما نه!

چون این یک Option هست که خود نیوک گذاشته تا برای انواع دیتابیسی که میشناسه تنظیم بشه.
پس:
شما اول باید کد برای کانکشن به دیتابیس رو تهیه کنی و بعد یک keyword خاص مثله همین mysql که گفتی توی config نوشته واسه اش تعیین کنی و بعد بری توی config مثلا اون کی ورد رو بزنی...

ولی من هنوز پیشنهاد می کنم که با mysql کار کنی.

اولش ممکنه یادگیری Php و کار کردن با mysql سخت باشه. ولی بعدش:
1- با دنیای اپن سورس آشنا میشی
2- با هزاران مشکل بعدی برای ارتباطات با mssql از php برخورد نمی کنی.
3- هروقت نیوک اپدیت شد لازم نیست باز بری و تغییرش بدی فقط کافیه ماژولهای خودتو اضافه کنی

papa_fal
یک شنبه 07 خرداد 1385, 07:37 صبح
بله
شما درست می گید ولی مسئول بخشی که من در آن قسمت هستم اصرار زیاد به استفاده از {اس کیو ال سرور} دارد.
و استفاده نیوک یا هر {سی ام اس} فارسی دیگر از {اس کیو ال سرور} دارد.
چون تمامی جداول در {اس کیو ال سرور} است.
خوب من هم یکسری مطالب در این زمینه جمع آوری کردمodbc connection,phpmyadmin,config.php,........).از جمله مطالبی که شما دادید.
ولی کنار هم قرار دادن و تغییر پایگاه داده نیوک از {مای اس کیو ال} به {اس کیو ال سرور} هنوز یک مشکل است.

ممنون می شم که منو راهنمایی کنید که بتونم این مسئله را حل کنم.

با تشکر

reza_rad
یک شنبه 07 خرداد 1385, 08:41 صبح
امان از دست اینجور مدیرها!

به اینجا سری بزنید.
تابعهای php هست برای کار با mssql که همه ی تابع ها رو لیست کرده. و توشون تابعهایی مثله mssql_connect , mssql_bind داره.
http://ir.php.net/manual/en/ref.mssql.php

ببینید می تونید با اینا وصل بشید.
کمی باید php کد بزنی. مشکل نیست اولش سخته. از همون کدی که توی نیوک هست می تونی با کمی تفتیش سر دربیاری.
اگه خواستی یه نمونه ی ساده ی ارتباط با پایگاه داده از php رو ببینی هم بگو تا کدش رو برات بذارم اینجا.

papa_fal
یک شنبه 07 خرداد 1385, 09:11 صبح
والا هرچی بذارید .ممنون میشم بازم غنیمته.(با {اس کیو ال سرور}؟؟؟)
آیا شما تا به حال چنین کاری را انجام داده اید.؟؟؟؟

papa_fal
یک شنبه 07 خرداد 1385, 09:15 صبح
آقای رد
مشکل از کجاست؟؟؟؟؟؟
من یک تاپیکی را تا به حال 5 بار در قسمت {ما ی اس کیو ال} گذاشتم.
بعد از چند دقیقه می رم می بینم ناپدید شده.؟؟؟؟؟؟؟؟؟
اسم پست من هم:
تبدیل اسکریپت{مای اس کیو ال} به اسکریپت {اس کیو ال سرور} است.
!!!!!!!!!!!!

reza_rad
یک شنبه 07 خرداد 1385, 09:46 صبح
والا هرچی بذارید .ممنون میشم بازم غنیمته.(با {اس کیو ال سرور}؟؟؟)
آیا شما تا به حال چنین کاری را انجام داده اید.؟؟؟؟


نه مثال من با mysql هست.البته اگه کد رو ببینی روند کار با دیتابیس رو متوجه میشی. بعد می تونی توسعه بدی با فانکشن های mssql .
این هم کد نمونه:


<?php
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_select_db('test') or die('Could not select database');





$result=mysql_query("SELECT * FROM plak")or die('Query failed: ' . mysql_error());
$num_row=mysql_num_rows($result);
print "<table border=1>";
while ($a_row=mysql_fetch_row($result))
{
print "<tr>";
foreach ($a_row as $plak)
{
$val=$plak;
print "<td>$val</td>";

}
print "</tr>";
}
print "</table>";

/////
$tr=trim($T1);
$result="SELECT * FROM `plak` WHERE Number='$tr'";
$result1=mysql_query($result);
if (!$result1){
echo "no field";
exit;
}
if(mysql_num_rows($result1) == 0){
echo "no field";
exit;
}

while ( $row=mysql_fetch_assoc($result1)){
echo $row["Number"];
echo $row["Install"];
echo $row["Build"];
echo $row["Report"];
}

/////


mysql_close($link);



?>




آقای رد
مشکل از کجاست؟؟؟؟؟؟
من یک تاپیکی را تا به حال 5 بار در قسمت {ما ی اس کیو ال} گذاشتم.
بعد از چند دقیقه می رم می بینم ناپدید شده.؟؟؟؟؟؟؟؟؟
اسم پست من هم:
تبدیل اسکریپت{مای اس کیو ال} به اسکریپت {اس کیو ال سرور} است.
!!!!!!!!!!!!


من راد هستم ;-)

نمی دونم چرا پاک میشه شاید تکراریه یعنی جستجو کنید شاید تاپیک های مشابه باشه در این مورد

papa_fal
سه شنبه 09 خرداد 1385, 06:54 صبح
ممنونم
آقای راد
به طور کلی فهمیدم که چی کار می کنه.
ممنون میشم که شما هم در یکی دو سطری توضیح بدید.
در ضمن من کجا هارو باید تغییر بدم که به {اس کیو ال} وصل بشه.
آخه چی کار کنم من اصلا {پی اچ پی} بلد نیستم.
این مشکل حل بشه من میرم دنبال طراحی سایت با {سی ام اس} و دیگه نیازی نمی بینم که
{پی اچ پی} یاد بگیرم.چون من دارم با {ای اس پی دات نت} کار میکنم.

در ضمن آقای راد یک سوالی هم داشتم.
این کدها باید در کدام قسمت قرار بگیرد؟؟
در فایل config.php ؟؟؟؟؟؟

حقیقتا شما خوب منو راهنمایی می کنید و ماهی گیری را دارم یاد میگیرم.
شما این بار جواب سوال منو مستقیم بدید ممنون میشم(ماهی را هم بدید)

////////////////////////////////////////////////////////////////////////////////////
راستی یک سوال دیگه چطور کدها را داخل کادر قرار می دید که به هم نمی ریزد؟؟؟؟؟
با تشکر

reza_rad
سه شنبه 09 خرداد 1385, 09:02 صبح
ممنون میشم که شما هم در یکی دو سطری توضیح بدید.


خواهش می کنم.
این هم توضیح:
mysql_connect اتصال به مای اس کیو ال را برقرار می کند.
mysql_select_db یک دیتابیس خاص را در آن انتخاب می کند.
mysql_query یک کوئری را اجرا می کند.
بقیه قسمتها هم اطلاعات آنرا داخل یک جدول نشان می دهند.




در ضمن من کجا هارو باید تغییر بدم که به {اس کیو ال} وصل بشه.

دقیقا نمی دونم! چون اینکار رو نکردم تابحال.
ولی قاعدتا شما باید از توابعی مثل mssql_connect استفاده کنی اینجاها تا نتیجه بگیری.



این کدها باید در کدام قسمت قرار بگیرد؟؟
در فایل config.php ؟؟؟؟؟؟


نه!
ببینید نیوک و یا هر cms دیگه ای یک ساختار ماژولار برای کدهاش داره.
شما باید کدها رو یه کمی بخونی تا برسی به فایل و ماژولی که کانکشن دیتا بیس توش برقرار میشه( من دقیقا نمی دونم کجاست چون با نیوک کار نکردم) و وقتی به اون رسیدی کدهای کانکشن رو عوض کنی تا بتونه از اس کیو ال سرور بخونه.



راستی یک سوال دیگه چطور کدها را داخل کادر قرار می دید که به هم نمی ریزد؟؟؟؟؟


با تگ کد. اینجوری:
[ c o d e ]

[ / c o d e ]

البته دقت کن که باید همه اش حروف بزرگ باشه و بدون فاصله CODE
حالا هر چی کد داخل این بنویسی فرمتش به هم نمی ریزه

alirezador
یک شنبه 14 خرداد 1385, 11:18 صبح
LIX. Microsoft SQL Server Functions
Introduction
These functions allow you to access MS SQL Server database.

Requirements
Requirements for Win32 platforms.

The extension requires the MS SQL Client Tools to be installed on the system where PHP is installed. The Client Tools can be installed from the MS SQL Server CD or by copying ntwdblib.dll from \winnt\system32 on the server to \winnt\system32 on the PHP box. Copying ntwdblib.dll will only provide access. Configuration of the client will require installation of all the tools.

Requirements for Unix/Linux platforms.

To use the MSSQL extension on Unix/Linux, you first need to build and install the FreeTDS library. Source code and installation instructions are available at the FreeTDS home page: http://www.freetds.org/

Note: In Windows, the DBLIB from Microsoft is used. Functions that return a column name are based on the dbcolname() function in DBLIB. DBLIB was developed for SQL Server 6.x where the max identifier length is 30. For this reason, the maximum column length is 30 characters. On platforms where FreeTDS is used (Linux), this is not a problem.

Installation
The MSSQL extension is enabled by adding extension=php_mssql.dll to php.ini.

To get these functions to work, you have to compile PHP with --with-mssql[=DIR], where DIR is the FreeTDS install prefix. And FreeTDS should be compiled using --enable-msdblib.

Runtime Configuration
The behaviour of these functions is affected by settings in php.ini.


Table 1. MS SQL Server configuration options

Name Default Changeable
mssql.allow_persistent "1" PHP_INI_SYSTEM
mssql.max_persistent "-1" PHP_INI_SYSTEM
mssql.max_links "-1" PHP_INI_SYSTEM
mssql.min_error_severity "10" PHP_INI_ALL
mssql.min_message_severity "10" PHP_INI_ALL
mssql.compatability_mode "0" PHP_INI_ALL
mssql.connect_timeout "5" PHP_INI_ALL
mssql.timeout "60" PHP_INI_ALL
mssql.textsize "-1" PHP_INI_ALL
mssql.textlimit "-1" PHP_INI_ALL
mssql.batchsize "0" PHP_INI_ALL
mssql.datetimeconvert "1" PHP_INI_ALL
mssql.secure_connection "0" PHP_INI_SYSTEM
mssql.max_procs "25" PHP_INI_ALL

For further details and definition of the PHP_INI_* constants see ini_set().

Resource Types

Predefined Constants
The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.


MSSQL_ASSOC (integer)

MSSQL_NUM (integer)

MSSQL_BOTH (integer)

SQLTEXT (integer)

SQLVARCHAR (integer)

SQLCHAR (integer)

SQLINT1 (integer)

SQLINT2 (integer)

SQLINT4 (integer)

SQLBIT (integer)

SQLFLT8 (integer)

Table of Contents
mssql_bind -- Adds a parameter to a stored procedure or a remote stored procedure
mssql_close -- Close MS SQL Server connection
mssql_connect -- Open MS SQL server connection
mssql_data_seek -- Moves internal row pointer
mssql_execute -- Executes a stored procedure on a MS SQL server database
mssql_fetch_array -- Fetch a result row as an associative array, a numeric array, or both
mssql_fetch_assoc -- Returns an associative array of the current row in the result set specified by result_id
mssql_fetch_batch -- Returns the next batch of records
mssql_fetch_field -- Get field information
mssql_fetch_object -- Fetch row as object
mssql_fetch_row -- Get row as enumerated array
mssql_field_length -- Get the length of a field
mssql_field_name -- Get the name of a field
mssql_field_seek -- Seeks to the specified field offset
mssql_field_type -- Gets the type of a field
mssql_free_result -- Free result memory
mssql_free_statement -- Free statement memory
mssql_get_last_message -- Returns the last message from the server
mssql_guid_string -- Converts a 16 byte binary GUID to a string
mssql_init -- Initializes a stored procedure or a remote stored procedure
mssql_min_error_severity -- Sets the lower error severity
mssql_min_message_severity -- Sets the lower message severity
mssql_next_result -- Move the internal result pointer to the next result
mssql_num_fields -- Gets the number of fields in result
mssql_num_rows -- Gets the number of rows in result
mssql_pconnect -- Open persistent MS SQL connection
mssql_query -- Send MS SQL query
mssql_result -- Get result data
mssql_rows_affected -- Returns the number of records affected by the query
mssql_select_db -- Select MS SQL database

این help خود php در مورد sql server