![]() |
Показаны 33 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- Срочно помогите!!! (http://netadmin.ws/forum/showthread.php?threadid=5482)
Срочно помогите!!!
-------------------------
ПОЖАЛУЙСТА ПОМОГИТЕ!!!!!
-------------------------
index.php
Вот такой скрипт:
....
<?
if ($id == news) { ?>
АÐ_хив новостей.... и т.д.
<?
if ($news == may) { ?>
Новости на 11 мая... и т.д.
<?
}
}
?>
....
при переходе по ссылке http://myserver.ru/index.php?id=news&news=may
браузер Выведет такое:
АÐ_хив новостей.... и т.д. Новости на 11 мая... и т.д.
А как сделать так, чтобы броузер вывел только:
Новости на 11 мая... и т.д.
?????????????????????
----------------------------------------
Помогите кто чем может!!!!!!!!!!!!!!!!!!
----------------------------------------
....
<?php
if ($news == may) { ?>
Новости на 11 мая... и т.д.
<?php
}
if (($id == news) && ($news != may) ) { ?>
АÐ_хив новостей.... и т.д.
<?php
}
?>
....
__________________
Национальность - русский, вероисповедание - программист.
blacki в твоем случае тоже будут выполнятся оба условия.
должно быть:
if ($id=='news' AND (!$news OR !isset($news) OR $news == '' /*хотя это уже лишнее*/))
__________________
Всегда есть решение.
polo ок понял
__________________
Национальность - русский, вероисповедание - программист.
Так как мне сделать?
как polo написал
__________________
Национальность - русский, вероисповедание - программист.
Сделал так:
<?php
if($id == 'news'){
?>
Архив новостей!
<?php
}
if ($id=='news' AND (!$news OR !isset($news) OR $news == 'may' /*хотя это уже лишнее*/)){ ?>
Архив за май
<?php
}
?>
Когда вызываю ссылку: http://server/index.php?id=news
то появляется в окне:
Архив новостей! Архив за май (а мне надо, чтобы при вызове этой ссылке показывало только Архив новостей)
Когда вызываю ссылку: http://server/index.php?id=news&news=may
то появляется в окне:
Архив за май (что и надо было), т.к. сделать так чтобы при переходе на ссылку http://server/index.php?id=news показывало только надпись: Архив новостей. ???
наоборот нужно сделать:
<?php
if ($id=='news' AND (!$news OR !isset($news))){ ?>
?>
Архив новостей!
<?php
}
else {
?>
Архив за май
<?php
а лучше всего так
if ($news) {
// показываем архив за месяц
} else {
// показываем архив новостей
}
?>
__________________
Всегда есть решение.
что-то я не понял: как мне теперь это все сделать так, чтобы работали сслыки:
http://server/index.php?id=news
http://server/index.php?id=news&news=januar
http://server/index.php?id=news&news=februar
http://server/index.php?id=news&news=mart
http://server/index.php?id=news&news=april
http://server/index.php?id=news&news=may
http://server/index.php?id=news&news=june
http://server/index.php?id=news&news=jule
http://server/index.php?id=news&news=august
http://server/index.php?id=news&news=september
http://server/index.php?id=news&news=november
http://server/index.php?id=news&news=december
и в каждой ссылке все было разное..
if ($id === 'news') {
if (isset($news)) {
// показываем за месяц
} else {
// показываем архив
}
}
__________________
Всегда есть решение.
а почему три знака '='?
что такое isset?
--------------------------------
Если вам не трудно напишите для пару-тройку ссылок пример..
Димка, на оба своих вопроса ты найдешь ответ по адресу www.php.net !
но там все по-английски, а я его не очень знаю..., поэтому мне трудно это будет найти, именно поэтому я здесь задаю вопросы...
Димка
if ($id === 'news')
=== возвращает TRUE, если значение одной переменной идентично значению другой, при условии, что обе сравнимые переменные одного типа.
isset() возвращает TRUE, если переменная имеет какое-либо значение. На замечательном сайте php.net есть действительно все ответы на вопросы начинающих. Не ленитесь, ищите, изучайте, познавайте.
__________________
`
SiteMaker.Ru - Академия сайтостроительства
Denveroid
А разве не "==" - идентичность значений?
__________________
Админ - вождь Апачей...
he][es
ага, но только он вернет TRUE и в таком случае:
$a = "1"; // это стринг
$b = 1; // это integer
if($a==$b)
... // вернет TRUE
if($a===$b)
... // вернет FALSE
__________________
`
SiteMaker.Ru - Академия сайтостроительства
что такое string и что такое integer?
Димка добавил 17-05-2003 в 11:48:57:
и чем отличается:
if($name == test){}
от
if($name == 'test'){}
??
quote:
Первоначальное сообщение от Димка
что такое string и что такое integer?
quote:
Первоначальное сообщение от Димка
и чем отличается:
if($name == test){}
от
if($name == 'test'){}
?? [/B]
у меня дома на компе стоит сервер и php версии 4.2
и у меня работает хоть написано так:
if($name == test){}
хоть так:
if($name == 'test'){}
Димка добавил 17-05-2003 в 16:43:30:
почему?
Просто пхп шибко умный. Попробуй написать так:
error_reporting(2047);
if($_GET['name'] == test){print 'ok';}
ты увидишь такое сообщение:
Notice: Use of undefined constant test - assumed 'test' in /home/rumata/public_html/test.php on line 3
Т.е. пхп увидел незнакомую строчку, понял, что это плохой программист =)) забыл поставить кавычки и фактически поставил их сам.
если test еще и будет работать но вот te st никогда.
__________________
Всегда есть решение.
А помоему Димка подразумевал вот это:
if ($id=='news' && $news='may') {
if ($id=='news' && $news='june') {
И так далее
__________________
Типа спициялист по елехтронной комэрцыи. Крут не по децки.
quote:
А помоему Димка подразумевал вот это:
if ($id=='news' && $news='may') {
if ($id=='news' && $news='june') {
И так далее
__________________
Всегда есть решение.
There is more than one way to do it 
switch($news) {
case 'may':
блабла;
break;
case 'jun':
юлаюла;
break;
}
Так лучше?
__________________
Типа спициялист по елехтронной комэрцыи. Крут не по децки.
гораздо. Но всеравно нужно будет делать 12 одинаковых запросов к базе или откуда берутся данные. Я бы сделал так:
1. Проверить что $news содержит правильной значение.
2. Другие операции над $news.
3. Получение данных
Да и вообще этот параметр с месяцами не правилен. Тут можно полагаться только на один год, а если года два или больше? Имхо, $news должно содержать что-то типа 200305 или 2003-05 (год и месяц). При помощи регулярки получить параметры.
__________________
Всегда есть решение.
Если уж улучшать, так надо просто писать запрос к базе данных вида SELECT bla bla bla WHERE time <= $t1 AND time >= $t2
это решит все проблемы =)
Rumata
SELECT bla bla bla WHERE time BETWEEN $t1 AND $t2
если уж на то пошло. 
А вообще я вопроса не понял в первом сообщении. Задачу не понял...
__________________
`
SiteMaker.Ru - Академия сайтостроительства
НЕ, я подразумевал вот что:
<?php
if ($id == "news") {
if ($news == "jan"){ ?>
Новости за январь <?php }
elseif ($news == "feb"){ ?>
Новости за февраль <?php }
elseif ($news == "mar"){ ?>
Новости за март <?php }
elseif ($news == apr"){ ?>
Новости за апрель <?php }
elseif ($news == "may"){ ?>
Новости за май <?php }
elseif ($news == "jun"){ ?>
Новости за июнь <?php }
elseif ($news == "jul"){ ?>
Новости за июль <?php }
elseif ($news == "aug"){ ?>
Новости за август <?php }
elseif ($news == "sep"){ ?>
Новости за сентябрь <?php }
elseif ($news == "oct"){ ?>
Новости за октябрь <?php }
elseif ($news == "nov"){ ?>
Новости за ноябрь <?php }
elseif ($news == "dec"){ ?>
Новости за декабрь <?php }
else{ ?>
Выберите месяц (и естессно ссылки на file.php?id=news&new s=jan/feb/ и тд)
<?php
}
}
?>
Димка
тогда нужно делать примерно так, как посоветовал Polo.
То есть, передаешь скрипту параметры: file.php?year=2003&month=5&day=18 или file.php?2003/5/18 ну и т.д...
ну и тут уже сам бог велел разобраться
Делай с этими параметрами все что хочешь.
__________________
`
SiteMaker.Ru - Академия сайтостроительства
Люди, а как сделать так, чтобы на странице показывало только 5 новостей, а внизу страницы были ссылки на 2, 3 и т.д. страницы...?
http://netadmin.ws/forum/showthread...44266#post44266
__________________
Всегда есть решение.
И не надоело вам условные выражения в таком количестве писать?
$months= Array('jan','feb', ....);
if (!empty($_GET['news']))
{
if (in_array($_GET['news']))
{
define('NEWS_MONTH',$_GET['news']);
# выводим новость
}
}
if (!defined('NEWS_MONTH'))
{
# вывод содежания
}
__________________
FAQ OFF
да тема вообще непонятная, како-то пустяк на 2 страницы расстянули. Закрываем.
__________________
Всегда есть решение.
| Формат времени GMT. Текущее время 04:52. | Показаны 33 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.