عرض المواضيع تحت تصنيفات معينة

كل مايخص سكربتات وتساؤلات لغة PHP
مغلق
Saif Alhak
عضو مفيد
مشاركات: 107
اشترك في: 24 مارس 2009, 20:45
مكان: Damascus - Syria
اتصال:

عرض المواضيع تحت تصنيفات معينة

مشاركة بواسطة Saif Alhak »

السلام عليكم ورحمة الله وبركاته

لدي سكربت يمكنني من خلاله انشاء أقسام أو تصنيفات رئيسية وفرعية وبداخل التصنيفات أضيف مقالات

ولدي دوال عرض التصنيفات الرئيسية والفرعية:



كود: تحديد الكل

function catgory() {
global  $htmlorphp;

$Sql = mysql_query("SELECT * FROM catgory where sub=0 AND active=1 order by id desc");

$numberx = mysql_num_rows($Sql);

if($numberx == 0){
$printcats = "<p align='center'>No Catgory</p>";
}else{

$printcats = "<ul>";

while ($Row = @mysql_fetch_array($Sql))
{
$Row['title'] = stripslashes($Row['title']);
$Row['title'] = htmlspecialchars($Row['title']);

if ($htmlorphp=="1"){
$l = "sections-".$Row['id'].".html";
}else{
$l = "sections.php?id=".$Row['id']."";
}

$queryxc = mysql_query("SELECT * FROM pages where catgoryid='".$Row['id']."' AND active=1");
$numberx = mysql_num_rows($queryxc);

$Sqlx = mysql_query("SELECT * FROM catgory where sub='".$Row['id']."' AND active=1 order by id desc");
$numberxx = mysql_num_rows($Sqlx);
if($numberxx == 0){
$li = "";
}else{
$li = "<ul>";
while ($Rowx = @mysql_fetch_array($Sqlx))
{
$Rowx['title'] = stripslashes($Rowx['title']);
$Rowx['title'] = htmlspecialchars($Rowx['title']);

$queryxcs = mysql_query("SELECT * FROM pages where catgoryid='".$Rowx['id']."' AND active=1");
$numberxs = mysql_num_rows($queryxcs);

if ($htmlorphp=="1"){
$lx = "sections-".$Rowx['id'].".html";
}else{
$lx = "sections.php?id=".$Rowx['id']."";
}
$li .= "<li><a class='tt' title='".$numberxs."' href='$lx'>".$Rowx['title']."</a> <span class='tt'>[".$numberxs."]</span></li>";
}
$li .= "</ul>";
}

$printcats .= "<li><a href='$l'>".$Row['title']."</a> <span class='tt'>[".$numberx."]</span>".$li."</li>";

}
$printcats .= "</ul>";
}

return $printcats;
}





ودوال عرض المواضيع داخل كل تصنيف



كود: تحديد الكل

function sections() {
global $id,$htmlorphp,$article_limit;

$Sqlxxx = mysql_query("SELECT * FROM catgory where sub='$id' AND active=1 order by id desc");
$numberxx = mysql_num_rows($Sqlxxx);

$printcats = cat($id);

$page = (int) (!isset($_GET["page"]) ? 1 : $_GET["page"]);
$page = ($page == 0 ? 1 : $page);
$perpage = $article_limit;
$startpoint = ($page * $perpage) - $perpage;


$Sql2 = mysql_query("SELECT id,title,date,visitor FROM pages where catgoryid='$id' AND active=1 order by id desc LIMIT $startpoint,$perpage");
$numbercat = mysql_num_rows($Sql2);
if($numbercat == "0"){

if($numberxx == 0){
$printcats .= "<p align='center'>No Topics</p>";
}else{
$printcats .= "";
}

}else{

if($numberxx == 0){
$printcats .= "";
}else{
$printcats .= "<br />";
}

$printcats .= "<ul>";
while ($Row = @mysql_fetch_array($Sql2))
{
$Row['title'] = htmlspecialchars($Row['title']);
$Row['title'] = stripslashes($Row['title']);

$d = date("j/n/Y",$Row['date']);

if ($htmlorphp=="1"){
$l = "details-".$Row['id'].".html";
}else{
$l = "page.php?details=".$Row['id']."";
}

$printcats .= "<li><a title='$d' href='$l'>".$Row['title']."</a></li>";

}

$printcats .= "</ul>";

}

return $printcats;
}




ودوال عرض المواضيع الأحدث أولاً وكلها مع بعض من مختلف التصنيفات




كود: تحديد الكل

function articles() {
global $htmlorphp,$article_limitindex,$viewimagethumbs;

$Sql = mysql_query("SELECT * FROM pages where active=1 order by id DESC LIMIT ");

$numbers = mysql_num_rows($Sql);

if($numbers == "0"){
echo "<p align='center'>No Article</p>";
}else{
while ($Row = @mysql_fetch_array($Sql))
{
$Row['title'] = stripslashes($Row['title']);
$Row['title'] = htmlspecialchars($Row['title']);

$Row['shortdesc'] = stripslashes($Row['shortdesc']);
$Row['shortdesc'] = htmlspecialchars($Row['shortdesc']);

$d = date("j/n/Y",$Row['date']);

if($Row['shortdesc']==""){
$Row['text'] = stripslashes($Row['text']);
$Row['text'] = strip_tags($Row['text']);
$ttt = cuttext(500,nl2br($Row['text']),"");
}else{
$ttt = $Row['shortdesc'];
}

$queryxc = mysql_query("SELECT * FROM catgory where id='".$Row['catgoryid']."' AND active=1");
$pc = mysql_fetch_array($queryxc);
$pc['title'] = stripslashes($pc['title']);
$pc['title'] = htmlspecialchars($pc['title']);

if ($htmlorphp=="1"){
$xx = "<a href='details-".$Row['id'].".html'>".$Row['title']."</a>";
$xx2 = "<a href='sections-".$Row['catgoryid'].".html'>".$pc['title']."</a>";
}else{
$xx = "<a href='page.php?details=".$Row['id']."'>".$Row['title']."</a>";
$xx2 = "<a href='sections.php?details=".$Row['catgoryid']."'>".$pc['title']."</a>";
}

tpl_table($xx,$ttt."<br />");
echo "<br />";
}

}

}




الفكرة يلي أسعى للحصول عليها وتعديلها ويلي مازبط معي هي بآخر دوال يعني الدوال عم يعرض آخر المقالات حسب الأحدث
وبغض النظر عن السم أو التصنيف

أنا بدي صير يعرض تصنيفات الموقع الرئيسية وليست الفرعية
وتحت كل تصنيف يعرض مواضيع منه ومن أي تصنيف فرعي بعدد محدد 5 مثلاً

يعني يصير عنا

>> التصنيف الأول:
- مقالة أولى من التصنيف الأول
- مقالة ثانية
- مقالة ثالثة من تصنيف فرعي بالتصنيف الأول

>> التصنيف الثاني:
- مقالة أولى
- مقالة ثانية
- مقالة ثالثة

وهكذا

حاولت كثيراً ولم أفلح كيف رح يكون العمل يعني كيف رح يصنف المقالات تحت أقسامها ... :o :o :o :o
saanina
عبدالرحمــــن
مشاركات: 3762
اشترك في: 30 أغسطس 2004, 13:54

رد: عرض المواضيع تحت تصنيفات معينة

مشاركة بواسطة saanina »

لن اقرا الاكواد
لكن الفكره هي عمل نوعين من الاقسام , قسم اساسي وقسم فرعي

قم بالبدايه بجلب كل الاقسام الاساسيه وتخزينه بمصفوفه وجلب كل الاقسام الفرعيه وتخزينه داخل كل عنصر بصفوفه الاقسام الاساسيه

المقالات تعطيها رقم القسم الاساسي ورقم القسم الفرعي بحيث عند تخزينها يصبح كالتالي

كود: تحديد الكل

$cats[1][13] = 'title' ..  

بحيث 1 تصنيف اساسي و 13 تصنيف فرعي داخله ! والمصفوفه هذي هي نفس مصفوفه الاقسام الاساسيه


كلامي كانه طلاسم , اعلم

لكن افضل حل هو ان تقرا اكواد مجلة او اي سكربت فيه اقسام فرعيه

اعذرني لااستطيع مواصله النقاش بهذا الباب

بالتوفيق
Saif Alhak
عضو مفيد
مشاركات: 107
اشترك في: 24 مارس 2009, 20:45
مكان: Damascus - Syria
اتصال:

رد: عرض المواضيع تحت تصنيفات معينة

مشاركة بواسطة Saif Alhak »

أخي عبد الرحمن بالفعل كأنها طلاسم ...
أول شي الموضوع مو أنو كيف بدي أعمل أقسام وبداخلها أقسام فرعية ... لا

الموضوع عندي سكربت يقوم بعمل أقسام وأقسام فرعية وبداخلها مقالات
السكربت يعرض على الصفحة الرئيسية له آخر مثلا 10 مقالات حسب الأحدث

أريده أن يعرض كل الأقسام الرئيسية وتحت كل قسم
مجموعة من المقالات بداخله ولنفرض 5

ومن ثم لماذا "اعذرني لااستطيع مواصله النقاش بهذا الباب" ... ما المشكلة
phpfalcon
بـــدر
مشاركات: 565
اشترك في: 26 فبراير 2009, 03:56

رد: عرض المواضيع تحت تصنيفات معينة

مشاركة بواسطة phpfalcon »

نصيحتي لك قم بتطوير نفسك برمجيا من خلال الممارسه يوميا وقراءة الاكواد بتمعن وفهمها جيدا ستستطيع حينها ان تصمم افضل السكربتات
Saif Alhak
عضو مفيد
مشاركات: 107
اشترك في: 24 مارس 2009, 20:45
مكان: Damascus - Syria
اتصال:

رد: عرض المواضيع تحت تصنيفات معينة

مشاركة بواسطة Saif Alhak »

إن شاء الله تعالى

شكراً لكم جميعاً
Saif Alhak
عضو مفيد
مشاركات: 107
اشترك في: 24 مارس 2009, 20:45
مكان: Damascus - Syria
اتصال:

رد: عرض المواضيع تحت تصنيفات معينة

مشاركة بواسطة Saif Alhak »

السلام عليكم ورحمة الله وبركاته

أخي عبد الرحمن و أخي phpfalcon شكراً لتفاعلكما مع الموضوع
ولقد توصلت للدوال التالي وهو يعمل بكفاءة عالية جداً .... ولكن أنتم ذوو خبرة فأرجو أن أعرف هل يحتوي على نقاط ضعف أو سلبيات ؟؟

الدوال هو



كود: تحديد الكل

function artbycat($idcat) {
   global  $htmlorphp;
   $Sql = mysql_query("SELECT * FROM catgory where sub='$idcat' AND active=1 order by orders ASC");
   $numberx = mysql_num_rows($Sql);
   if($numberx == 0){
      if($idcat==0){
         echo "<p align='center'>عذرا لايوجد أقسام حاليا</p>";
      }else{
         echo "";
      }
   }else{
      echo "<div align='center'>
  <center>
<table class='xtable' cellpadding='2' cellspacing='2' width='100%' style='border-collapse: collapse'>";
      $tslsls = '0';
      while ($Row = @mysql_fetch_array($Sql))
      {
         ++$tslsls;
         if($tslsls=="2"){
            $tslslats = "</tr><tr>";
            $tslsls="0";
         }else{
            $tslslats = "";
         }
         $Row['title'] = stripslashes($Row['title']);
         $Row['title'] = htmlspecialchars($Row['title']);
         if ($htmlorphp=="1"){
            $l = "sections-".$Row['id'].".html";
         }else{
            $l = "sections.php?id=".$Row['id']."";
         }
         $xx = "<a href='$l'>".$Row['title']."</a>";
         $nt = "<table class='xtable' width='100%' id='AutoNumber15' dir='rtl'>
<tr>
<td colspan='2' class='menu_xt2' align='right'><h1>$xx</h1></td> 
</tr>";
         echo "<td width='50%' valign='top'>".$nt."</td>";
         $queryxc = mysql_query("SELECT * FROM pages where catgoryid='".$Row['id']."' AND active=1 order by id desc LIMIT 5");
         $numberx = mysql_num_rows($queryxc);
         if($numberx == "0"){
            $aaa = "هذا القسم لايحوي أي خبر حالياً !";
            $nt = "<tr><td class='divnn' align='right'>$aaa</td></tr>";
            echo "".$nt."" ;
            echo "</table>" ;
            echo "$tslslats" ;
         }else{
            while ($Row = @mysql_fetch_array($queryxc))
            {
               $Row['title'] = stripslashes($Row['title']);
               $Row['title'] = htmlspecialchars($Row['title']);
               if ($htmlorphp=="1"){
                  $xxy = "<a href='details-".$Row['id'].".html'>".$Row['title']."</a>";
               }else{
                  $xxy = "<a href='page.php?details=".$Row['id']."'>".$Row['title']."</a>";
               }
               $nt = "<tr><td class='divnn' align='right'><li>$xxy</li></td></tr>";
               echo "<ul>" ;
               echo "".$nt."" ;
               echo "</ul>" ;
            }
            echo "</table>" ;
         }
         echo "$tslslats" ;
      }
      echo  "</table>
  </center>
</div>";

   }

}
saanina
عبدالرحمــــن
مشاركات: 3762
اشترك في: 30 أغسطس 2004, 13:54

رد: عرض المواضيع تحت تصنيفات معينة

مشاركة بواسطة saanina »

مادام انه يعمل حاليا فالحمدلله
صدقني سترجع له بعد شهر وتعرف مواطن الضعف بنفسك , لاتتعب نفسك حاليا بتتبع اخطاءك البسيطة

بالتوفيق
Saif Alhak
عضو مفيد
مشاركات: 107
اشترك في: 24 مارس 2009, 20:45
مكان: Damascus - Syria
اتصال:

رد: عرض المواضيع تحت تصنيفات معينة

مشاركة بواسطة Saif Alhak »

صدقني سترجع له بعد شهر وتعرف مواطن الضعف بنفسك


هل أفهم من كلامك أن الدوال يحوي أخطاء !!!
مغلق