Вывод и сокрытие блока - php

12
S
На сайте с 13.11.2012
Offline
72
#11

Сделал так и не работает :(


<?if(!empty($config["link1"])):?>
<?php
$banners = array ();
$banners[1] = $config["link1"];
?>
<?php endif;?>
<?if(!empty($config["link2"])):?>
<?php
$banners = array ();
$banners[2] = $config["link2"];
?>
<?php endif;?>
<?if(!empty($config["link3"])):?>
<?php
$banners = array ();
$banners[3] = $config["link3"];
?>
<?php endif;?>
<?if(!empty($config["link4"])):?>
<?php
$banners = array ();
$banners[4] = $config["link4"];
?>
<?php endif;?>
<?if(!empty($config["link5"])):?>
<?php
$banners = array ();
$banners[5] = $config["link5"];
?>
<?php endif;?>

отображает только одну ссылку и все.

K
На сайте с 17.02.2006
Offline
106
#12

Так чтоль?


<?php


//Ищем в $config и записываем в $banners
$b=0;
$banners = array();
for ($a=0; $a <= 10; $a++)
{
if (array_key_exists("link".$a, $config))
{
$banners[$b] = $config["link".$a];
$b++;
}
}

//Выводим $banners:
for ($a=0; $a < count($banners); $a++)
{
echo $banners[$a];
}
?>
Хостим сайты. Есть VDS с IP.
S
На сайте с 13.11.2012
Offline
72
#13

kosmohost, почти работает.

В результате выводит все ссылки сразу, как сделать рандомный вывод одной ссылки?

У меня проблема в том, что в код прописывал так

<?php
$banners = array ();
$banners[1] = $config["link1"];
$banners[2] = $config["link2"];
$banners[3] = $config["link3"];
?>

а в базе 1 ссылка и получалось, что дважды выводит пустое место.

Мне нужно чтобы не было пусто.

Видимо в вашем скрипте нужно что-то добавить.

Помогите, пожалуйста.

---------- Добавлено 10.07.2016 в 00:44 ----------

Так при обновлении страницы выводит пустое место если link... не задан.

<?php echo $banners[array_rand ($banners)] ?>
K
На сайте с 17.02.2006
Offline
106
#14

Тогда делаем так

<?php


//Ищем в $config и записываем в $banners
$b=0;
$banners = array();
for ($a=0; $a <= 10; $a++)
{
if (array_key_exists("link".$a, $config))
{
$banners[$b] = $config["link".$a];
$b++;
}
}

//Выводим $banners:
echo $banners[array_rand ($banners)]
?>
S
На сайте с 13.11.2012
Offline
72
#15

Нет, все равно отображает не заданное (пустое) поле.

видимо где-то нужно прописать !empty

K
На сайте с 17.02.2006
Offline
106
#16

Если

$config["link1"]

$config["link2"]

$config["link3"]

$config["link4"]

$config["link5"]

всегда существуют, но просто равны пустоте, то тогда

<?php


//Ищем в $config и записываем в $banners
$b=0;
$banners = array();
for ($a=0; $a <= 10; $a++)
{
if (!empty($config["link".$a]))
{
$banners[$b] = $config["link".$a];
$b++;
}
}

//Выводим $banners:
echo $banners[array_rand ($banners)]
?>
S
На сайте с 13.11.2012
Offline
72
#17

Да, они всегда существуют, я по другому не смог сделать.

Теперь работает!

Спасибо!

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий