tabib_m
جمعه 24 اسفند 1386, 01:05 صبح
سلام
یک جدول دارم با این فیلد ها:
id (int)
title (varchar)
parent_id (int)
position (int)
در حقیقت یک جدول برای یک درخت موضوعی.
میخوام با کد sql کاری کنم که فیلد position در بعضی از قسمت های برنامه، به صورت اتوماتیک پر بشه.
به این صورت که مقدارش، بزرگترین position موجود بین رکوردهایی که parent_id اونها مطابق با parent_id ای که الان داریم ثبت میکنیم + 1 بشه.
برای مثال، اگر بخوام از کد php در کارم استفاده کنم، این کار رو میکنم:
<?php
$parent_id=$_POST['parent_id'];
$query=mysql_query("select MAX(`position`) from `table` where `parent_id`='$parent_id'");
$row=mysql_fetch_row($query);
$position=$row[0]+1;
mysql_query("insert into `table` set `title`='$title' , `parent_id`='$parent_id' , `position`='$position'");
?>
اصلا این کار شدنیه؟ یا الزاما باید از PHP کمک بگیرم؟
یک جدول دارم با این فیلد ها:
id (int)
title (varchar)
parent_id (int)
position (int)
در حقیقت یک جدول برای یک درخت موضوعی.
میخوام با کد sql کاری کنم که فیلد position در بعضی از قسمت های برنامه، به صورت اتوماتیک پر بشه.
به این صورت که مقدارش، بزرگترین position موجود بین رکوردهایی که parent_id اونها مطابق با parent_id ای که الان داریم ثبت میکنیم + 1 بشه.
برای مثال، اگر بخوام از کد php در کارم استفاده کنم، این کار رو میکنم:
<?php
$parent_id=$_POST['parent_id'];
$query=mysql_query("select MAX(`position`) from `table` where `parent_id`='$parent_id'");
$row=mysql_fetch_row($query);
$position=$row[0]+1;
mysql_query("insert into `table` set `title`='$title' , `parent_id`='$parent_id' , `position`='$position'");
?>
اصلا این کار شدنیه؟ یا الزاما باید از PHP کمک بگیرم؟