Köşe yazıları bloğu

Begonnen von Baran, 12 März 2009, 13:45:23

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Baran

merhaba arkadaşlar..

bir iki haftadır uğraşıyorum, bir çok php-nuke sitesine sorduğum halde, net bir cevap alamadım.

şimdi sitede çok fazla yazar olduğu için ben kısıtlamak istiyorum.

Yani haberler blogu gibi 10 tane yapmak istiyorum, her yeni eklenen yazı başa gelecek şekilde, bir türlü kod yazamadım..

size blogun kodunu yazayım, yapabilirseniz sevinirim...

<?php

/************************************************************************/
/* PHP-NUKE: Web Portal System                                          */
/* ===========================                                          */
/*                                                                      */
/* Copyright (c) 2002 by Francisco Burzi                                */
/* http://phpnuke.org                                                   */
/*                                                                      */
/*       Bu blok Köşe Yazıları bölümü için özel yapılmıştır.            */
/*        İstediğiniz gibi kullanabilir editleyerek başka bir           */
/*              modüle uyarlayabilirsiniz                               */
/*  Bloğu Yazan      www.bankaciyiz.biz                                 */
/*  email adresi:   webmaster@bankaciyiz.biz                            */
/************************************************************************/


global $prefix$db;
$result $db->sql_query("select secid, secname, image from ${prefix}_sections WHERE homepage = '1' order by secname ASC");
$content .= "<table cellpadding=\"0\" cellspacing=\"0\">";
while (list(
$secid$secname$image) = $db->sql_fetchrow($result)) {
{
$content .= "<tr>";}
$cresult $db->sql_query("select artid, title from ${prefix}_seccont WHERE secid=$secid ORDER BY artid DESC limit 1");
while (list(
$artid$title) = $db->sql_fetchrow($cresult))

$content .= "<td><table><tr><td width=\"70\"><a href=\"modules.php?name=Niviskar&op=listarticles&secid=$secid\"title=\"$secname\"><img src=\"images/sections/$image\" border=\"0\" width=\"60\" height=\"60\"><br><left>$secname</left></td><td border=\"0\" Alt=\"$secname\"></a><font class=\"tiny\"><a href=\"modules.php?name=Niviskar&op=viewarticle&artid=$artid\"title=\"$title\">$title</a></font></td><tr></table><hr>";
{
$content .= "</tr>";}
$content .= "</td>";}
$content .= "</table>";
?>

Baran

arkadaşkar yokmu bir öneriniz ?, nasıl bir şey bu ben anlamadım gitti :)

aslında bir şey yapiyorum ama sanırım mantık hatası yapıyorum...

navruz

Merhaba :)
Önerim bu işi yapacaksanız php dilini öğrenmek için çalışmanız. Verdiğiniz kodda herşey birbirine girmiş durumda. Orijinal kodları yazarsanız belki yardımcı olabilirim.
Destek için forumu kullanın. Özel mesaj atmayın.

pragmaMx Türkiye

Baran

Zitat von: navruz am 16 März 2009, 12:04:20
Merhaba :)
Önerim bu işi yapacaksanız php dilini öğrenmek için çalışmanız. Verdiğiniz kodda herşey birbirine girmiş durumda. Orijinal kodları yazarsanız belki yardımcı olabilirim.


merhaba @navruz.

öncelikle ilgi ve alakan için teşekür ederim.

bir çok kod yazdım ama hiç bir fayda olmadı, ki başkalarıda yazdı oda olmadı :)

yazdıgım kodlar orjinal block'un kodlariydi.

size bir de dosya olarak göndereyim.

Not: şimdiki kullandıgım modul, sections modulune uyarlanmıştır.zaten blockun içinde açıklama yapmış, modulu yazanlar.


navruz

Yapmak istediğiniz yazar sayısını 10'a indirip son yazıları göstermekse aşağıdaki değişikliği yapın.
Bul :
$result = $db->sql_query("select secid, secname, image from ${prefix}_sections WHERE homepage = '1' order by secname ASC");
Değiştir :
$result = $db->sql_query("select secid, secname, image from ${prefix}_sections WHERE homepage = '1' limit 10 order by secid DESC");
Destek için forumu kullanın. Özel mesaj atmayın.

pragmaMx Türkiye

Baran

merhaba bu seferde şu hatayı aldım:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order by secid DESC' at line 1


navruz

Bunu denermisiniz
$result = $db->sql_query("select secid, secname, image from ${prefix}_sections WHERE homepage = '1' order by secid DESC limit 10 ");

Destek için forumu kullanın. Özel mesaj atmayın.

pragmaMx Türkiye

Baran

#7
evet bu kod işime yaradı, 10 tane'ye indi...

yanlız şöyle bir problem var, yenı eklenen yazı başta değil...

Aynen haber bloğu gibi, hani her eklenen haber başa gelıyor, digerleri düşüyor ya ana syafadan ,  o şekilde...

bunun içinde bir kod yazamaz mıyız ?

navruz

Bunun için işlemi tersine çevirmelisiniz. Şu an önce yazarı sonra son yazısını çekiyor. Siz önce yazıyı sonra yazar bilgilerini veritabanından çekmelisiniz. Kullandığınız modülün veritabanı tablo yapısını görmeden yardımcı olamam.
Destek için forumu kullanın. Özel mesaj atmayın.

pragmaMx Türkiye

Baran

merhaba navruz

veritbanından aldıgım sections tablosu şu şekilde... inceliyebilirsiniz..

-- --------------------------------------------------------

--
-- Tablo yapısı: `sql_sections`
--

CREATE TABLE IF NOT EXISTS `sql_sections` (
  `secid` int(11) NOT NULL auto_increment,
  `secname` varchar(40) NOT NULL default '',
  `image` varchar(50) NOT NULL default '',
  `mail` varchar(128) NOT NULL default '',
  `active` int(1) NOT NULL default '0',
  `homepage` int(2) NOT NULL default '1',
  PRIMARY KEY  (`secid`),
  KEY `secid` (`secid`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=126 ;

--
-- Tablo döküm verisi `sql_sections`
--

INSERT INTO `sql_sections` (`secid`, `secname`, `image`, `mail`, `active`, `homepage`) VALUES
(43, 'Ahmet', 'ahmet.jpg', 'mail@hotmail.comm', 1, 1),
(63, 'Editör', 'editor.gif', 'mail@hotmail.com', 1, 1),
(73, 'Medeni', 'medeni.gif', 'mail@hotmail.com', 1, 1),
(83, 'Bülent', 'bulent.gif', 'mail@hotmail.com', 1, 1),
(113, 'Dogan', 'dogan.jpg', 'mail@hotmail.com', 0, 1),
(114, 'Ömer', 'omer.gif', 'omerdilsoz@yahoo.com', 0, 1),
(117, 'İsmail', 'ismail.jpg', 'mail@hotmail.com', 0, 1),
(118, 'Bingöl', 'bingol.gif', 'mail@hotmail.com', 0, 1),
(119, 'Bilge', 'bilge.jpg', 'mail@hotmail.com', 0, 1),
(121, 'Aslan', 'yazar.gif', 'mail@hotmail.com', 0, 1),
(122, 'Musa', 'musa.jpg', 'mail@hotmail.com', 0, 1),
(123, 'Çiftçi', 'ciftci.gif', 'mail@hotmail.com', 0, 1),
(124, 'Yıldız', 'yildiz.gif', 'mail@hotmail.com', 0, 1),
(125, 'Hüseyin', 'huseyin.gif', 'mail@hotmail.com', 0, 1);