وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در sql
با سلام و خسته نباشید
من یه جدول توی دیتابیس دارم allpost که time بصورت mktime ذخیره شده، که تعداد بالای هزار تا رکورد هستند، احتیاج به یک فیلد دیگه به نام date داشتم که تاریخ اونجا بصورت عادی ذخیره بشه 'Ymd H:is'.
فیلد date رو ساختم الان باید داده time رو به تاریخ عادی با استفاده از تابع jdate تبدیل کنم ولی برای تمام رکوردها
توی دیتابیس بخوام اینکارو انجام بدم کدش چطوریه؟
ممنون می شم راهنمایی کنید، با تشکر
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در sql
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در sql
اگه کسی بلده لطفا راهنمایی کنید :53:
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در sql
دیتابیس تاریخ شمسی نداره بصورت پیشفرض .
با همون php یه فایل بنویس هزار تا رکورد رو بگیر و آپدیت بزن تاریخ رو .
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در 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();
?>
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در 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
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در 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();?>
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در sql
اول select کن کل رکورد ها رو
بعد توی حلقه foreach فیلد time رو بگیر بده به تابع jdate بعد زمان در میاد
بعد دستور آپدیتی که الان نوشتی رو بنویس به شرطی که id برابر با id باشه که توی حلقه میگیری
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در 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();?>
نمی دونم مشکل از چیه!
همه تاریخ ها تاریخ آخرین نوشته می شن!
یعنی فقط زمان آخر و لحاظ میکنه
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در sql
شما با فریم ورک Yii کار میکنید ؟
اگه جواب مثبته چرا بالا از mysqli استفاده کردید ؟
اگه جواب منفیه چرا از Yii::$app استفاده کردید ؟
پاسخ : وارد کردن اطلاعات یک فیلد از روی فیلد دیگه در sql
نقل قول:
نوشته اصلی توسط
rezaonline.net
شما با فریم ورک Yii کار میکنید ؟
اگه جواب مثبته چرا بالا از mysqli استفاده کردید ؟
اگه جواب منفیه چرا از Yii::$app استفاده کردید ؟
سلام
بله از yii استفاده می کنم
با mysqli دیدم مشکلی نداره و بهش دقت نکرده بودم
یه چند وقتیه باهاش کار میکنم حدود شش ماهه
دستورش آپدیت کردنش رو به تنهایی نمی دونم و تاریخ ها برام آپدیت نمی شدن
برای همین رفتم توی قسمت مطالب توی پنل مدیریت
اونجا که مطلب به مطلب رو نشون میده
دستورش رو نوشتم که در صورتی که آیتم تاریخ مساوی آیتم این مطلب باشه زمانش رو بگیر و با jdate تبدیل کن به تاریخی که می خوام
صفحه رو که باز کردم تعداد مطالب ده تا توی صفحه بودن و 10 تا مطلب صفحه ای که باز کرده بودم دیدم تاریخشون درست شده
بعد گفتم 1000 مطلبش کنم
صفحه رو رفرش کردم تاریخ اون هزار مطلب درست شد
فقط می شه بی زحمت نگاه کنید ببنید کد بالای من چه مشکلی داشت چون هرکاری کردم هیچ جایی از سایت کار نکرد
با تشکر و آرزوی موفقیت