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 ;)