-
March 3rd, 2020, 14:12
#1
وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در sql
با سلام و خسته نباشید
من یه جدول توی دیتابیس دارم allpost که time بصورت mktime ذخیره شده، که تعداد بالای هزار تا رکورد هستند، احتیاج به یک فیلد دیگه به نام date داشتم که تاریخ اونجا بصورت عادی ذخیره بشه 'Ymd H:is'.
فیلد date رو ساختم الان باید داده time رو به تاریخ عادی با استفاده از تابع jdate تبدیل کنم ولی برای تمام رکوردها
توی دیتابیس بخوام اینکارو انجام بدم کدش چطوریه؟
ممنون می شم راهنمایی کنید، با تشکر
ویرایش توسط Marshall : March 3rd, 2020 در ساعت 14:49
-
-
March 3rd, 2020 14:12
# ADS
-
March 3rd, 2020, 20:25
#2
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در sql
-
-
March 4th, 2020, 00:42
#3
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در sql
اگه کسی بلده لطفا راهنمایی کنید
-
-
March 4th, 2020, 01:03
#4
عضو انجمن
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در sql
دیتابیس تاریخ شمسی نداره بصورت پیشفرض .
با همون php یه فایل بنویس هزار تا رکورد رو بگیر و آپدیت بزن تاریخ رو .
-
تعداد تشکر ها از rezaonline.net به دلیل پست مفید
-
March 4th, 2020, 01:12
#5
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در sql

نوشته اصلی توسط
rezaonline.net
دیتابیس تاریخ شمسی نداره بصورت پیشفرض .
با همون php یه فایل بنویس هزار تا رکورد رو بگیر و آپدیت بزن تاریخ رو .
خیلی ممنون
یه فایل هست که دیتابیس رو می شه با php آپدیت کرد میشه با این فایل منو راهنمایی کنید؟
خیلی ممنون می شم
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$time = اینجا نمی دونم چطوری مشخص کنم منظورم فیلد تایم در جدول انتخابی است!
$Datetime = jdate(Y-m-d H:i:s)
$sql = "UPDATE allpost SET date='$DateTime' WHERE id=id";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
$conn->close();
?>
ویرایش توسط Marshall : March 4th, 2020 در ساعت 01:17
-
-
March 4th, 2020, 01:14
#6
عضو انجمن
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در sql
یه دستور بنویس همه ی رکورد ها رو بخونید
https://www.w3schools.com/php/func_m...etch_assoc.asp
بعد با foreach به ازای هر رکورد دستور آپدیتی که نوشتید رو اعمال کنید.
برای تبدیل time به date هم روشش رو بلدید با jdate
- - - Updated - - -
https://www.w3schools.com/php/func_mysqli_fetch_all.asp
-
تعداد تشکر ها از rezaonline.net به دلیل پست مفید
-
March 4th, 2020, 01:17
#7
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در sql

نوشته اصلی توسط
rezaonline.net
دیتابیس تاریخ شمسی نداره بصورت پیشفرض .
با همون php یه فایل بنویس هزار تا رکورد رو بگیر و آپدیت بزن تاریخ رو .
خیلی ممنون
یه فایل هست که دیتابیس رو می شه با php آپدیت کرد میشه با این فایل منو راهنمایی کنید؟
خیلی ممنون می شم
کد PHP:
<?php$servername = "localhost";$username = "username";$password = "password";$dbname = "myDB";
// Create connection$conn = new mysqli($servername, $username, $password, $dbname);// Check connectionif ($conn->connect_error) { die("Connection failed: " . $conn->connect_error);}
$time = اینجا نمی دونم چطوری مشخص کنم منظورم فیلد تایم در جدول انتخابی است!
$Datetime = jdate(Y-m-d H:i:s)
$sql = "UPDATE allpost SET date='$DateTime' WHERE id=id";
if ($conn->query($sql) === TRUE) { echo "Record updated successfully";} else { echo "Error updating record: " . $conn->error;}
$conn->close();?>
-
-
March 4th, 2020, 01:21
#8
عضو انجمن
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در sql
اول select کن کل رکورد ها رو
بعد توی حلقه foreach فیلد time رو بگیر بده به تابع jdate بعد زمان در میاد
بعد دستور آپدیتی که الان نوشتی رو بنویس به شرطی که id برابر با id باشه که توی حلقه میگیری
-
تعداد تشکر ها از rezaonline.net به دلیل پست مفید
-
March 4th, 2020, 01:53
#9
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در sql

نوشته اصلی توسط
rezaonline.net
اول select کن کل رکورد ها رو
بعد توی حلقه foreach فیلد time رو بگیر بده به تابع jdate بعد زمان در میاد
بعد دستور آپدیتی که الان نوشتی رو بنویس به شرطی که id برابر با id باشه که توی حلقه میگیری
خیلی ممنون و سپاسگزارم از شما
تا اینجا اومدم بعد از اجرا همه رکوردها تبدیل به یک تاریخ می شن اونم تاریخ امروز!!! 14-12-1398
کد PHP:
<?php$servername = "localhost";
$username = "user";
$password = "pass";
$dbname = "db";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); }
$Alltime = Yii::$app()->db->createCommand('select time from allpost')->queryColumn();
foreach ($Alltime as $time) {
$c = jdate('Y-m-d h:i' , $time);
$sql = "update post set date='$c' where id=id";
}
if ($conn->query($sql) === TRUE) { echo "Record updated successfully";} else { echo "Error updating record: " . $conn->error;}
$conn->close();?>
نمی دونم مشکل از چیه!
همه تاریخ ها تاریخ آخرین نوشته می شن!
یعنی فقط زمان آخر و لحاظ میکنه
ویرایش توسط Marshall : March 4th, 2020 در ساعت 04:40
-
-
March 6th, 2020, 12:23
#10
عضو انجمن
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در sql
شما با فریم ورک Yii کار میکنید ؟
اگه جواب مثبته چرا بالا از mysqli استفاده کردید ؟
اگه جواب منفیه چرا از Yii::$app استفاده کردید ؟
-