ورود

View Full Version : سوال: سوال در مورد phpmyadmin



H3M1993
پنج شنبه 21 مهر 1390, 11:39 صبح
با سلام
هنگام ساختن یک جدول در phpmyadmin اگر گزینه ی AUTO_INCREMENT را برای یک ستون مثلا id فعال کنیم در اینده هنگام اضافه شدن یک ردیف به این جدول مقدار 1 واحد یه id اضافه می شود.

حال اگر بخواهیم بدانیم این مقدار پس از اضاف شدن چند است چه باید بکنیم؟
من این مقدار را قبل از اضافه شدن این ردیف به جدول نیاز دارم.

hamiii
چهارشنبه 27 مهر 1390, 22:14 عصر
خب اطلاعات فیلد ID رو هم مثل هر فیلد دیگه میتونی بخونی دیگه.

faravaghi
پنج شنبه 28 مهر 1390, 11:02 صبح
سلام گرامی،


$ResultInser = mysql_query($InsertQuery);
if (!$ResultInser)
{
die('Query failed(Insert Table): ' . mysql_error());
}
else if ($ResultInser)
{
$ID = mysql_insert_id();
}


اینم لینک منبع (http://www.php.net/manual/en/function.mysql-insert-id.php)

H3M1993
پنج شنبه 28 مهر 1390, 22:50 عصر
خب اطلاعات فیلد ID رو هم مثل هر فیلد دیگه میتونی بخونی دیگه.
وقتی فیلد هنوز ساخته نشده چه طور اطلاعاتشو بخونم؟ :متعجب:


سلام گرامی،


$ResultInser = mysql_query($InsertQuery);
if (!$ResultInser)
{
die('Query failed(Insert Table): ' . mysql_error());
}
else if ($ResultInser)
{
$ID = mysql_insert_id();
}


اینم لینک منبع (http://www.php.net/manual/en/function.mysql-insert-id.php)



ببخشید میشه یکم توضیح بدهید. متغییر $InsertQuery از کجا امد . مقدارش چیه ؟
ایا mysql_insert_id(); مقدار AUTO_INCREMENT رو برمگرداند یا نه ؟

faravaghi
پنج شنبه 28 مهر 1390, 23:23 عصر
سلام دوست عزیز،
اگه به لینکی که برات فرستادم نگاهی بندازی متوجه میشی که این تابع دقیقا آخرین ID که از نوع AUTO_INCREMENT است رو برمیگردونه.
برای اینکه این شماره با شماره یک فرد دیگه که مثلا یک Insert تو بانک انجام نشده نیز یک پارامتر داره.
مقدار ورودی تابع هم از پارامتر mysql_connect() (http://www.php.net/manual/en/function.mysql-connect.php) میگیره تا از صحت این اطمینان حاصل بشه.


http://www.php.net/images/notes-reject.gif (http://www.php.net/manual/en/function.mysql-insert-id.php#) Description

int mysql_insert_id ([ resource $link_identifier ] )
Retrieves the ID generated for an AUTO_INCREMENT column by the previous query (usually INSERT).
Report a bug (https://bugs.php.net/report.php?bug_type=Documentation+problem&manpage=function.mysql-insert-id%23refsect1-function.mysql-insert-id-parameters)
http://www.php.net/images/notes-reject.gif (http://www.php.net/manual/en/function.mysql-insert-id.php#) Parameters


link_identifier The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() (http://www.php.net/manual/en/function.mysql-connect.php) is assumed. If no such link is found, it will try to create one as if mysql_connect() (http://www.php.net/manual/en/function.mysql-connect.php) was called with no arguments. If no connection is found or established, an E_WARNING level error is generated.

Report a bug (https://bugs.php.net/report.php?bug_type=Documentation+problem&manpage=function.mysql-insert-id%23refsect1-function.mysql-insert-id-returnvalues)
http://www.php.net/images/notes-reject.gif (http://www.php.net/manual/en/function.mysql-insert-id.php#) Return Values

The ID generated for an AUTO_INCREMENT column by the previous query on success, 0 if the previous query does not generate an AUTO_INCREMENT value, or FALSE if no MySQL connection was established.

H3M1993
جمعه 29 مهر 1390, 11:51 صبح
:خجالت:
من نفهمیدم :گریه:
ببین دوست عزیز
من یک جدول دارم که دو تا ستون داره یکی از ستون ها اسمش id هست که با ایجاد یک فیلد جدید مقدار اون یکی افزایش پیدا می کنه (AUTO_INCREMENT) . اسم ستون بعدی num هست.
حالا می خواهم دستوری بنویسم که وقتی یک فیلد ایجاد شد مقدار id اون همراه با چند تا عدد دیگه در ستون num قرار بگیره .
من برای حل مشکلم اول فیلد را ایجاد میکنم بعد id رو از فیلد می خونم و دوباره فیلد رو اپدیت می کنم . ولی این روش جالبی نیست برای همین دنبال یه راه هستم که یکباره همه این کارها رو بکنه .

faravaghi
جمعه 29 مهر 1390, 12:13 عصر
سلام،
به کلیه دوستان:
قانون شماره 5
پیش از مطرح کردن سوال خود از امکان جستجوی سایت استفاده کرده و در صورتی که به جواب سوال خود نرسیدید، اقدام به ساخت تاپیک جدید نمایید.
براتون مثل گلاب لینک فرستادم، یه زحمت به خودت دادی یه نگاه بهش بکنی!!
برو به همون آدرس (http://www.php.net/manual/en/function.mysql-insert-id.php#83550) ببین تو همون لینک جوابت است. همیشه دنبال لقمه آماده نباشین. من اینو که براتون فرستادم خودم بلد نبودم یه جستجو کردم در عرض 3 دقیقه بهش رسیدم. انتظارم از شما اینه که اگه من برای شما وقت گذاشتم تا بتونم مشکل شما رو حل کنم لااقل خودتون هم یکم وقت بزارین دنبالش برین!!!!!

H3M1993
جمعه 29 مهر 1390, 21:09 عصر
خوب من از اون لیک به جوابم نرسیدم مگر نه دوباره که نمی پرسیدم .
بی خیال
حالا چرا عصبانی میشی
من از خیر این سوال گذشتم . تا منو با اون اسلحه (اواتار) نکشتی ، فرار کنم برم .
خیلی ممنون از راهنمایی تون . بای

faravaghi
جمعه 29 مهر 1390, 23:01 عصر
سلام دوست خوبم،
بنده حقیر اگه جسارت کردم متاسفم.
پست ندادم که شما ناراحت بشین بلکه گفتم بلکه به جواب برسین. آخه جوابی که خودت دنبالش میری هم شیرین تره هم بهتر یاد میگیری.
سوال شما تو MySql:

SELECT LAST_INSERT_ID() FROM table

و همچنین تو PHP:


// INSERT DATA TO ADD TO THE AUTO_INCREMENT INDEX

$sql = "INSERT INTO noise () VALUES ()";
if (!$res = mysql_query($sql)) die(mysql_error());
$nid = mysql_insert_id($dbcx);

اینایی هم که من گفتم آخرین رکورد ثبت شده که نوعش AUTO_INCREMENT است رو بر میگردونه.