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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: симметричный вывод изображений

Сообщения:  [1-3] 

 
 автор: maccamset   (23.12.2009 в 23:55)   письмо автору
 
   для: Valick   (23.12.2009 в 23:45)
 

Спасибо, уже на другом форуме помогли. Ошибка в том что отображалось всё криво, т.е. на 8 место становилась картинка с id_p = 9. Появлялись проблемы с табцицей: незакрытые теги и т.д. решение такое: счётчик объявляем до цикла ($i=1)? инкремент вконце цикла ($i++), и использовать $i вместо $myrow["id_p"] там где я вычисляю место текущей картинки. всё просто оказалось, сам почти дошёл до этого :)

  Ответить  
 
 автор: Valick   (23.12.2009 в 23:45)   письмо автору
 
   для: maccamset   (23.12.2009 в 22:39)
 

Что за ошибка?

  Ответить  
 
 автор: maccamset   (23.12.2009 в 22:39)   письмо автору
 
 

Приветствую всех. Прошу помоч.
Задача: из бд нужно выводить изображения таким образом, чтобы они становились в строку по 3 штуки, а в последней строке становились симметрично. т.е. , к примеру дано 8 картинок, выводим первые три в первой строке, вторые три во второй строке, а оставшиеся две в третей строке, но симметрично центру. если 7 штук изначально, то последняя картинка - седьмая должна расположиться по центру. Привожу код:
Если нужны комментарии - сделаю.
Проблема этого кода в том, что если в базе id_p идут не по порядку, то он работает неправильно.
Т.е. если после 7 идёт 9, то ошибка. Помогите исправить этот код или подскажите где найти решение моей задачи.

    <?
##

if (isset($_GET['id_p'])) {$id_p $_GET['id_p'];}
if (isset(
$_GET['name_p'])) {$name_p $_GET['name_p'];}
if (isset(
$_GET['img_index'])) {$img_index $_GET['img_index'];}

$result mysql_query("SELECT * FROM `poshiv`");

$num_rows mysql_num_rows($result); 

echo 
'<p valign = "top"><table width="500" border="1" align="center">';
echo 
"<tr>";
#    мегацикл 
#    
while ($myrow mysql_fetch_assoc($result))
{
$a $myrow["id_p"]%3;
if (
$myrow["id_p"] % == 0)
    {
    if (
$num_rows $myrow["id_p"] == 0)
        {
            
printf ("<td><p><img src='%s' width='120' height='78' alt='фото'>
            <a href='edit_lesson.php?id_p=%s'>trt%s</a></p></td>"
,$myrow["img_index"],$myrow["id_p"],$myrow["name_p"]);
            break;
        }
    
printf ("<td width='166'><p><img src='%s' width='120' height='78' alt='фото'>
    <a href='edit_lesson.php?id_p=%s'>df%s</a></p></td></tr><tr>"
,$myrow["img_index"],$myrow["id_p"],$myrow["name_p"]);
    }
#    float fmod ( float $x , float $y )
#    Возвращает дробный остаток от деления десятичных дробей x и y ). 
#    Остаток (r) определяется так: x = i * y + r, где i - некоторое целое. 
#    r всегда имеет такоей же знак, как и x и модуль, меньший или равный модулю y .
elseif ($num_rows $myrow["id_p"] == && fmod($myrow["id_p"], 3) == 1)
    {
        
#echo "<td colspan='3' align='center'>".$myrow['id_p']."</td>";
        
printf ("<td colspan='3' align='center'><p><img src='%s' width='120' height='78' alt='фото'><br>
        <a href='edit_lesson.php?id_p=%s'>797%s</a></p></td></tr><tr>"
,$myrow["img_index"],$myrow["id_p"],$myrow["name_p"]);
    }
elseif (
$num_rows $myrow["id_p"] == && fmod($myrow["id_p"], 3) == 1)
        {
            
/*echo "<td colspan='3'><table width='490' border='1'>
                <tr>
                <td>".$myrow['id_p']."</td>";*/
            
printf ("<td colspan='3'><table width='490' border='1'><tr><td><p><img src='%s' width='120' height='78' alt='фото'>
        <a href='edit_lesson.php?id_p=%s'>787%s</a></p></td>"
,$myrow["img_index"],$myrow["id_p"],$myrow["name_p"]);    
        }
elseif (
$num_rows $myrow["id_p"] == && fmod($myrow["id_p"], 3) == 2)
        {
            
/*echo "<td>".$myrow['id_p']."</td>
                </tr>
                </table></td>";*/
            
printf ("<td><p><img src='%s' width='120' height='78' alt='фото'>
        <a href='edit_lesson.php?id_p=%s'>77%s</a></p></td></tr></table></td>"
,$myrow["img_index"],$myrow["id_p"],$myrow["name_p"]);    
        }
else
    {
        
printf ("<td width='166'><p><img src='%s' width='120' height='78' alt='фото'>
        <a href='edit_lesson.php?id_p=%s'>7%s</a></p></td>"
,$myrow["img_index"],$myrow["id_p"],$myrow["name_p"]);
    }
}
echo 
"</tr></table></p>";
echo 
"<br>Получено строк: $num_rows";
##
?>

  Ответить  

Сообщения:  [1-3] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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