رفتن به مطلب

استفاده از متغییر در کوئری


پست های پیشنهاد شده

با سلام خدمت تمایی دوستان و اساتید محترم

می خوام در یک کوئری مقدار برگشتی یه منغییر رو نمایش بدم این پست رو هم مطالعه کردم ولی مشکل برطرف نشد من در یک صفحه مثلا query.php متغییری دارم با

عنوان $text که این متغییر از طریق صفحه ای با نام فرضی X.php مقداری درش ریخته میشه مثلا کلمه wordpress ,حالا من می خوام مقدار این متغییر رو در صفحه

query.php و در کوئری زیر روبری Category_name در خط 1 قرار بدهم :


<?php
$my_query = new WP_Query('showposts=10&category_name=$text;');
if ($my_query->have_posts()):
while ($my_query->have_posts()):
$my_query->the_post();
$do_not_duplicate = $post->ID;?>
<li ><a href="<?php the_permalink(); ?>" ><?php the_title(); ?></li>
<?php endwhile;?>
<?php endif; ?>
<?php wp_reset_query();?>

در ضمن با ارسال مقدار متغییر $text به صفحه query.php مشکلی ندارم و به راحتی میتونم پاسش بدم و فرض کنید که متغییر $text در حال حاضر حاوی مقدار و کلمه wordpress هستش فقط مشکلم اینه که چطور مقدار $text که کلمه wordpress رو به این صفحه پاس داده رو روبروی Caregory_name قرار بدم که کوئری درست کار کنه و مطالب

دسته مورد نظر که wordpress هست رو به درستی نمایش بده

ممنون از شما

ویرایش شده توسط poolmaster
لینک به ارسال

اگر متغیر قرار نیست جایی ثبت بشه که بخواهیم از اونجا فراخوانیش کنیم یکی از بهترین راه ها ارسال با استفاده از متد GET است


if(isset($_GET['text'])) {
$text = $_GET['text'];
}

ولی اگر جایی ثبت بشه ساخت تابع و قرار دادن $text به عنوان متغیر تابع


function my_query($text) {
$my_query = new WP_Query('showposts=10&category_name='.$text);
if ($my_query->have_posts()):
while ($my_query->have_posts()):
$my_query->the_post();
$do_not_duplicate = $post->ID;?>
<li ><a href="<?php the_permalink(); ?>" ><?php the_title(); ?></a></li>
<?php endwhile;?>
<?php endif; ?>
<?php wp_reset_query();
}

در واقع باید ببینید متغییر در کجا قراره تغییر کنه و کجا این تغییر را ثبت می کنید

در وردپرس متاهای مشخصی برای ذخیره اطلاعات وجود دارند که فراخوانیشون هم توابع تعریف شده خودش رو داره

دقیقا کاری که می خواهید انجام بشه را بفرمایید تا بشه بیشتر کمک کرد

لینک به ارسال

بسیار عالی استاد تا اینجا هم که توضیح دادید کافیه و مشکلم حل شد انشاا... همیشه موفق باشید ;)

استاد یه سوال دیگه هم دارم نحوه چاپ کردن یه مقداری مثل یک لینک در دستورات jquery به چه صورته یعنی مثل مثال بالا یعنی به فرض باز همون فایل x.php رو داریم که درش یک تکست باکس هست که درون اون لینک google.com رو وارد می کنیم و ذخیره میکنیم حالا چطور این مقدار لینک رو به یه فایل js و دستور جی کوئری بصورت زیر ارسال کنیم که لینک در جای مورد نظر در کد زیر که به فارسی نوشتم قرار بگیره چاپ و قرار بگیره؟:


sections.click(function(){
//show the loading bar
showLoading();
//load selected section
switch(this.id){
case "new":
content.fadeTo("slow",0.3);
content.load("محل چاپ و قرار گیری لینک ارسال شده", hideLoading);
content.fadeTo("slow",1);
break;

من لینک مورد نظر رو توسط تعریف یک متغییر در سند php براحتی echo می کنم ولی نحوه echo رو درجی کوئری نمی دونم بطور کلی کد بالا مقداری رو باید از این لینک ارسالی بگیره و در محل مورد نظر لود کنه البته این بخشی از کد هست که قراره لینک رو بگیره...

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

ویرایش شده توسط poolmaster
لینک به ارسال

اگر منظورتون لود آژاکسی بخشی از یک پیوند بخه وسیله جی کوئریه


<a href="http://link.com" id="main">link</a>
<script type="text/javascript">
jQuery('#main').live('click', function(e){
e.preventDefault();
var link = jQuery(this).attr('href');
jQuery('#content').fadeOut(100).load(link + ' #contentInner', function(){ jQuery('#content').fadeIn(100); });
});
</script>

اگر منظورتون چاپ php در جی کوئریه اصل سند باید php باشه


sections.click(function(){
//show the loading bar
showLoading();
//load selected section
switch(this.id){
case "new":
content.fadeTo("slow",0.3);
content.load("<?php echo $link;?>", hideLoading);
content.fadeTo("slow",1);
break;

لینک به ارسال

استاد منظورم همین مورد دوم بود

بسیار عالی واقعا از زحماتی که می کشید و بدون منت در کمترین زمان پاسخ گو هستید و دانشتون رو در اختیار ما می گذارید صمیمانه سپاسگذارم

موفق باشید...

ویرایش شده توسط poolmaster
لینک به ارسال

اگه قراره نشانیتون متغیر باشه باز هم با ساخت تابع باید پیش برید مثال:

فرض کنیم لیستی داریم که چند لینک را در یک دایو با کلاس my-link نمایش می ده و شما می خواهید با کلیک بر روی هر کدوم بجای باز شدن نشانی لینک یک اسکریپت اجرا بشه که در متن اون اسکریپت به داشتن نشانی لینک هم احتیاج دارید

این کار را می کنیم


jQuery('.my-link a').live('click', function(e){
e.preventDefault();
var link = jQuery(this).attr('href');
section(link);
}
function section(link){
//show the loading bar
showLoading();
//load selected section
switch(this.id){
case "new":
content.fadeTo("slow",0.3);
content.load(link, hideLoading);
content.fadeTo("slow",1);
break;
}

لینک به ارسال

استاد منظورم همین مورد دوم بود

بسیار عالی واقعا از زحماتی که می کشید و بدون منت در کمترین زمان پاسخ گو هستید و دانشتون رو در اختیار ما می گذارید صمیمانه سپاسگذارم

موفق باشید...

اگه قراره نشانیتون متغیر باشه باز هم با ساخت تابع باید پیش برید مثال:

فرض کنیم لیستی داریم که چند لینک را در یک دایو با کلاس my-link نمایش می ده و شما می خواهید با کلیک بر روی هر کدوم بجای باز شدن نشانی لینک یک اسکریپت اجرا بشه که در متن اون اسکریپت به داشتن نشانی لینک هم احتیاج دارید

این کار را می کنیم


jQuery('.my-link a').live('click', function(e){
e.preventDefault();
var link = jQuery(this).attr('href');
section(link);
}
function section(link){
//show the loading bar
showLoading();
//load selected section
switch(this.id){
case "new":
content.fadeTo("slow",0.3);
content.load(link, hideLoading);
content.fadeTo("slow",1);
break;
}

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

باز هم ازتون تشکر میکنم و صمیمانه بابت زمانی که می گذارید و در کوتاه ترین زمان پاسخ گو هستید سپاسگذارم

موفق باشید...

ویرایش شده توسط poolmaster
لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...