PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : افزودن جدول به وسیله کد نویسی در php چگونه است؟حیاتیه



myusername
February 17th, 2012, 23:08
سلام.وقت بخیر.
من برای یه قسمت از سایتم برای ادمین باید این ویژگی رو قرار بدم که ادمین بتونه در بانک اطلاعاتی یک جدول با نام دلخواه، تعداد فیلد دلخواه ونوع دلخواه خودش رو قرار بده ولی این کار با کد نویسی در صفحهphp باشه نه در صفحه ی command ولی کد نویسیش رو بلد نیستم . از طرفی در یک قسمت دیکر هم بتواند فیلد دلخواهش با نوع دلخواهش رو به جدولی که مورد نظرش هست اضافه کنه باز هم با کد نویسی در php. من با نرم افزار wos و بانک اطلاعاتیmysqlکار میکنم.خواهش می کنم کدش رو برام بفرستید. این یه قسمت از پروژه م هست وخیلی وقته که دنبال جواب هستم تا اینکه با سایت شما آشنا شدم. خواهشمندم که پاسخم رو بدین. ممنون و متشکرم

amirhkh
February 18th, 2012, 04:45
ببخشید یعنی شما یک Query Builder لازم دارید ؟ چقدر می خواید هزینه کنید ؟ این اگه بخواد اختصاصی نوشته بشه خودش یک پروژه هست دوست گرامی :)

myusername
February 18th, 2012, 11:02
منظور شما از Query Builder چیه؟از طرفی من تقریبا پروژم کامله وفقط همین قسمتش مونده. فکر نمی کردم این قدر که شما گفتید, بزرگ باشه و تا 5 اسفند باید تحویل بدم.حالا هزینه اش چقدر میشه؟ راه دیگه ای هست؟ممنون از پاسخ شما

Maryat
February 18th, 2012, 13:20
فکر نمیکنم به این بزرگی که ایشون میگن باشه ....

کافیه شما دقیقا کدهایی که زمان ایجاد جدول یا اضافه کردن فیلد تو mysql ایجاد میشه دقیقا بیارید تو php بعد به جای فیلدها متغیرهایی رو قرار بدید که حاوی درخواست های کاریر یکم بازی کردن با کدهاست

البته بازم دوستان نظر بدن شایدم من اشتباه متوجه شدم ....

myusername
February 18th, 2012, 14:35
دوست عزیز این کارهارو قبلا انجام دادم ولی جواب نداه. مثلا اگر من بخوام جدولی با نام bookایجاد کنم باید نام جدول رو در textbox وارد کنم بعد بنویسم...... create table .بعد که به نام جدول می رسم نام textboxرو بنویسم یعنی create table $textbox ولی این جواب نداد.
از طرفی در mysqlبرای ایجاد جدول عبارت (,.....نوع فیلد1 نام فیلد1 )نام جدول create tableرو داریم.
حالا مشکل اینجاست که چطور نام فیلد و نوع فیلد رو بدم.یعنی چند متغیر پشت سر هم که نشدنیه.
اگر دوستی کدی رو داره که کمکم می کنه خواهشمندم که برام بذاره.
متشکرم

Maryat
February 18th, 2012, 15:28
به نظرم شما باید قبل از اینکه به این دستور برسید نام فیلدها رو توی یک متغیر بزارید و نوعشون هم توی یه متغیر و به دستور فقط دو متغیر بدید چون دقیقا مشخص نیست چند تا فیلده باید از آرایه استفاده کنید و با دستور foreach فیلدهای رو تو یه متغیر بهم بچسبونید

L0cal
February 18th, 2012, 15:51
ببخشید یعنی شما یک Query Builder لازم دارید ؟ چقدر می خواید هزینه کنید ؟ این اگه بخواد اختصاصی نوشته بشه خودش یک پروژه هست دوست گرامی :)

چرا واسه هر چیزی میخوایید پول بگیرید اه اه :-&
دوست من ببین شما باید یه کار بکنی اینطوری که من فهمیدم شما میخوایی ادمین بتونه جدول درست کنه.
با این دستور میتونی به راحتی این کار رو انجام بدی.

// Make a MySQL Connection
$dbh=mysql_connect($hostname,$user,$password) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());
mysql_query("CREATE TABLE nametable(
`fildaha` varchar(32) NOT NULL default '',
`fildaha` varchar(32) NOT NULL default '',
`fildaha` varchar(32) NOT NULL default '',
PRIMARY KEY (`user`))");

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

$namtable=$_POST['nametable'];
mysql_query("CREATE TABLE $nametable(
`fildaha` varchar(32) NOT NULL default '',
`fildaha` varchar(32) NOT NULL default '',
`fildaha` varchar(32) NOT NULL default '',
PRIMARY KEY (`user`))");

myusername
February 18th, 2012, 23:45
چرا واسه هر چیزی میخوایید پول بگیرید اه اه :-&
دوست من ببین شما باید یه کار بکنی اینطوری که من فهمیدم شما میخوایی ادمین بتونه جدول درست کنه.
با این دستور میتونی به راحتی این کار رو انجام بدی.

// Make a MySQL Connection
$dbh=mysql_connect($hostname,$user,$password) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());
mysql_query("CREATE TABLE nametable(
`fildaha` varchar(32) NOT NULL default '',
`fildaha` varchar(32) NOT NULL default '',
`fildaha` varchar(32) NOT NULL default '',
PRIMARY KEY (`user`))");

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

$namtable=$_POST['nametable'];
mysql_query("CREATE TABLE $nametable(
`fildaha` varchar(32) NOT NULL default '',
`fildaha` varchar(32) NOT NULL default '',
`fildaha` varchar(32) NOT NULL default '',
PRIMARY KEY (`user`))");


دوست عزیز از راهنماییتون واقعا ممنونم. ولی من چند مورد رو متوجه نمیشم.
یکی اینکه هر کدوم از کدهای بالا باید در صفحه جداگانه باشند یا در یک صفحه؟
دوم اینکه کد شما امکان قراردادن 3 فیلد رو در جدول میده,مثلا من اگر بخوام جدولم 5 تا فیلد داشته باشه چیکار کنم؟
سوم اگر بخوام نوع فیلدهام چیز دیگه ای باشه چی؟مثلا نوع char(10)
کدهاتون رو نوشتم ولی جواب نگرفتم.

---------- Post added at 11:42 PM ---------- Previous post was at 11:40 PM ----------

بیشتر توضیح بدین ممنون میشم.چون من 3 تا متغیر دارم .نام جدول,نام فیلد,نوع فیلد.حالا چطوری به 2 تا تبدیل کنم؟

---------- Post added at 11:45 PM ---------- Previous post was at 11:42 PM ----------

بیشتر توضیح بدین ممنون میشم.چون من 3 تا متغیر دارم .نام جدول,نام فیلد,نوع فیلد.حالا چطوری به 2 تا تبدیل کنم؟

Maryat
February 19th, 2012, 00:03
برای اینکه منعطفش کنید نام فیلدها و نوع رو توی یه آرایه دو بعدی میزارید بعد این کار و میکنید یه همچین چیزی باید بتونه کمکت کنه





$result='';
foreach($arrayname as $item)
{
$result.='`'.$item[0].'` '.$item[1].' , ' ;
}

mysql_query("CREATE TABLE $nametable(".$result." PRIMARY KEY (`user`))");

L0cal
February 19th, 2012, 21:59
کد صفحه مدیریتونو قرار بدید تا براتون درستش کنم

myusername
February 20th, 2012, 01:07
کد صفحه مدیریتونو قرار بدید تا براتون درستش کنم
<html>‍
<head>
<script>
function do_check(form)
{
if(form.t.value=="")
{
alert (". لطفا تعداد فیلدها را وارد کنید ");
return false;
}
else
{
return true;
}
}
</script>
</head>
<center>
<form action="../addt1." method="post" onsubmit="return do_check(this);">
<p><center><b>.لطفا تعداد فیلدهای جدول مورد نظرتان را در قسمت زیر وارد نمایید</center></p>
<input type=text name="t"><b>:تعداد فیلد</input><br><br>
<center><input type="submit" name="s" value=" تـایـیـد "></input>
</form></center>
<html>
از خط3 تا 14 اسکریپتیه که اگه ادمین تعداد فیلدهارو وارد نکرد,از اون بخواد که وارد کنه.
کد زیر هم در صفحه دیگری نوشته میشه که به تعدادی که ادمین وارد میکنه textboxبرای نام فیلد و نوعش ایجاد میشود
کدphp
<?php
echo"<form action='../addt2' method='post'>";
echo"<input type='text' name='t1'>:نام جدول</input><br>";
for($i=1;$i<t;$i++)
{
echo"<input type='text' name='t2'>:نام فیلد</input>
<input type='text' name='t3'>:نوع فیلد</input><br>";
}
echo"</form>";
echo"<input type='submit' value='تایید'>";
?>
در t1نام جدول و در t2 نام فیلدهای مورد نظر و در t3نوع هر فیلد مشخص می شود.
در صفحه بعد با زدن دکمه تایید جدول ایجاد میشود که کد ان به صورت زیر است :
<?php
$db=mysql_pconnect('localhost','root','');
mysql_select_db("db1");
$query="create table $t1($t2 $t3)";
$result=mysql_query($query);
mysql_close();
?>

---------- Post added at 01:07 AM ---------- Previous post was at 12:30 AM ----------

کدهای ادمین رو خواسته بودین که براتون گذاشتم.
سه صفحه کد نویسی کردم.صفحه اول تعداد فیلدی رو که ادمین می خواد در جدولش قرار بده رو درخواست میکنه. که به صورت زیر هست:
<html>‍
<head>
<script>
function do_check(form)
{
if(form.t.value=="")
{
alert (". لطفا تعداد فیلدها را وارد کنید ");
return false;
}
else
{
return true;
}
}
</script>
</head>
<center>
<form action="../addt1." method="post" onsubmit="return do_check(this);">
<p><center><b>.لطفا تعداد فیلدهای جدول مورد نظرتان را در قسمت زیر وارد نمایید</center></p>
<input type=text name="t"><b>:تعداد فیلد</input><br><br>
<center><input type="submit" name="s" value=" تـایـیـد "></input>
</form></center>
<html>
از خط3 تا 14 اسکریپتیه که اگه ادمین تعداد فیلدهارو وارد نکرد,از اون بخواد که وارد کنه.
صفحه دوم به تعدادی که ادمین وادد کرده textboxایجاد میکنه.علاوه بر اون یکی هم برای نام جدول ایجاد میکنه.کد اون به صورت زیر هست:
<?php
echo"<center><form action='../addt2.php' method='post'>";
echo"<input type='text' name='t1'>:نام جدول</input><br>";
for($i=1;$i<t;$i++)
{
echo"<input type='text' name='t2'>:نام فیلد</input>
<input type='text' name='t3'>:نوع فیلد</input><br><br>";
}
echo"<input type='submit' name='s' value='تایید'></input>";
echo"</form><center>";
?>
صفحه سوم ارتباط با mysqlو ایجاد جدول با نامی که در t1وارد کردیم و نام فیلد که در t2وارد کردیم و نوعش که در ف3 وارد کردیم که بصورت زیر است:
<?php
$db=mysql_pconnect('localhost','root','');
mysql_select_db("db1");
$query="create table $t1($t2 $t3)";
$result=mysql_query($query);
mysql_close();
?>
اجایی که تونستم قسمتهای ضروریش رو گذاشتم .

L0cal
February 22nd, 2012, 09:43
داداش بزار تو یه فایل php ضممیه کن