جہانزیب
محفلین
میرا سوال یہ ہے کہ پی ایچ پی میں While loop کے ساتھ، if, elseif اور else تینوں کا ایک ہی دفعہ میں استعمال کیسے کیا جائے گا؟ میں اپنے بلاگ کا ہوم پیج بنانے کی پچھلے دو تین دن سے کوشش کر رہا ہوں ۔ وہاں کرنا یہ چاہتا ہوں کہ سب سے پہلے تازہ ترین تحریریں تین عدد دکھائی جائیں، اس کے بعد مختلف زمرہ جات میں سے تین عدد تحاریر بھی ہوم پیج پر موجود ہوں ۔ یہ کرنا آسان ہے ۔ مشکل یہ ہو رہی ہے کہ جیسے زمرہ سیاست میں ایک نئی تحریر لکھی جائے ،اور سیاست کا زمرہ کی تین تحریریں ہوم پیج پر موجود ہوں ۔ تو نئی تحریر ہوم پیج پر دو دفعہ آ جائے گی ۔ یا زمرہ امریکہ اور سیاست دونوں کی تحریریں ہوم پیج پر ہیں، اور ایک تحریر لکھی جائے جو کہ دونوں کا حصہ ہو، وہ بھی ہوم پیج پر دو دفعہ نظر آئے گی ۔ اس سلسلے میں ورڈپریس لوپ بھی پڑھا ہے،اور اسی کے مطابق مندرجہ ذیل کوڈ لکھا ہے، لیکن کام نہیں بن رہا ۔
اس loop سے تازہ ترین تین تحاریر دکھائی جا رہی ہیں، جو درست نظر آ رہی ہیں، اس کے ساتھ ہی Variable میں بتایا گیا ہے کہ پوسٹ کی آئی ڈی کو ملخوظ رکھنا ہے اور اگلا لوپ جس میں زمرہ میں تین عدد تحاریر دکھانا مقصود ہے اسکا کوڈ مندرجہ ذیل طریقہ سے لکھا گیا ہے ۔
اوپر والا کوڈ لکھنے سے Parse error آ جاتا ہے ، جبکہ اگر میں elseif کو نکال دوں تو صفحہ نظر آجاتا ہے لیکن تحاریر پھر بھی دو دفعہ نظر آ رہی ہیں؟
PHP:
<?php $latest=new WP_Query ('cat=&showposts3');
while ($latest->have_posts()) : $latest->the_post();
$do_not_copy = $post ->ID; ?>
<?php post_title(); ?>
<?php the_content(); ?>
<?php endwhile : ?>
اس loop سے تازہ ترین تین تحاریر دکھائی جا رہی ہیں، جو درست نظر آ رہی ہیں، اس کے ساتھ ہی Variable میں بتایا گیا ہے کہ پوسٹ کی آئی ڈی کو ملخوظ رکھنا ہے اور اگلا لوپ جس میں زمرہ میں تین عدد تحاریر دکھانا مقصود ہے اسکا کوڈ مندرجہ ذیل طریقہ سے لکھا گیا ہے ۔
PHP:
<?php query_posts('cat=3&showposts=3');
while (have_posts()) : the_post();
if ($post->ID == $do_not_copy) continue; update_post_cache($posts);
elseif (get_post_meta($post, "thumbnail", true) ) : ?>
<?php post_title(); ?>
<?php the_content(); ?>
<?php endif: endwhile: ?>
اوپر والا کوڈ لکھنے سے Parse error آ جاتا ہے ، جبکہ اگر میں elseif کو نکال دوں تو صفحہ نظر آجاتا ہے لیکن تحاریر پھر بھی دو دفعہ نظر آ رہی ہیں؟