توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : جلوگیری از ثبت داده تکراری در دیتابیس
seosaz
October 19th, 2019, 16:49
سلام
وقت بخیر
ببخشید کسی میتونه تو کد زیر بهم کمک کنه؟
من کد زیر رو درست کردم برای اینکه لینک های یک صفحه رو دربیارم و توی دیتابیس ذخیره کنم ولی هرکاری میکنم باز لینک های تکراری ذخره میشن
نمیدونماشتباه رفتم راه رو یا چی باعث شده که تکراری ها ثبت بشن کد اصلی من اینه اینو میخوام گاری کنم لینک تکرای ثبت نکنه توی دیتابیس
لطفا کمکم کنید
CREATE TABLE IF NOT EXISTS `site_data` (
`id` int(11) NOT NULL,
`author` varchar(500) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL,
`title` varchar(1000) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL,
`tags` varchar(1000) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;
iran20host
October 19th, 2019, 19:09
سلام و عرض ادب
احتراما باید در دیتابیس key تعریف کنید.
یعنی این فیلدی که شما میخواهید تکراری ثبت نشه داخل دیتابیس باید یک نوع ایندکس باشه.
seosaz
October 20th, 2019, 18:08
سلام
میشه بیشتر توضیح بدید یا لینکی که آموزش کامل داده همراه با مثال بهم بدید
من هرچی گشتم پیدا نکردم
این کد من باید چه شکلی بشه؟ میشه توی کد تغیر اعمال کنید ممنون میشم
lizard.tiny
October 20th, 2019, 20:20
سلام
توی دیتاهایی که ثبت میکنید آدرس url رو هم توی دیتابیس ذخیره کنید
موقع execute یا ذخیره کردن اطلاعات جدید توی دیتابیس, برسی کنید اگر URL توی دیتابیس موجود بود از import کردن صرف نظر کنید
البته میتونید برای اینکار یک کد uniq هم بسازید
مثلاً بجای ذخیره کردن url از عنوان استفاده کنید
iran20host
October 20th, 2019, 20:29
کد دتابیس:
CREATE TABLE IF NOT EXISTS `site_data` (
`ID int NOTNULLUNIQUE,
`author` varchar(500) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL,
`title` varchar(1000) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL,
`tags` varchar(1000) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;
ID int NOT NULL UNIQUE
اینو تست بفرمایید.
seosaz
October 20th, 2019, 21:12
منظورتون اینه اینجوری بنزنم:
کد:
CREATE TABLE IF NOT EXISTS `site_data` (
`ID` int NOT NULL UNIQUE,
`author` varchar(500) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL,
`title` varchar(1000) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL,
`tags` varchar(1000) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;
- - - Updated - - -
منظورتون اینه اینجوری بنزنم:
کد:
CREATE TABLE IF NOT EXISTS `site_data` (
`ID` int NOT NULL UNIQUE,
`author` varchar(500) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL,
`title` varchar(1000) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL,
`tags` varchar(1000) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;
اگه منظورتون اینه با همین روش هم باز همونجوری تکراری ثبت میشه
iran20host
October 21st, 2019, 00:59
منظورتون اینه اینجوری بنزنم:
کد:
CREATE TABLE IF NOT EXISTS `site_data` (
`ID` int NOT NULL UNIQUE,
`author` varchar(500) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL,
`title` varchar(1000) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL,
`tags` varchar(1000) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;
- - - Updated - - -
منظورتون اینه اینجوری بنزنم:
کد:
CREATE TABLE IF NOT EXISTS `site_data` (
`ID` int NOT NULL UNIQUE,
`author` varchar(500) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL,
`title` varchar(1000) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL,
`tags` varchar(1000) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;
اگه منظورتون اینه با همین روش هم باز همونجوری تکراری ثبت میشه
عزیز table ID مثال بود اصل کاری بونیک کردن تیبل بود شما باید لینک ها رو هم توی دیتابیس ذخیره کنید و اونم یونیک کنید که مشکلتون برطرف بشه.
seosaz
October 21st, 2019, 20:51
ID int NOT NULL UNIQUE
اینو تست بفرمایید.
منظورتون اینه؟
کد:
CREATE TABLE IF NOT EXISTS `site_data` (
`ID` int NOT NULL UNIQUE,
`author` varchar(300) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL UNIQUE,
`title` varchar(300) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL UNIQUE,
`tags` varchar(300) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL UNIQUE
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;
اینم نمیشه چرا باز نمیشه
lizard.tiny
October 21st, 2019, 22:26
نمونه کد تکمیل شده طبق نیاز شما : https://vrl.ir/umapyT
seosaz
October 22nd, 2019, 13:45
ممنون دستتون درد نکنه
:53::53::53:
- - - Updated - - -
ممنون دستتون درد نکنه
:53::53::53:
- - - Updated - - -
نمونه کد تکمیل شده طبق نیاز شما : https://vrl.ir/umapyT
ممنون دستتون درد نکنه
:53::53::53:
seosaz
October 25th, 2019, 18:42
نمونه کد تکمیل شده طبق نیاز شما : https://vrl.ir/umapyT
من توی سایتتی که دادید نشد عضو بشم هرچغدر عضویت رو زدم پر کردم فرم رو هیچ پیامی نیومد
بخاطر اون بدون عضو شذن کد رو برداشتم لطفا اگه میشه ایمل منم بعنوان کاربر عصو کنبد ممنون میشم
و سوال بعدی که داشتم برای کدی که سما لطف کردیدبرام درست کردید وقتی میخوام به کد این چیزا رو هم اضافه کنم کد همینجوری میچرخه و دیگه درست کار نمیکنه و فقط عنوان یه صفحه رو بینهایت پیدا میکنه و از اول شروع میکنه پیدا میکنه انگار توی کلی حلقه گیر کرده
من بخوام به کد شما این چندتا امکان رو هم اضافه کنم قسمت اسکرایپ کردن سایت کد چجوری میشه مثلا میخوام کد اینجوری بشه
اگه کد اول این باشه
<?php
$dom = new DOMDocument();
@$dom->loadHTML($urls);
$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate("/html/body//a");
// Dont Edit This
$dom = new DOMDocument();
@$dom->loadHTML(file_get_contents($target_url));
$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate("/html/body//a");
من توی سایتتی که دادید نشد عضو بشم هرچغدر عضویت رو زدم پر کردم فرم رو هیچ پیامی نیومد
بخاطر اون بدون عضو شذن کد رو برداشتم لطفا اگه میشه ایمل منم بعنوان کاربر عصو کنبد ممنون میشم
و سوال بعدی که داشتم برای کدی که سما لطف کردیدبرام درست کردید وقتی میخوام به کد این چیزا رو هم اضافه کنم کد همینجوری میچرخه و دیگه درست کار نمیکنه و فقط عنوان یه صفحه رو بینهایت پیدا میکنه و از اول شروع میکنه پیدا میکنه انگار توی کلی حلقه گیر کرده
من بخوام به کد شما این چندتا امکان رو هم اضافه کنم قسمت اسکرایپ کردن سایت کد چجوری میشه مثلا میخوام کد اینجوری بشه
اگه کد اول این باشه
<?php
$dom = new DOMDocument();
@$dom->loadHTML($urls);
$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate("/html/body//a");
// Dont Edit This
$dom = new DOMDocument();
@$dom->loadHTML(file_get_contents($target_url));
$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate("/html/body//a");
منظورم این هست که به قسمت دام ایکس ام ال کد اول چه چیزایی باید اضافه کنم برای اینکه بهش تایتل و دیسکریپشن و ایمج و آیکون و برچسب پست بزارم
بابات کمکتون بازم ممنونم دستتون درد نکنه دعای خیلی ها
پشتتونه
لطفا کسی کمک کنه در موزد
این کار
lizard.tiny
October 31st, 2019, 14:27
سلام
توی سایت miladworkshop.ir ثبت نام کنید, با اکانت سایت میلاد ورک شاپ میتونید توی سایت https://askoverflow.ir (https://askoverflow.ir/) لاگین کنید
seosaz
November 3rd, 2019, 15:44
سلام
توی سایت miladworkshop.ir ثبت نام کنید, با اکانت سایت میلاد ورک شاپ میتونید توی سایت https://askoverflow.ir (https://askoverflow.ir/) لاگین کنید
سلام قسمت دوم سوال رو میشه کمکم کنید
من چندتا کد ساختم با این کدی که دادم بهتون ولی همشون گیر میکنن مثلا یکیشون کلا دیگه احرا کد تموم نمیشه توی چندتاشون حطای میزنه که تایتل وجود نداره و ... وجود نداره متغیرش رو نداری
مثلا کد:
<?php
$url=$_GET["url"];
function getta($url) {
// Extract HTML using curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($ch);
curl_close($ch);
// Load HTML to DOM Object
$dom = new DOMDocument();
@$dom->loadHTML($data);
// Parse DOM to get Title
$nodes = $dom->getElementsByTagName('title');
$title = $nodes->item(0)->nodeValue;