رفتن به مطلب

سوالات پی اچ پی


milad19

ارسال‌های توصیه شده

باسلام


بعد از مدتی تصمیم گرفتم ورژن جدید برنامم رو طراحی کنم چون برنامم سمت سرور هست نیاز به فایل های پی اچ پی دارم اما متاسفانه از این زبان چیزی نمیدونم


یه چند تا درخواست دارم که اگر مدیران اجازه بدن میخوام داخل یک تاپیک سوالاتم رو بپرسم


اول اینکه بگم من طبق آموزش دیتابیس آنلاین با قابلیت لایک دارم برنامم رو طراحی میکنم


حالا اولین سوالم


چطور میتونم در پی اچ پی تعریف کنم که مثلا از سمت برنامه یه عدد(به عنوان آیدی پست در دیتابیس) بفرستم و داخل پی اچ پی بیاد و برام بقیه اطلاعات مثل عنوان و متن و... رو نمایش بده؟


لینک ارسال
به اشتراک گذاری در سایت های دیگر

ایدی که میخوای بفرستی را با متد post بفرست .یا میتونی با اضافه کردن متغیر مورد نظرت به اخر ادرس فایل php اونو بخونی .

مثلا ادرست این میشه

http://answercenter.ir/index.php?id=x

x باید همون عدد ایدی باشه

بعد هم داخل فایل index.php به صورت زیر میخونیش

$id=$_GET['id'];

اگه متد post بود باید بجای get از post استفاده کنی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بقیش هم که باید داخل فایل پی اچ پی یه کوری بنویسی برای دیتابیست که اطلاعاتی که می خوای رو فرا خونی کنه و اونا رو fetch کنی بعد echo کنی که تو رویداد jobdone داخل برنامت برگرده.

آخرشم که داخل jobdone تو برنامت از اطلاعاتی که برگشته استفاده کنی.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

 سلام

اول کار اینو دانلود کن : دانلود

 

دوتا فایل داخلش هست یکی class_mysql.php که توصیه میکنم اصلا این فایلو باز هم نکنی کوچک ترین تغییری کل برانامه را خراب میکنه . یکی هم config.php این فایل را ادیت کن این قسمتش :

	define("LOCALHOST" , "localhost");
	define("DBNAME" , "parscoding");
	define("USERNAME" , "root");
	define("PASSWORD" , "");

اطلاعات دیتابیست را واردش بکن . این ثابت هست به محتوا سمت چپ کاری نداشته باش سمت را که مثلا نوشتم localhost اسم هاستتون بذار ( اگه از هاست رایگان استفاده میکنی خود هاستینگ اینو بهت میده اگه هاستت تجاری اینو تغییر نده ) بعدش parscoding که اسم دیتابیستو بجای این بذار و root یوزر دیتابیست روبریو PASSWORD هم که خالی هستش پسورد دیتابیستو بذار

خب حالا ذخیره کن و دیگه به این فایل های کاری نداشه باش

یک توضیح کوچیک بدم  فایل class_mysql.php یک فایل شیگرایی برای ارتباط راحت با دیتابیس هست من هشت سال پیش اینو نوشتم برای اسکریپت هایی که میساختم از این استفاده میکردم امنینش خوبه فایل config.php هم که مشخصه اطلاعات دیتابیستو میذاری و فایل شیگرایی را زیرش اجرا میکنه .

خب حالا برای خودت یه فایل به هر اسمی که میخوای بذار اینو اول فایل بنویس :

<?php 
require("config.php");
?>

حالا برای کاری که گفتی یعنی ارجاع یک آیدی و سلکت محتوا از دیتابیس از این کد میتونی استفاده کنید :

<?php 
if(isset($_POST['id'])){
	$query = $db->query('SELECT * FROM tablename WHERE id="'.$_POST['id'].'"');
	while($select = $db->fetch_object($query)) {
		echo $select->fildname;
	}
}
?>

سوال دیگه ای بود بپرس

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام مجدد

ممنون از راهنمایی های دوستان

ببخشید حالا من میخوام پست هام رو بر اساس تعداد پسند نمایش بدم از کد زیر برای سلکت استفاده میکنم اما مشکلی که داره اینکه میاد پست ها رو ای

نجوری دسته بندی میکنه

عدد آخر عنوان پست برابر با تعداد لایک ها
مثلا پست10،10 لایک داره
مثلا 12 پست دارم
اینجوری لیست میکنه
پست9
پست8 
پست7
پست6
پست5
پست4
پست3
پست2
پست12****
پست11****
پست10****
پست1

اینک کد

SELECT * FROM tblname ORDER BY LIKE DESC 
لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام . این اصولی نیست . شما باید برای لایک یک تیبل دیگه درست کنید که آی دی رکورد ها ثبت بشه آی دی پست ثبت بشه و آی دی لایک کننده بعد بیایید تعداد رکورد هارو count کنید و عدد درست را بدست بیارید .

یعنی قانونا نباید تعداد لایک ثبت بشه برای هر لایک باید یک رکورد ثبت بشه :) در ضمن DESC در اینجور کد ها بر اساس طول رشته کار میکنه و عدد داخل فیلد اهمیت نداره یعنی تو کدی که شما نوشتی بالا گذاشتی عدد 2 بزرگتر از 100000000 هست و همچنین عدد 12 بزرگتر از 111111 هست طول رشته اهمیت داره عدد داخل فیلد مهم نیست مثال ساده تر بزنم در طول رشته عدد اول 1 هست عدد دوم 2 خب این رشته بزرگتر از رشته ای هست که عدد اولش 1 هست و عدد دوم هم 1 :)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببخشید الآن راه حل چیه؟

یه تیبل دارم که داخلش سریال تفلن هایی که لایک میکنن ثبت میشه

از اون میشه استفاده کرد؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببینید شما باید یک تیبل لایک جدا داشته باشید تمام اسکرریپت هایی که تا حالا نوشته شدن برای دقت در شمارش لایک همگی تیبل لایک را جدا میکنند مثلا شما یک تیبل داری که یک سیری متن توش ثبت شده به این صورت :

 

car5qh9abz6n55gzg.jpg

 

حالا میخوای برای این امکان لایک بذاری یک تیبل درست میکنی به این صورت :

 

haocbglptp75s9ozg.jpg

 

 

خب دیگه همه چی مشخصه حالا شمردن تعداد لاک هر پست راحته میای یک شرط میذاری که اگه آی پست  برای post_id بود تعداد رکورد هارو count کنه

برای مثال تو تیبل بالا پست 1 سه تا لایک داره پست 2 یکی لایک داره

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون از توضیحاتتون

این یه کاریش میکنم

سوال بعدی که قول میدم آخری باشه
:D

من برای سرچ از Like استفاده میکنم

http://www.w3schools.com/sql/sql_like.asp

متاسفانه برای حروف انگلیسی خوب کار میکنه اما حروف فارسی اصلا کاربردی نداره

روش دیگه ای برای سرچ هست؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

همه از like استفاده میکنند دیتابیستون به درستی با UTF-8 ست باشه مشکلی نخواهد بود . مقع ساخت دیتابیس باید کلیکیشن را UTF-8 انتخاب کنید توی برنامه دیتابیس را باید با UTF-8 ست کنید
 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

توی برنامه ست نیست وگرنه مشکلی نباید وجود داشته باشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

نه اصلا هنوز داخل برنامه تست نکردم

فعلا دارم روی خود سایت تست میکنم و نمیشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

منظورم با برنامه php هست منظورم اینطوری هست : http://php.net/manual/en/function.mysql-set-charset.php

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام مجدد

درمورد اون سرچ با استفاده از LIKE خیلی جاها گفتن برای رفع مشکل سرچ حروف فارسی باید نوع جدول NVARCHAR باشه
متاسفانه هرچی گشتم این نوع تایپ رو پیدا نکردم اگه از دوستان کسی اطلاعاتی در این زمینه به من بدید ممنون میشم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این کوئری رو قبل از جستجو (کوئری کردن ردیف‌ها) اجرا کنید:

SET NAMES utf8
لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...