PDA

View Full Version : حرفه ای: این کد رو ببینید کمک کنید query string problem help please



mgh2211
سه شنبه 09 فروردین 1390, 01:14 صبح
<?php
//گام اول
if (!isset($_GET['num'])and !isset($_GET['query'])){
echo("<form method=\"get\" action=\"main.php?cat=new\">");
echo(" <table cellpadding=\"8\">");
echo(" <tr> <td colspan=\"3\" >");
echo(" <b>مرحله اول ایجاد شاخه</b></td></tr>");
echo(" <tr> <td align=\"right\" nowrap>تعداد فیلد شاخه</td>");
echo(" <td ><p><input type=\"text\" name=\"num\"><br></p></td></tr>");
echo("<tr ><td>نام شاخه</td><td><label>");
echo(" <input type=\"text\" name=\"namecat\" id=\"secur\" />");
echo(" </label></td>");

echo(" <tr > <td ><input name=\"cat\" type=\"hidden\" value=\"new\"><input type=\"submit\" name=\"Submit\" value=\"ایجاد\"></form></td></tr> </table>");

}
if(isset($_GET['num'])and (isset($_GET['cat']))){
//گام دوم
$count=$_GET['num'];
$name=$_GET['namecat'];
echo("<table><p>مشخص کردن نوع فیلد ها</p>");
echo("<form action=\"main.php?\" method=\"get\" enctype=\"application/x-www-form-urlencoded\">");
echo("یک فیلد با نام ای دی به صورت پیشفرض برای شماره محصول بصورت کلید درج میشود");
for ($i = 0; $i < $count; $i++) {

print"<br>";
print "<tr><td><input name=\"fildname"."$i\" type=\"text\" value=\"$i\"></td>";
print "<td><select name=\"type"."$i\">";
echo("<option value=\"text\">text</option>");
echo("<option value=\"number\">number</option>");
echo("</select></td></tr>");
}
echo("</br>");
echo("<input name=\"submit\" type=\"submit\" value=\"submit\">");
echo("<input name=\"cat\" type=\"hidden\" value=\"new\">");
echo("<input name=\"count\" type=\"hidden\" value=\"$count\">");
echo("<input name=\"name\" type=\"hidden\" value=\"$name\">");
echo("<input name=\"query\" type=\"hidden\" value=\"true\">");
print"</form></table>";
}
if (isset($_GET['query'])and($_GET['query'] == true)){
echo("query");
$count=$_GET['count'];
$name=$_GET['name'];
//echo ("table name =$name |with count =$count");
$qtxt="CREATE TABLE `$name` (";
$qtxt=$qtxt."`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,";
for ($i = 0; $i < $count ; $i++) {

$tname=$_GET['fildname.$i'];
$ttype=$_GET['type.$i'];
echo $tname;
$tq="`".$_GET['fildname$i']."`". $_GET['type$i']. "NOT NULL ,";
$qtxt=$qtxt.$tq;
}
$qtxt=$qtxt.") ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_persian_ci;";
echo $qtxt;


}
?>
وقتی میخوام کوئری که درست کردم بگیرم هیچ چیزی بهم نمیده

CREATE TABLE `cpu` (`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,``NOT NULL ,``NOT NULL ,) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_persian_ci;
این جوری میشه!!!!!!!!!!
اگه کسی بلده یه راه بهتر نشون بده68002

mgh2211
سه شنبه 09 فروردین 1390, 01:18 صبح
اگه کسی بلده کمک کنه ممنون

MMSHFE
سه شنبه 09 فروردین 1390, 10:13 صبح
با سلام، ميشه دقيقاً بگين چه كاري ميخواين انجام بدين؟

mgh2211
سه شنبه 09 فروردین 1390, 19:24 عصر
من میخواستم یه جدول جدید درست کنم برای شاخه جدید
روش هم مثل درست کردن جدول در پی اچ پی مای ادمین که توش جدول جدید درست میکنید
تعداد فیلدا رو میگیره بعد مشخصات فیلدها رو همچین کاریمی خواستم بکنم مشکل هم سر تفاوت کتیشن ودابل کتیشن تو پی اچ پی بود
این هم کد تصحیح شده دیشب تا پنج صبح بیدار بودم

<?php
//گام اول
if (!isset($_GET['num'])and !isset($_GET['query'])){
echo("<form method=\"get\" action=\"main.php?cat=new\">");
echo(" <table cellpadding=\"8\">");
echo(" <tr> <td colspan=\"3\" >");
echo(" <b>مرحله اول ایجاد شاخه</b></td></tr>");
echo(" <tr> <td align=\"right\" nowrap>تعداد فیلد شاخه</td>");
echo(" <td ><p><input type=\"text\" name=\"num\"><br></p></td></tr>");
echo("<tr ><td>نام شاخه</td><td><label>");
echo(" <input type=\"text\" name=\"namecat\" id=\"secur\" />");
echo(" </label></td>");

echo(" <tr > <td ><input name=\"cat\" type=\"hidden\" value=\"new\"><input type=\"submit\" name=\"Submit\" value=\"ایجاد\"></form></td></tr> </table>");

}
if(isset($_GET['num'])and (isset($_GET['cat']))){
//گام دوم
$count=$_GET['num'];
$name=$_GET['namecat'];
echo("<table><p>مشخص کردن نوع فیلد ها</p>");
echo("<form action=\"main.php?\" method=\"get\" enctype=\"application/x-www-form-urlencoded\">");
echo("<tr><td>نام فیلد</td><td>نوع فیلد</td></tr>");
echo("یک فیلد با نام ای دی به صورت پیشفرض برای شماره محصول بصورت کلید درج میشود");
for ($i = 0; $i < $count; $i++) {

print"<br>";
print "<tr><td><input name=\"fildname"."$i\" type=\"text\" value=\"$i\"></td>";
print "<td><select name=\"type"."$i\">";
echo("<option value=\"text\">text</option>");
echo("<option value=\"int\">int</option>");
echo("</select></td></tr>");
}
echo("</br>");
echo("<input name=\"submit\" type=\"submit\" value=\"submit\">");
echo("<input name=\"cat\" type=\"hidden\" value=\"new\">");
echo("<input name=\"count\" type=\"hidden\" value=\"$count\">");
echo("<input name=\"name\" type=\"hidden\" value=\"$name\">");
echo("<input name=\"query\" type=\"hidden\" value=\"true\">");
print"</form></table>";
}
if (isset($_GET['query'])and($_GET['query'] == true)){

$count=$_GET['count'];
// $cless=$count - 1;
$name=$_GET['name'];
//echo ("table name =$name |with count =$count");
$qtxt="CREATE TABLE `$name` (";
$qtxt=$qtxt."`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,";
for ($i = 0; $i < $count ; $i++) {

$t=fildname.$i;
$n=type.$i;


$tq="`".$_GET["$t"]."` ". $_GET["$n"]. " NOT NULL ";
if($i != ($count - 1 )){
$tq=$tq.",";
}
$qtxt=$qtxt.$tq;
}
$qtxt=$qtxt.") ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_persian_ci;";
//echo $qtxt;
echo("<br/>");
mysql_query($qtxt) or die(mysql_error());
echo("save");
}
?>

ممنون میشم اگه راه دیگه ای بلدید کمک کنید

MMSHFE
سه شنبه 09 فروردین 1390, 20:37 عصر
با سلام، چرا ايجاد جدول جديد؟ نميشه همه شاخه ها توي يك جدول باشن و براي هر مطلب، آيدي شاخه مربوطه رو ثبت كنيد؟ فكر كنم طراحي پايگاه داده شما يكم مشكل داشته باشه. بهتره تجديد نظر كنيد.
موفق باشيد.

mgh2211
پنج شنبه 11 فروردین 1390, 00:02 صبح
سلام دوست عزیز
من قبلا این کاریو که میگید توی پروژه های دیگه مثل فروشگاه اینترنتی انجام دادم
به این دلیل نمیشه توی این پروژه این کارو انجام داد چون اصلا معلوم نیست ما چه فیلدهایی داریم
به فرض مثال تو شاخه سی پی یو ما تعداد هسته داریم که تو موس نداریم تو موس dpi داریم که تو
cpu نداریم حالا به نظر شما باید چکار کنم