Форум сетевых администраторов
Показаны 12 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- пхп фото альбом нужен! (http://netadmin.ws/forum/showthread.php?threadid=3473)


Помещено Tagore 14-10-2002 в 01:17:

Talking пхп фото альбом ! И так ...

Что к чему:
pk_apId - уникалбный ИД
apArticleId - ИД статьи, он имеет еще под себя ка бы
apPage - то есть, странницу (каждая статья может состоять из несколько странниц)
apTitle - заголовок
apContent - содержание в HTML

CREATE TABLE articlepages (
pk_apId int(11) NOT NULL auto_increment,
apArticleId int(11) NOT NULL default '0',
apTitle varchar(100) NOT NULL default '',
apPage int(11) NOT NULL default '0',
apContent text NOT NULL,
PRIMARY KEY (pk_apId),
UNIQUE KEY ID (pk_apId)
)

<?php

// This page displays a page of an article as well as
// a drop down list with each page for that article

$articleId = @$_GET["articleId"];
$page = @$_GET["page"];

if(!is_numeric($page))
$page = 1;

if(is_numeric($articleId))
{
$aResult = mysql_query("select apTitle, apContent from tbl_ArticlePages where apArticleId = '$articleId' order by pk_apId asc limit " . ($page-1) . ", 1");

if($aRow = mysql_fetch_array($aResult))
{
// Display the details of this article
DisplayArticleHeader($articleId, false, BIG_BLACK_TITLE);

echo "<hr width='96%'>";

// Show the ratings bar
ShowRatingBar($articleId);

// Update the numer of times that this article has been shown
if($page == 1)
UpdateViews($articleId);

echo "<div align='right'><br><a href=\"java script:OpenWin('printpage.php?articleId=$articleId', 'prnArt', '650', '550', 'yes')\"><img border='0' src='images/printarticle.gif'></a> </div>";
echo "<table width='96%' align='center' border='0' cellspacing='0' cellpadding='0'>";
echo "<tr>";
echo " <td>";
echo " <span class='BodyHeading4'>{$aRow["apTitle"]}</span>";
echo " <br><br><span class='Text1'>{$aRow["apContent"]}</span>";
echo " </td>";
echo "</tr>";
echo "</table>";
echo "<hr width='96%'>";

// Show the next/previous links
ShowNav($articleId, $page);

echo "<br><br>";
}
else
{
// Page not found
?>

Ну вот, этот код прерасно работает для статьей, идеально - но хотел я это поменять на фотки, как ничего (белая странница). То-есть, несмогу обяснить, потому что не врубился где ошибка.


CREATE TABLE ab_photo (
PhotoID bigint(21) NOT NULL auto_increment,
CatID varchar(21) default '0',
Url varchar(255) default NULL,
Source varchar(255) NOT NULL default '',
Author varchar(255) default '',
Date varchar(255) default '',
PRIMARY KEY (PhotoID),
UNIQUE KEY Url (Url)
) TYPE=MyISAM;

INSERT INTO ab_photo VALUES (1, 'photoSession', 'aB_ses001.tif', 'Фото сессия', 'Автор неизвестен', '1988');

Путь к фоткам указан в перемееном, а он отличается на Unix от Apache под виндовс?

:

__________________
Международное брачное агенство в Сибири.


Помещено sexkiller 15-10-2002 в 07:12:

Так ты загоняй относительный путь к фоттографиям, а затем просто подставляй $DOCUMENT_ROOT


Помещено SCHIZO 16-10-2002 в 22:46:

У меня есть прототип галереи без MySQL на XML+XSLT , это часть портала (один из модулей) если интересно могу выложить как окончательно доделаю..

__________________
FAQ OFF


Помещено Tagore 17-10-2002 в 01:20:

Обезательно, это даже интереснее. На, смотри http://phpclub.net/talk/showthread.php?s=&threadid=24694&pagenumber=2

__________________
Международное брачное агенство в Сибири.


Помещено Tagore 17-10-2002 в 08:14:

Unhappy cj

<?php
mysql_connect('localhost', 'gmarik', 'Photoshop7');
mysql_select_db('aB');
$sql = "SELECT url FROM photo";
$result = mysql_query($sql);

$image_path = "img/";

while ($row = mysql_fetch_array($result))
{
echo "<img src='" . $image_path . $row['url'] . "'>";
}?>

Теперь у меня на мониторе показивают все 4 фотки сразу, хотя я написал test.php?id=1, но просто test.php тоже не показивает. Теперь, как мне сделать чтобы каждой id только то, что в нем показивал. И куда мне $query = mysql_query("select url from ab_photo limit 0, 16");, чтобы показивать в моей таблице только 16 фоток сразу?

__________________
Международное брачное агенство в Сибири.


Помещено Tagore 17-10-2002 в 17:40:

Arrow zero gravity

<?php
mysql_connect('localhost', 'gmarik', 'Photoshop7');
mysql_select_db('aB');
$query = mysql_query("select url,desc from photo limit 0, 16");
while($row = mysql_fetch_array($query){
echo "<img src='$row[0]'><br>$row[1]";
};
?>

http://info/ab.php?id=2 не пашет, хотя у меня там должа стоять фотка, потому чтов БД в втором поле есть линк. Помммооогггиитттеее!

__________________
Международное брачное агенство в Сибири.


Помещено SCHIZO 17-10-2002 в 18:02:

Tagore
Загляни в мануал, хотя бы в ту часть которая касается обхода массива в цикле... Вопрос настолько простой что объяснять прописные истины нет никакого желания.

__________________
FAQ OFF


Помещено Tagore 17-10-2002 в 18:44:

How is it in English?
Как зовут эти массиви по-английски?

__________________
Международное брачное агенство в Сибири.


Помещено SCHIZO 17-10-2002 в 20:15:

ищи функции:
for и foreach
можешь еще посмотреть list и each

__________________
FAQ OFF


Помещено Tagore 18-10-2002 в 01:00:

Ф пример кода к нашей теме кто-то может привести с "foreach
"?

__________________
Международное брачное агенство в Сибири.


Помещено polo 18-10-2002 в 03:38:


PHP:


$proprietes 
= array(
                        
'color'     => 'blue',
                        
'size'       => 'xl',
                        
'shipping' => 'mail'
                      
);
foreach (
$proprietes  AS $key=>$value) {
    echo 
"$key -- $value\n"
}
/* Будет напечатанно 
color -- blue
size -- xl
shipping -- mail
*/

foreach ($proprietes  AS $propriete) {
    echo 
"$propriete\n"
}
/* Будет напечатанно 
blue
xl
mail
*/

__________________
Всегда есть решение.


Помещено Tagore 18-10-2002 в 23:34:

Red face Два вопроса. И тема закончена.

Все работало, когда таблица состояла от читсого HTML, но после строчки, где картинка вызивается из БД, php код сривается и не хочет пахать. Поэтому я поставил echo в начале каждой строчки, но это не помогло.

if($items==16){
echo "<table align="center" cellpadding="0" cellspacing="0" width="790" height="400">";
echo "<tr>";
echo "<td width="537" valign="top" height="39" colspan="2"> <p>  </p></td>";
echo "<td width="345" height="39"> <p>  </p></td>";
echo "</tr>";
echo "<tr>";
echo "<td width="525" valign="top" height="361" rowspan="3"> <table cellpadding="0" cellspacing="0" width="507">";
echo "<tr>";
echo "<td width="139"> <table class="box" cellpadding="0" cellspacing="0" width="96" height="96">";
echo "<tr>";
echo "<td width="1250"> <p align="center"> ";
echo "<? $row = mysql_fetch_array($result) ?>";
echo "<a href="zoom.php?id=<? echo $row['id'] ?>">
<img alt="<? echo $row['date' ] ?>  - <? echo $row['author' ] ?>" border="0" src="<? echo $image_path . $row['url'] ?>" /> </a><br>";

// Виновата именно эта строчка, только как ее обмануть, чтобы заработала? Пробовал тремя способами, все некак.
echo "<? echo $row['source'] ?> </p></td>";
echo "</tr>";
echo "</table>";
echo "</td>";

Теперь, если можете, укажите на ошибку. Также нужна пагинация, в зависимости от значения $items==16. В Dreamweaveer MX и множ прочитанных туториалов по этому поводу мольчали, там все попроше и вот потому у меня не крутится. Тогда, получается, это должно виглядеть вот так: foto.php?cat=iSes&mode=16&page=1 ?

<?php
$page = @$_GET["page"];
$start = @$_GET["start"];
if(!is_numeric($page) || $page < 1)
$page = 1;

if($page == 1)
$start = 0;
else
$start = ($page * $itemsPerPage) - $itemsPerPage;
$numRows = mysql_num_rows(mysql_query("select id from ab_photo"));
?>

<?php
if($page > 1)
$nav .= "<a href='foto.php?cat=$cat&mode=16&page=" . ($page-1) . "'><u>« Назад</u></a> | ";

for($i = 1; $i <= ceil($numRows / $itemsPerPage); $i++)
if($i == $page)
$nav .= "<a href='foto.php?cat=$cat&mode=16&page=$i'><b>$i</b></a> | ";
else
$nav .= "<a href='foto.php?cat=$cat&mode=16&page=$i'>$i</a> | ";

if(($start+$newsPerPage) < $numRows && $numRows > 0)
$nav .= "<a href='foto.php?cat=$cat&mode=16&page=" . ($page+1) . "'><u>Дальше »</u></a>";

if(substr(strrev($nav), 0, 2) == " |")
$nav = substr($nav, 0, strlen($nav)-2);
echo $nav . "<br> ";
?>

__________________
Международное брачное агенство в Сибири.


Формат времени GMT. Текущее время 22:54.
Показаны 12 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.