Ostatnio dodane fotki i newsy na jednej stronie
|
dante77 |
Dodany dnia 27.12.2007 07:48:30
|
Bywalec
Postów: 332 Pomógł: 25 Ostrzeżeń: 1
Data rejestracji: 09.05.2005 00:08
|
Ma ktoś pojęcie jak zrobić stronę na której wyświetlały by się ostatnio dodane fotki (12 sztuk 3 x 4 (3 rzędy po 4 fotki)) i najświeższe newsy (10 sztuk 2x5 dwa rzędy po pieć newsów).
Fotki powinny wyświetlać się z informacjami takimi jak w galerii czyli: nazwa, data dodania, ocena itp.
Jakoś zacząłem kombinować w dobrym kierunku, tylko nie do końca mi wszystko wychodzi.
Na liście z miniaturami nie wyświetla mi miniatur z innych albumów poza pierwszym.
Widać to tu:
http://pogodzinac...llery2.php
poniżej to co w pliku:
<?php
/*---------------------------------------------------+
| PHP-Fusion 6 Content Management System
+----------------------------------------------------+
| Copyright Š 2002 - 2006 Nick Jones
| http://www.php-fusion.co.uk/
+----------------------------------------------------+
| Released under the terms & conditions of v2 of the
| GNU General Public License. For details refer to
| the included gpl.txt file or visit http://gnu.org
+----------------------------------------------------*/
require_once "maincore.php";
require_once "subheader.php";
require_once "side_left.php";
include LOCALE.LOCALESET."photogallery.php";
define("SAFEMODE", @ini_get("safe_mode") ? true : false);
define("PHOTODIR", PHOTOS.(!SAFEMODE ? "album_".$data['album_id']."/" : ""));
opentable($locale['430']);
$result = dbquery(
"SELECT tp.*, tu.user_id,user_name, SUM(tr.rating_vote) AS sum_rating, COUNT(tr.rating_item_id) AS count_votes
FROM ".$db_prefix."photos tp
LEFT JOIN ".$db_prefix."photo_albums ta USING (album_id)
LEFT JOIN ".$db_prefix."users tu ON tp.photo_user=tu.user_id
LEFT JOIN ".$db_prefix."ratings tr ON tr.rating_item_id = tp.photo_id AND tr.rating_type='P' GROUP BY photo_id ORDER BY photo_order LIMIT 0,12"
);
$counter = 0;
echo "<table border='1' cellpadding='0' cellspacing='1' width='100%'>\n<tr>\n";
while ($data = dbarray($result)) {
if ($counter != 0 && ($counter % $settings['thumbs_per_row'] == 0)) echo "</tr>\n<tr>\n";
echo "<td align='left' valign='top' class='tbl'>\n";
echo "<b>".$data['photo_title']."</b><br>\n<a href='photogallery.php?photo_id=".$data['photo_id']."'>";
if ($data['photo_thumb1'] && file_exists(PHOTODIR.$data['photo_thumb1'])){
echo "<img src='".PHOTODIR.$data['photo_thumb1']."' style='float:left;' alt='".$data['photo_thumb1']."' title='".$locale['431']."' border='0'>";
} else {
echo $locale['432'];
}
echo "</a><span class='small'>\n";
echo $locale['433'].showdate("shortdate", $data['photo_datestamp'])."<br>\n";
echo $locale['434']."<a href='".BASEDIR."profile.php?lookup=".$data['user_id']."'>".$data['user_name']."</a><br>\n";
echo $locale['436'].dbcount("(comment_id)", "comments", "comment_type='P' AND comment_item_id='".$data['photo_id']."'")."<br>\n";
echo $locale['437'].($data['count_votes'] > 0 ? str_repeat("<img src='".IMAGES."star.gif' alt='*' style='vertical-align:middle'>", ceil($data['sum_rating'] / $data['count_votes'])) : $locale['438'])."<br>\n";
echo $locale['435'].$data['photo_views']."<br><br>\n";
echo "<b><u>Opis:</u></b><br>\n";
echo nl2br(parseubb($data['photo_description']));
echo "</span></td>\n";
$counter++;
}
echo "</tr>\n</table>\n";
closetable();
require "side_right.php";
require "footer.php";
?>
Może ktoś coś na to poradzić i przy okazji, chciałbym żeby miniaturki wyświetlały się od najnowszej bez względu na album.
PW od moderatora:
- Odświeżenie Tematu - Pieka 31.12 - 11:40
Edytowane przez Pieka dnia 31.12.2007 11:37:22
|
|
|
|
Wścibski Gość |
Dodany dnia 24.11.2024 19:30:33
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
MeTeo |
Dodany dnia 31.12.2007 12:04:41
|
Bywalec
Postów: 880 Pomógł: 23 Ostrzeżeń: 2
Data rejestracji: 14.12.2005 19:38
|
Żeby Ci wyświetlało miniaturki zmień
echo "<img src='".PHOTODIR.$data['photo_thumb1']."' style='float:left;' alt='".$data['photo_thumb1']."' title='".$locale['431']."' border='0'>";
na
echo "<img src='".PHOTOS."/album_".$data['album_id']."/".$data['photo_thumb1']."' style='float:left;' alt='".$data['photo_thumb1']."' title='".$locale['431']."' border='0'>";
EDIT: A co do kolejności wyświetlania to musisz zmienić (chyba):
ORDER BY photo_order
na
ORDER BY photo_datestamp
Pozdrawiam
Edytowane przez MeTeo dnia 31.12.2007 12:08:32
|
|
|
|
Pieka |
Dodany dnia 31.12.2007 12:11:55
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Dlaczego wprowadzasz w blad kolege i cofasz go w rozwoju?
Dobrze definiuje kod galerii bazujac na wykrywaniu trybu pracy serwera.
Jestem jaki jestem
|
|
|
|
MeTeo |
Dodany dnia 31.12.2007 12:23:27
|
Bywalec
Postów: 880 Pomógł: 23 Ostrzeżeń: 2
Data rejestracji: 14.12.2005 19:38
|
To może ty pomożesz a nie robisz off top nie wnosząc nic do tematu? Potrafisz tylko się przyczepić, a pomóc nie?
Bynajmniej próbowałem pomóc, źle? Trudno się mówi.
Idę stąd bo już się zdenerwowałem...
P.S Bazując na tym co powiedziałem, zmieniłem jeszcze jedną rzecz i wszystko działa. Miniatury są i w kolejności dodania. Oto kod:
<?php
/*---------------------------------------------------+
| PHP-Fusion 6 Content Management System
+----------------------------------------------------+
| Copyright Š 2002 - 2006 Nick Jones
| http://www.php-fu...
+----------------------------------------------------+
| Released under the terms & conditions of v2 of the
| GNU General Public License. For details refer to
| the included gpl.txt file or visit http://gnu.org
+----------------------------------------------------*/
require_once "maincore.php";
require_once "subheader.php";
require_once "side_left.php";
include LOCALE.LOCALESET."photogallery.php";
define("SAFEMODE", @ini_get("safe_mode") ? true : false);
define("PHOTODIR", PHOTOS.(!SAFEMODE ? "album_".$data['album_id']."/" : ""));
opentable($locale['430']);
$result = dbquery(
"SELECT tp.*, tu.user_id,user_name, SUM(tr.rating_vote) AS sum_rating, COUNT(tr.rating_item_id) AS count_votes
FROM ".$db_prefix."photos tp
LEFT JOIN ".$db_prefix."photo_albums ta USING (album_id)
LEFT JOIN ".$db_prefix."users tu ON tp.photo_user=tu.user_id
LEFT JOIN ".$db_prefix."ratings tr ON tr.rating_item_id = tp.photo_id AND tr.rating_type='P' GROUP BY photo_id ORDER BY photo_datestamp LIMIT 0,12"
);
$counter = 0;
echo "<table border='1' cellpadding='0' cellspacing='1' width='100%'>\n<tr>\n";
while ($data = dbarray($result)) {
if ($counter != 0 && ($counter % $settings['thumbs_per_row'] == 0)) echo "</tr>\n<tr>\n";
echo "<td align='left' valign='top' class='tbl'>\n";
echo "<b>".$data['photo_title']."</b><br>\n<a href='photogallery.php?photo_id=".$data['photo_id']."'>";
$foto = "".PHOTOS."/album_".$data['album_id']."/".$data['photo_thumb1']."";
if ($data['photo_thumb1'] && file_exists($foto)){
echo "<img src='".PHOTOS."/album_".$data['album_id']."/".$data['photo_thumb1']."' style='float:left;' alt='".$data['photo_thumb1']."' title='".$locale['431']."' border='0'>";
} else {
echo $locale['432'];
}
echo "</a><span class='small'>\n";
echo $locale['433'].showdate("shortdate", $data['photo_datestamp'])."<br>\n";
echo $locale['434']."<a href='".BASEDIR."profile.php?lookup=".$data['user_id']."'>".$data['user_name']."</a><br>\n";
echo $locale['436'].dbcount("(comment_id)", "comments", "comment_type='P' AND comment_item_id='".$data['photo_id']."'")."<br>\n";
echo $locale['437'].($data['count_votes'] > 0 ? str_repeat("<img src='".IMAGES."star.gif' alt='*' style='vertical-align:middle'>", ceil($data['sum_rating'] / $data['count_votes'])) : $locale['438'])."<br>\n";
echo $locale['435'].$data['photo_views']."<br><br>\n";
echo "<b><u>Opis:</u></b><br>\n";
echo nl2br(parseubb($data['photo_description']));
echo "</span></td>\n";
$counter++;
}
echo "</tr>\n</table>\n";
closetable();
require "side_right.php";
require "footer.php";
?>
Edytowane przez MeTeo dnia 31.12.2007 12:27:21
|
|
|
|
Pieka |
Dodany dnia 31.12.2007 12:32:28
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
MeTeo napisał/a:
To może ty pomożesz a nie robisz off top nie wnosząc nic do tematu? Potrafisz tylko się przyczepić, a pomóc nie?
Bynajmniej próbowałem pomóc, źle? Trudno się mówi.
Idę stąd bo już się zdenerwowałem...
Idz, idz jak masz takie dyrdymaly opowiadac i ludziom w glowie mieszac.
W kodzie, ktory caly czas podajesz wszystko jest ok do momentu az trafi na serwer z wlaczonym trybem safe_mode, o czym pisalem wiele razy, tylko Ty zawsze potrafisz TYLKO krytykowac zamiast sie uczyc. Twoja sprawa.
Poprawny kod:
<?php
/*---------------------------------------------------+
| PHP-Fusion 6 Content Management System
+----------------------------------------------------+
| Copyright Š 2002 - 2006 Nick Jones
| http://www.php-fu...
+----------------------------------------------------+
| Released under the terms & conditions of v2 of the
| GNU General Public License. For details refer to
| the included gpl.txt file or visit http://gnu.org
+----------------------------------------------------*/
require_once "maincore.php";
require_once "subheader.php";
require_once "side_left.php";
include LOCALE.LOCALESET."photogallery.php";
define("SAFEMODE", @ini_get("safe_mode") ? true : false);
opentable($locale['430']);
$result = dbquery(
"SELECT tp.*, tu.user_id,user_name, SUM(tr.rating_vote) AS sum_rating, COUNT(tr.rating_item_id) AS count_votes
FROM ".$db_prefix."photos tp
LEFT JOIN ".$db_prefix."photo_albums ta USING (album_id)
LEFT JOIN ".$db_prefix."users tu ON tp.photo_user=tu.user_id
LEFT JOIN ".$db_prefix."ratings tr ON tr.rating_item_id = tp.photo_id AND tr.rating_type='P' GROUP BY photo_id ORDER BY photo_id DESC LIMIT 0,12"
);
$counter = 0;
echo "<table border='1' cellpadding='0' cellspacing='1' width='100%'>\n<tr>\n";
while ($data = dbarray($result)) {
if ($counter != 0 && ($counter % $settings['thumbs_per_row'] == 0)) echo "</tr>\n<tr>\n";
echo "<td align='left' valign='top' class='tbl'>\n";
echo "<b>".$data['photo_title']."</b><br>\n<a href='".BASEDIR."photogallery.php?photo_id=".$data['photo_id']."'>";
if(dbrows($result)>0){
$photodir = PHOTOS.(!@ini_get("safe_mode") ? "album_".$data['album_id']."/" : "");
echo "<img src='".$photodir.$data['photo_thumb1']."' style='float:left;' alt='".$data['photo_thumb1']."' title='".$locale['431']."' border='0'>";
} else {
echo $locale['432'];
}
echo "</a><span class='small'>\n";
echo $locale['433'].showdate("shortdate", $data['photo_datestamp'])."<br>\n";
echo $locale['434']."<a href='".BASEDIR."profile.php?lookup=".$data['user_id']."'>".$data['user_name']."</a><br>\n";
echo $locale['436'].dbcount("(comment_id)", "comments", "comment_type='P' AND comment_item_id='".$data['photo_id']."'")."<br>\n";
echo $locale['437'].($data['count_votes'] > 0 ? str_repeat("<img src='".IMAGES."star.gif' alt='*' style='vertical-align:middle'>", ceil($data['sum_rating'] / $data['count_votes'])) : $locale['438'])."<br>\n";
echo $locale['435'].$data['photo_views']."<br><br>\n";
echo "<b><u>Opis:</u></b><br>\n";
echo nl2br(parseubb($data['photo_description']));
echo "</span></td>\n";
$counter++;
}
echo "</tr>\n</table>\n";
closetable();
require "side_right.php";
require "footer.php";
?>
Dziala bez wzgledu na tryb pracy serwera.
Czas dodania uwzgledniony.
P.S. Nie zapominaj o stalych PHP-Fusion typu BASEDIR, to tez poprawilem.
Edytowane przez Pieka dnia 31.12.2007 13:13:16
Jestem jaki jestem
|
|
|
|
dante77 |
Dodany dnia 31.12.2007 12:45:19
|
Bywalec
Postów: 332 Pomógł: 25 Ostrzeżeń: 1
Data rejestracji: 09.05.2005 00:08
|
Jak tylko wrócę z pracy to sprawdze czy działa. W każdym razie dziękuje za pomoc.
|
|
|
|
MeTeo |
Dodany dnia 31.12.2007 12:50:29
|
Bywalec
Postów: 880 Pomógł: 23 Ostrzeżeń: 2
Data rejestracji: 14.12.2005 19:38
|
Tak, będzie poprawny jak zmienisz jeszcze
ORDER BY photo_order
na
ORDER BY photo_datestamp
P.S Usuwanie niewygodnych tematów? |
|
|
|
bartek124 |
Dodany dnia 31.12.2007 12:55:56
|
Weteran
Postów: 3264 Pomógł: 236
v7.02.06 Data rejestracji: 26.05.2007 12:25
|
Jak już coś to:
ORDER BY photo_id
Photo_datestamp wyświetla całkiem coś innego.
Nie pomagam na komunikatorach oraz PW!
|
|
|
|
MeTeo |
Dodany dnia 31.12.2007 13:00:49
|
Bywalec
Postów: 880 Pomógł: 23 Ostrzeżeń: 2
Data rejestracji: 14.12.2005 19:38
|
photo_id też chyba może być Nie patrzałem akurat na to
datestamp - data dodania (z tego co rozumiem) więc na to samo wychodzi ;P |
|
|
|
Pieka |
Dodany dnia 31.12.2007 13:06:02
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
bartek124 napisał/a:
Jak już coś to:
ORDER BY photo_id
Photo_datestamp wyświetla całkiem coś innego.
W zasadzie nie ma znaczenia, wazne zeby bylo DESC.
Jestem jaki jestem
|
|
|
|
dante77 |
Dodany dnia 31.12.2007 13:36:48
|
Bywalec
Postów: 332 Pomógł: 25 Ostrzeżeń: 1
Data rejestracji: 09.05.2005 00:08
|
Zrobiłem to jako panel i wstawiłem z pracy, jest git.
Można zerknąć hir:
http://pogodzinac...
Jeszcze raz dziękuje, troszkę mi tylko głupio, że przez mojego posta MeTeo został zbanowany
|
|
|
|
Pieka |
Dodany dnia 31.12.2007 13:47:15
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
sebeq napisał/a:
Zrobiłem to jako panel i wstawiłem z pracy, jest git.
Można zerknąć hir:
http://pogodzinac...
Jeszcze raz dziękuje, troszkę mi tylko głupio, że przez mojego posta MeTeo został zbanowany
Ciesze sie, ze wszystko dziala, a gwoli wyjasnienia, Twoj temat nie mial z tym nic wspolnego, tylko dopelnil czare goryczy.
Nie musisz czuc sie winny.
Jestem jaki jestem
|
|
|
|
dante77 |
Dodany dnia 07.01.2008 09:01:40
|
Bywalec
Postów: 332 Pomógł: 25 Ostrzeżeń: 1
Data rejestracji: 09.05.2005 00:08
|
A czy jest szansa, żeby to wszystko co się wyświetla, pokazywało się w tabeli tzn.
Nazwa w osobnej komórce, miniaturka w osobnej komórce, dane o dacie, userze, ilości komentarzy itp w osobnej komórce i opis w osobnej. Męczę się już z tym kilka dni i wszystko mi się rozjeżdża.
|
|
|