Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: помогите разобраться с фотогалереей
 
 автор: inga   (28.12.2005 в 10:43)   письмо автору
 
 

пишу фотогалерею. это я вывожу тему:

@ $db = mysql_pconnect("бла бла");

 if (!$db)
 {
echo "Error: Could not connect to database.  Please try again later.";
exit;
 }

mysql_select_db("base");
                
$query = "SELECT title, id, date from photos ORDER BY 'date' desc LIMIT 5";                     

$result = mysql_query($query);                

 $num_results = mysql_num_rows($result);
                
echo "<table border='0' width='100%' cellpadding='0'  cellspacing='0'><tr>";      
echo "<td align='left' width='70%'>";
$row = mysql_fetch_array($result);
                
echo "<b><a href=foto.php?p=".stripslashes($row['id'])." class='news'>".stripslashes($row['title'])."</a></b>";
echo "</td>";
echo "<td align='right' width='30%'>";
echo "<p class='title_news'>".stripslashes($row['date'])."</p>";
echo "</td>";
echo "</tr>";
echo "</table>";

во первых почему выводиться только одна последняя тема, если должно выводиться 5 последних?
это фаил самой темы:

$p = $HTTP_GET_VARS['p']; 
                        
@ $db = mysql_pconnect("бла бла");

if (!$db)
 {
 echo "Error: Could not connect to database.  Please try again later.";
exit;
}

mysql_select_db("base");
                
$query = "SELECT   img_a, img_b, img_c, img_d, img_e, img_g from photos where id=$p";                     

$result = mysql_query($query);                

$num_results = mysql_num_rows($result);
                
echo "<img src='img/".stripslashes($row['img_a'])."'>"

почему нет изображения картинки? я наверно не правильно пишу путь. где ошибка?

   
 
 автор: XPraptor   (28.12.2005 в 12:05)   письмо автору
 
   для: inga   (28.12.2005 в 10:43)
 

На счет тем, оператор LIMIT имеет два параметра первый с какой строки выводить и второй сколько строк выводить, наверное один параметр ваш он воспринимает как с какого выводить.
Напишите LIMIT 0,5 должно нормально показать.
На счет имажиков, посмотрите в html коде полученной страницы что там вывелось, правильно ли написался путь к картинке, потом сообщите.

   
 
 автор: inga   (28.12.2005 в 12:38)   письмо автору
 
   для: XPraptor   (28.12.2005 в 12:05)
 

по поводу LIMIT:
что LIMIT 0,5, что LIMIT 5 всеравно оду запись выводит, последнию

   
 
 автор: XPraptor   (28.12.2005 в 12:48)   письмо автору
 
   для: inga   (28.12.2005 в 12:38)
 

Сорри, не заметил, у вас цикла нет при обработке результата вы разбиваете массив и выводите текущую запичь. Нужно перебрать циклом все записи результата.

На счет картинки - напишите что вывелось в файл.

   
 
 автор: inga   (28.12.2005 в 12:50)   письмо автору
 
   для: inga   (28.12.2005 в 12:38)
 

и вот еще чудеса какието:
вот код темы

$p = $HTTP_GET_VARS['p']; 
                        
@ $db = mysql_pconnect("бла бла");

if (!$db)
{
 echo "Error: Could not connect to database.  Please try again later.";
exit;
 }

 mysql_select_db("base");
                
$query = "SELECT   img_a, img_b, img_c, img_d, img_e, img_g from photos where id=$p";                     
$result = mysql_query($query);

$arr = mysql_fetch_row($result);
$arr_pics = array();
for($i = 0; $i < count($arr); $i++)
    if($arr[$i] && is_file($arr[$i]))    
        $arr_pics[] = $arr[$i];            

function ShowPicsArray($arr_pics)
{
    switch(count($arr_pics))
    {
        case 0:
        {
?>
    <p>No pictures found</p>
<?
        
}
        break;
        case 
1:
        {
?>
    <table align="center" cellspacing="2" cellpadding="2" border="0">
    <tr>
        <td><img src="<?echo $arr_pics[0]?>"></td>
    </tr>
    </table>
<?
        
}
        break;
        case 
2:
        {
?>
    <table align="center" cellspacing="2" cellpadding="2" border="0">
    <tr>
        <td><img src="<?echo $arr_pics[0]?>"></td>
        <td><img src="<?echo $arr_pics[1]?>"></td>
    </tr>
    </table>
<?
        
}
        break;
        case 
3:
        {
?>
    <table align="center" cellspacing="2" cellpadding="2" border="0">
    <tr>
        <td><img src="<?echo $arr_pics[0]?>"></td>
        <td><img src="<?echo $arr_pics[1]?>"></td>
    </tr>
    </table>
    <table align="center" cellspacing="2" cellpadding="2" border="0">
    <tr>
        <td><img src="<?echo $arr_pics[2]?>"></td>
    </tr>
    </table>
<?
        
}
        break;
        case 
4:
        {
?>
    <table align="center" cellspacing="2" cellpadding="2" border="0">
    <tr>
        <td><img src="<?echo $arr_pics[0]?>"></td>
        <td><img src="<?echo $arr_pics[1]?>"></td>
    </tr>
    </table>
    <table align="center" cellspacing="2" cellpadding="2" border="0">
    <tr>
        <td><img src="<?echo $arr_pics[2]?>"></td>
        <td><img src="<?echo $arr_pics[3]?>"></td>
    </tr>
    </table>
<?
        
}
        break;
        case 
5:
        {
?>
    <table align="center" cellspacing="2" cellpadding="2" border="0">
    <tr>
        <td><img src="<?echo $arr_pics[0]?>"></td>
        <td><img src="<?echo $arr_pics[1]?>"></td>
    </tr>
    </table>
    <table align="center" cellspacing="2" cellpadding="2" border="0">
    <tr>
        <td><img src="<?echo $arr_pics[2]?>"></td>
        <td><img src="<?echo $arr_pics[3]?>"></td>
    </tr>
    </table>
    <table align="center" cellspacing="2" cellpadding="2" border="0">
    <tr>
        <td><img src="<?echo $arr_pics[4]?>"></td>
    </tr>
    </table>
<?
        
}
        break;
        case 
6:
        {
?>
    <table align="center" cellspacing="2" cellpadding="2" border="0">
    <tr>
        <td><img src="<?echo $arr_pics[0]?>"></td>
        <td><img src="<?echo $arr_pics[1]?>"></td>
    </tr>
    <tr>
        <td><img src="<?echo $arr_pics[2]?>"></td>
        <td><img src="<?echo $arr_pics[3]?>"></td>
    </tr>
    <tr>
        <td><img src="<?echo $arr_pics[4]?>"></td>
        <td><img src="<?echo $arr_pics[5]?>"></td>
    </tr>
    </table>
<?
        
}
    }
}
?>

так вот когда нажимаешь тему попадаешь на страничку где все что написано на php, ну код что выше, вырезано. код же правильный?

   
 
 автор: XPraptor   (28.12.2005 в 12:53)   письмо автору
 
   для: inga   (28.12.2005 в 12:50)
 

Приатачте полный файл. А то здесь кусок и не понятно вверху есть тэг пхп или нет.

   
 
 автор: inga   (28.12.2005 в 13:05)   письмо автору
 
   для: XPraptor   (28.12.2005 в 12:53)
 

если весь это будет очень много, php там нет, там шапка, меню

   
 
 автор: XPraptor   (28.12.2005 в 13:09)   письмо автору
 
   для: inga   (28.12.2005 в 13:05)
 

Дык, он должен там быть. Иначе весь текст как html и выведется.
А что на счет тем? Я выше ответил что у вас цикла нет - помогло?
И на счет файла - что выводится где картинки?

   
 
 автор: inga   (28.12.2005 в 13:27)   письмо автору
 
   для: XPraptor   (28.12.2005 в 13:09)
 

с темами теперь все хорошо. и картинка вывелась.
теперь при нажатии на тему открываеться файл что выше. он должен выводить картинки.
ваши слова "он должен там быть. Иначе весь текст как html и выведется."вообще не могу понять. там только этот код на php все остальное одинакавая шапка, что у меня на всех страничках, в ней php нет.
так вот при нажатии на тему открываеться страничка с шапкой, весь это кусок кудато деваеться.
очень нужна помощь. что здесь не правильно?

   
 
 автор: XPraptor   (28.12.2005 в 13:35)   письмо автору
 
   для: inga   (28.12.2005 в 13:27)
 

Я говорю о том, что в начале вашего фрагмента нет открывающего тэга <?php
Он есть в файле?

   
 
 автор: inga   (28.12.2005 в 13:37)   письмо автору
 
   для: XPraptor   (28.12.2005 в 13:35)
 

а-а! ну конечно

   
 
 автор: XPraptor   (28.12.2005 в 13:42)   письмо автору
 
   для: inga   (28.12.2005 в 13:37)
 

Так вот я и говорю присоедините файл с кодом к сообщению, чтобы можно было детально разобраться, а так по куску не понятно многое. Внизу при ответе на сообщение есть поле Прикрепить там и положите свой файл или запакуйте его если он большой.

   
 
 автор: inga   (28.12.2005 в 14:06)   письмо автору
21.6 Кб
 
   для: XPraptor   (28.12.2005 в 13:42)
 

вот он

   
 
 автор: inga   (28.12.2005 в 14:07)   письмо автору
 
   для: inga   (28.12.2005 в 14:06)
 

и второй с которого ведет ссылка на foto.php

   
 
 автор: XPraptor   (28.12.2005 в 14:35)   письмо автору
 
   для: inga   (28.12.2005 в 14:07)
 

Да, сколько говорю уже на форуме чтобы код писали грамотно - всеравно не помогает.
В таком коде черт ногу сломет искать ошибки.

В общем если считать, что синтаксических и структурных ошибок нет, то остается одно подозрение:
вот после получения массива результата $arr = mysql_fetch_row($result);
Вы начинаете циклом присваивать его в массив картинок.
Но запрашивали вы несколько полей и в массиве они все, а в цикле вы не указываете какое именно поле присваиваете массиву картинок. Вот они наверное всем скопом и хранятся там и вывестись по умолчанию не могут как одна картинка.

ИМХО если глубже копать, то время надо, или код чтобы грамотно написан был со всеми скобками и отступами.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования