Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: Paskutinės naujienos

Parašė Gugiss· 2008 Bir. 8 14:06:24
#1

Noriu padaryt, kad paskutinių naujienų panelėje prie naujienos pavadinimo rodytų ir kategorijos pavadinmą. Tikriausia reikia, kad vykdytų užklausą tarp 2'jų lentelių. Bet kaip?

Panelės kodas:
$result = dbquery("SELECT * FROM ".$db_prefix."news WHERE ".groupaccess('news_visibility')." AND (news_start='0'||news_start<=".time().") AND (news_end='0'||news_end>=".time().") ORDER BY news_datestamp DESC LIMIT 0,7");
while ($data = dbarray($result)) {
$title = $data['news_subject'];
$cat = $data['news_cat_name'];
$sh_title = $title;
$n_id = $data['news_id'];
$v_id = $data['news_reads'];
$comments_n = dbcount("(comment_id)", "comments", "comment_type='N' AND comment_item_id=$n_id");
$date = $data['news_datestamp'];
$n_date = showdate("%Y %B %d", $date);
$name = $data['news_cat'];

echo "<img src='".THEME."images/bullet.gif'>
<a href='".BASEDIR."news.php?readmore=$n_id'><span class='small'><b>$sh_title</b> $cat [$comments_n]</span></a>
<span class='side'></span><br><br>";
}



Redagavo Gugiss· 2008 Bir. 8 14:06:46

Parašė Qrmiz· 2008 Bir. 8 14:06:42
#2

tai kad čia kažkoks video.php, neis prasitestuot... o šiaip turėtų juk veikti, juk nurodęs esi: $cat = $data['video_cat_name'];

Parašė Gugiss· 2008 Bir. 8 14:06:00
#3

Va patvarkiau į news ;) Šitas $cat = $data['video_cat_name']; neveikia tikriausia todėl, kad video_cat_name ne toj pačioj lentelėj

Parašė bad_user· 2008 Bir. 8 15:06:25
#4

Žinai tokia funkcija kaip left join? :)

Parašė Gugiss· 2008 Bir. 8 15:06:24
#5

Aha žinau ir bandžiau, bet neveikė (jeigu aš teisingai parašiau)
LEFT JOIN ".$db_prefix."video_cats



Parašė bad_user· 2008 Bir. 8 15:06:41
#6

Naujienos cat id tokia pat kaip video cat id? ?|

Parašė Gugiss· 2008 Bir. 8 15:06:50
#7

Nelabai supratau tavo klausima, bet nesvarbu pirma reikia kad ant news veiktu o paskui pats susitvarkyciau ant video :D

Parašė bad_user· 2008 Bir. 8 15:06:35
#8

Ai dabar ikirtau. Tuoj pl padarysiu :)

Parašė bad_user· 2008 Bir. 8 15:06:48
#9

Prašau:

openside("name");
  $result = dbquery("SELECT * FROM ".$db_prefix."news LEFT JOIN ".$db_prefix."news_cats ON news_cat_id = news_cat WHERE ".groupaccess('news_visibility')." AND (news_start='0'||news_start<=".time().") AND (news_end='0'||news_end>=".time().") ORDER BY news_datestamp DESC LIMIT 0,7");
while ($data = dbarray($result)) {
$title = $data['news_subject'];
$cat = $data['news_cat_name'];
$sh_title = $title;
$n_id = $data['news_id'];
$v_id = $data['news_reads'];
$comments_n = dbcount("(comment_id)", "comments", "comment_type='N' AND comment_item_id=$n_id");
$date = $data['news_datestamp'];
$n_date = showdate("%Y %B %d", $date);
$name = $data['news_cat'];

echo "<img src='".THEME."images/bullet.gif'>
<a href='".BASEDIR."news.php?readmore=$n_id'><span class='small'><b>$sh_title</b> $cat [$comments_n]</span></a>
<span class='side'></span><br><br>";
}
closeside();



Parašė Gugiss· 2008 Bir. 8 15:06:32
#10

Yeeeee :D Baisiausiai dėkavoju Song B)
Štai kame bitė ane
ON news_cat_id = news_cat



Redagavo Gugiss· 2008 Bir. 8 15:06:12

Parašė bad_user· 2008 Bir. 8 15:06:20
#11

Nėra už ką. :)

Parašė Gugiss· 2008 Bir. 8 16:06:34
#12

Iškilo dar viena problema reikia folderį padaryt kaip kintamąjį. Pvz.:
<a href='$folderis/video.php'>$cat:</a><a href='$folderis/video.php?ziureti=$n_id'>




Edit: nebereikia pats suitvarkysiu :D

Redagavo Gugiss· 2008 Bir. 8 16:06:20

Parašė Gugiss· 2008 Bir. 8 21:06:11
#13

Dar vienas klausimas. Kaip galima atvaizduoti naujienos turinį? Bandžiau $img = ['video_news']; bet nerodo paveiksliuko (bloga nuoroda) prieš paveiksliuko nuorodą užsideda mano saito nuoroda ir visokių ženklų kaip %5C

Redagavo Gugiss· 2008 Bir. 8 21:06:59

Parašė Zixx· 2008 Bir. 8 22:06:04
#14

SIaip dabar nesimasto bet tai daryk gi $turinys = $new(40);
virsui $turinys kintamaji susitvarkyk ir $new daryk pagal save... O tas 40 tai ten reguliuok ad 40 raidziu tik rodys o toliau ...
Gali but klaida nes sita funkcija pamirses as ;) IR fusionu nedirbu :D

Parašė Gugiss· 2008 Bir. 8 22:06:05
#15

Juk čia tas pats Š :)

Parašė ramon· 2008 Bir. 8 22:06:35
#16

SoUnDaS parašė:
SIaip dabar nesimasto bet tai daryk gi $turinys = $new(40);
virsui $turinys kintamaji susitvarkyk ir $new daryk pagal save... O tas 40 tai ten reguliuok ad 40 raidziu tik rodys o toliau ...
Gali but klaida nes sita funkcija pamirses as ;) IR fusionu nedirbu :D


Galiausiai savo ibala zavali uzpiso klausitis tavo nsmn..


O del img tai:

$uzklausa=dbquery("SELECT * FROM ".$db_prefix."videos" );
while ($b=dbarray($uzklausa)) {
$x = $b['video_news'];
echo "<img src='".IMAGES.$x."'>";
}



Arba jei nori kad butu ant img textas tai :
$uzklausa=dbquery("SELECT * FROM ".$db_prefix."videos" );
while ($b=dbarray($uzklausa)) {
$x = $b['video_news'];
echo "<td background='xx.gif'>".$x."</td>";
}



Redagavo ramon· 2008 Bir. 8 23:06:51

Parašė Gugiss· 2008 Bir. 8 22:06:37
#17

$x = ['video_news'];
tikriausia reikia ir $data įterpt. o aš noriu, kad ne iš images imtų paveiksliuką o iš youtube.

Parašė ramon· 2008 Bir. 8 23:06:47
#18

Na posta savo atnaujinau o del tu img is yuotube tai nzn, lengviau bus prideti dar viena lentele t.y. videos_picture td galesi uzpildai laukeli [ten rasai img url] ir psio :)

Parašė Gugiss· 2008 Bir. 8 23:06:13
#19

Dėkui už patarimą, jeigu kas neišeis vėl rašysiu čia :)

Parašė ramon· 2008 Bir. 8 23:06:24
#20

Jei noresi manes paklaust tai klausk geriau per skype nes netas snd lb stabdo :|

Parašė Gugiss· 2008 Bir. 8 23:06:44
#21

Veikia. Dėkui genijau ;)

Parašė Gugiss· 2008 Bir. 9 20:06:07
#22

Noriu prijungt ir photo_albums lentelę, bet išmeta error'ą saite
Column 'album_id' in on clause is ambiguous

Kas ne taip? Tipo album_id yra dviprasmis...
$uzklausa = dbquery("SELECT * FROM ".$db_prefix."photos LEFT JOIN ".$db_prefix."photo_albums ON album_id = album_id ORDER BY photo_id DESC LIMIT 2");



Redagavo Gugiss· 2008 Bir. 9 20:06:34

Parašė ozzWANTED· 2008 Bir. 9 23:06:50
#23

nedaryk SELECT * . Daryk konkrečius jeigu abiejuose lentelėse yra vienodų laukų. Priskirk tf., tp. ar pan. kiekvienai lentelėj. Jeigu nežinai kaip - pasistudijuok esamus modus kur imama iš kelių lentelių(pvz. pask. postų su temom ir pan. paneles).

Parašė Gugiss· 2008 Bir. 9 23:06:54
#24

Dėkui, susitvarkiau ;)