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

Форум PHP

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

 

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

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

тема: Проблема с рисунками
 
 автор: sasch   (03.06.2006 в 17:10)   письмо автору
 
 

Все вроде верно, но рисунки не отображаются.

    <?php
       
require_once "../admin/config.php";        
       
$pics=array('hotels/apple/150x97.jpg''hotels/art/150x97.jpg''hotels/baltschug/150x97.gif'
       
'hotels/cclub/150x97.jpg''hotels/cosmos/150x97.jpg');
       
array_rand($pics);    
       for (
$i=1$i<2$i++) 
                    {
                    echo 
'<p class="feature">';
                    echo 
'<a href="';
                    echo 
DIR_WS_HTTP_HOTELS
                    echo 
'">';
                    echo 
'<img scr="';
                    echo 
HTTP_SERVERDIR_WS_IMAGES.$pics[$i]; 
                    echo 
'" alt="Hotel Reservation" width="177" height="73"></a>';
                    echo 
'</p>';
                    }  
    
?>

   
 
 автор: valenok   (03.06.2006 в 17:30)   письмо автору
 
   для: sasch   (03.06.2006 в 17:10)
 

Можешь пожалуйсто объяснить это : DIR_WS_HTTP_HOTELS; ,
и это: HTTP_SERVER. DIR_WS_IMAGES.$pics[$i];

Что эти строчки значут.
И заодно - поделись секретом...Зачем тут for?

   
 
 автор: sasch   (03.06.2006 в 17:37)   письмо автору
 
   для: valenok   (03.06.2006 в 17:30)
 

Есть страница где мне хотелось чтобы рисунок, при каждом новом просмотре, менялся. DIR_WS_HTTP_HOTELS - это простая ссылка заданная мною, типа http://me.com/file/,
HTTP_SERVER. DIR_WS_IMAGES.[ - это то же самое, а $pics$i] - ссылка на фото.

   
 
 автор: sasch   (03.06.2006 в 17:40)   письмо автору
 
   для: sasch   (03.06.2006 в 17:37)
 

Если у Вас есть рабочий, другой вариант мне бы тоже было интересно посмитреть.

   
 
 автор: valenok   (03.06.2006 в 17:44)   письмо автору
 
   для: sasch   (03.06.2006 в 17:37)
 

A for у теня зачем?
Эта твоя ссылка определяется в файле который ты инклудишь в начале скрипта?

   
 
 автор: sasch   (03.06.2006 в 17:50)   письмо автору
 
   для: valenok   (03.06.2006 в 17:44)
 

for () - для генерации случ. числа.

   
 
 автор: JIEXA   (03.06.2006 в 17:55)   письмо автору
 
   для: sasch   (03.06.2006 в 17:50)
 

Для генерации случайного числа правильнее использовать функцию rand()

   
 
 автор: sasch   (03.06.2006 в 17:59)   письмо автору
 
   для: JIEXA   (03.06.2006 в 17:55)
 

Для генерации случайной картинки

   
 
 автор: valenok   (03.06.2006 в 17:51)   письмо автору
 
   для: valenok   (03.06.2006 в 17:44)
 

Поясни мне взаимодейтствие этих строк:
for ($i=1; $i<2; $i++)

echo HTTP_SERVER. DIR_WS_IMAGES.$pics[$i];

Допустим у нас один и тот же каталог...
echo $pics[$i];

Какую картинку по твоему он выдаст и почему?

   
 
 автор: sasch   (03.06.2006 в 17:57)   письмо автору
 
   для: valenok   (03.06.2006 в 17:51)
 

Ты прикалываешься?

   
 
 автор: valenok   (03.06.2006 в 18:00)   письмо автору
 
   для: sasch   (03.06.2006 в 17:57)
 

Нет, а ты?

   
 
 автор: sasch   (03.06.2006 в 18:02)   письмо автору
 
   для: valenok   (03.06.2006 в 18:00)
 

А как по-твоему я должна узнать какую картинка будет выбрана?

   
 
 автор: valenok   (03.06.2006 в 18:07)   письмо автору
 
   для: sasch   (03.06.2006 в 18:02)
 

Значения переменным подтставь

   
 
 автор: valenok   (03.06.2006 в 18:13)   письмо автору
 
   для: valenok   (03.06.2006 в 18:07)
 

Ладно - попробую по другому.

Делаем так: ты пишешь какую роль выполняет КАЖДАЯ строчка твоего скрипта.

   
 
 автор: sasch   (03.06.2006 в 18:21)   письмо автору
 
   для: valenok   (03.06.2006 в 18:13)
 


       $pics=array('hotels/apple/150x97.jpg', 'hotels/art/150x97.jpg', 'hotels/baltschug/150x97.gif', 
       'hotels/cclub/150x97.jpg', 'hotels/cosmos/150x97.jpg');


Создаем массив - верно?

   
 
 автор: valenok   (03.06.2006 в 18:28)   письмо автору
 
   для: sasch   (03.06.2006 в 18:21)
 

Наверное.
Дальше.

   
 
 автор: sasch   (03.06.2006 в 18:31)   письмо автору
 
   для: valenok   (03.06.2006 в 18:28)
 


array_rand($pics);    

Применяем функцию для выбора случ. картинки. - Верно?

   
 
 автор: valenok   (03.06.2006 в 18:32)   письмо автору
 
   для: sasch   (03.06.2006 в 18:31)
 

Ну вроде применили.
только не к картинке а к элементам массива.

Зачем - не знаю. Ну, если подозрения не вызывает - давай дальше.

   
 
 автор: sasch   (03.06.2006 в 18:34)   письмо автору
 
   для: valenok   (03.06.2006 в 18:32)
 

Ну если вы считаете что проблема тут, то как правильно? Дальше все просто.

   
 
 автор: valenok   (03.06.2006 в 18:38)   письмо автору
 
   для: sasch   (03.06.2006 в 18:34)
 

Да и не только тут...
Продолжай пока дальше.

   
 
 автор: sasch   (03.06.2006 в 18:41)   письмо автору
 
   для: valenok   (03.06.2006 в 18:38)
 

Хотела применить shuffle(), но у меня нет PHP5 и работать не будет. В книге сказано, что применение array_rand() позволит сделать то же самое. Вот я и пробую.

   
 
 автор: kasmanaft   (03.06.2006 в 18:44)   письмо автору
 
   для: sasch   (03.06.2006 в 18:41)
 

возможно картинки не отображаются потому, что надо писать не SCR a SRC ;))

еще бы посоветовал, как уже говорили, генерировать число (номер картинки), а не перемешивать массив!! (как происходит сейчас)
<?
srand
((float) microtime() * 1000000); // включаем генератор
$rand_ch rand(0,2); // генерируем число от 0 до 2 (включительно)
echo $rand_ch;
?>

а потом уже выводить картинку со сгенерированным номером
$pics[$rand_ch]

   
 
 автор: sasch   (03.06.2006 в 18:59)   письмо автору
 
   для: kasmanaft   (03.06.2006 в 18:44)
 

Да! ВЫ правы. Бревна то я и не увидела... Спасибо Вы очень внимательны....

   
 
 автор: valenok   (03.06.2006 в 18:42)   письмо автору
 
   для: valenok   (03.06.2006 в 18:38)
 

Лан, извини мне надо идти.
1. Попробуй себе объяснить зачем тут for
2. Прочитай документацию о цункции array_randomization
3. Найди хороший учебник.
4. Прочитай где нибудь о массивах.

   
 
 автор: valenok   (03.06.2006 в 18:44)   письмо автору
 
   для: valenok   (03.06.2006 в 18:42)
 

http://il2.php.net/manual/ru/function.array-rand.php

И shufle и array_rand немного разные функции.

   
 
 автор: valenok   (03.06.2006 в 18:45)   письмо автору
 
   для: valenok   (03.06.2006 в 18:44)
 

Пока.
Может вернусь позже.

   
 
 автор: sasch   (03.06.2006 в 19:05)   письмо автору
 
   для: valenok   (03.06.2006 в 18:45)
 

<?php
       
require_once "../admin/config.php";
       
srand((float) microtime() * 1000000);         
       
$pics=array('hotels/apple/150x97.jpg''hotels/art/150x97.jpg''hotels/baltschug/150x97.gif'
       
'hotels/cclub/150x97.jpg''hotels/cosmos/150x97.jpg');
       
$rand_keys array_rand($pics5);    

                    echo 
'<p class="feature">';
                    echo 
'<a href="';
                    echo 
DIR_WS_HTTP_HOTELS
                    echo 
'">';
                    echo 
'<img src="';
                    echo 
HTTP_SERVERDIR_WS_IMAGES.$pics[$rand_keys[0]]; 
                    echo 
'" alt="Hotel Reservation" width="177" height="73"></a>';
                    echo 
'</p>'
        
?>
Так все работает! Спасибо.

   
Rambler's Top100
вверх

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