Вывод текста в разных категориях?

irina_S

Новичок
Вывод текста в разных категориях?

Приветствую спецов.

Помогите решить маленькую проблемку

вот мой код
PHP:
if ($row['category'] == "3") 
	{$tags['title'] = stripslashes($row['title']);}

elseif ($row['category'] == "4")
	{
	$tags['title'] = stripslashes($row['title2']);
	}

elseif ($row['category'] == "5")
	{
	$tags['title'] = stripslashes($row['title3']);
	}

elseif ($row['category'] == "6") 
	{
	$tags['title'] = stripslashes($row['title4']);
	}

elseif ($row['category'] == "7")
	{
	$tags['title'] = stripslashes($row['title5']);
	}
суть в том, что при заходе в нужную категорию вывадился бы определенный текст, но дело в том что в категории 3 все нормально, в категории 4 тоже все в норме, а во всех остальных выводется все тоже, что и в 4.

Подскажите в чем ошибка или как сделать правильно.
Спасибо.
 

nexen

Новичок
есть для этого конструкция switch

switch($row['cat']){
case 3:$tags['title'] = stripslashes($row['title']);
break;
case 4:$tags['title'] = stripslashes($row['title1']);
break;
case 5:$tags['title'] = stripslashes($row['title2']);
break;
}

а сам массив $row проверяли на содержимое? - сделайте вывод

echo '<pre>'.print_r($row, 1).'</pre>';
 

dimagolov

Новичок
сделай как-то так:
PHP:
$Cat_ToTitle= array (
 3 => '',
 4 => '2',
 5 => '3',
...
);
if (isset($Cat_ToTitle[intval($row['category'])]) && isset($row['title'.$Cat_ToTitle[intval($row['category'])]]))
  $tags['title']= $row['title'.$Cat_ToTitle[intval($row['category'])]];
else
  $tags['title']= 'No Title';
Но это какая-то ерунда, похоже, потому что $row скорее это строка из БД и она должна содержать все категории? почему? да и stripslashes тут непонятно откуда и зачем.
 

irina_S

Новичок
с запросами ни каких проблем нет, при заходе в каждую категорию [category] приобретает цифровое значение (типа [category] => 7) соответствующей категории, stripslashes тоже ни каких проблем, он там нужен.


т.е. я захожу в категорюю допустим новости она имеет id 7 и в ней должен выводиться текст из $row['title5'];
для id 3 - $row['title']) т.д.

с запросами нет проблем от туда все нормально получается, но не пойму как сделать именно для каждой категории свой текст, т.к. ниже
PHP:
elseif ($row['category'] == "4") 
    { 
    $tags['title'] = stripslashes($row['title2']); 
    }
ни чего не идет, а выводит именно текст для 4 категории.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
exxbrain
Я думаю что бессмысленно продолжать дискуссию до тех пор пока ТС не удосужится сделать то, о чем сказали уже 2 человека.
 

exxbrain

Новичок
irina_S
попробую предположить, но по логке вещей должно работать
PHP:
if ($row['category'] == "3") 
    {$tags['title'] = stripslashes($row['title']);}

elseif ($row['category'] == "4")
    {
    $tags['title'] = stripslashes($row['title']);
    }

elseif ($row['category'] == "5")
    {
    $tags['title'] = stripslashes($row['title']);
    }

elseif ($row['category'] == "6") 
    {
    $tags['title'] = stripslashes($row['title']);
    }

elseif ($row['category'] == "7")
    
    $tags['title'] = stripslashes($row['title']);
    }
 

irina_S

Новичок
PHP:
if(!$CN_HALT){    	
$с=$db->query("SELECT id, title, title2, title3, title4, title5, category, descr, FROM sr_post where id = '$id'");   

 	while($row = $db->get_row($с))
{  
 
 if ($row['category'] == "3")  
    {$tags['title'] = stripslashes($row['title']);} 

elseif ($row['category'] == "4") 
    { 
    $tags['title'] = stripslashes($row['title2']); 
    } 

elseif ($row['category'] == "5") 
    { 
    $tags['title'] = stripslashes($row['title3']); 
    } 

elseif ($row['category'] == "6")  
    { 
    $tags['title'] = stripslashes($row['title4']); 
    } 

elseif ($row['category'] == "7") 
    { 
    $tags['title'] = stripslashes($row['title5']); 
    }

}
 

exxbrain

Новичок
irina_S
попробуй
PHP:
...
     while($row = $db->get_row($с))
{  
 print_r($row); 

 if ($row['category'] == "3")  
    {$tags['title'] = stripslashes($row['title']);} 
...
что на экране?
 

irina_S

Новичок
exxbrain

Array ( [id] => 6932 [title] => текст1 [title2] => текст2 [title3] => текст3 [title4] => текст4 [title5] => текст5 [category] => 7 [descr] => описание [keywords] => список ключевых слов)
 

exxbrain

Новичок
irina_S
а если выбрать категорию 4?
Честно говоря алгоритм не совсем понятен. Почему для категории 7 должен выводится текст из ячейки title5?
 

irina_S

Новичок
Автор оригинала: exxbrain
irina_S
а если выбрать категорию 4?
то и будет [category] => 4


[descr] и [keywords] тоже естественно в каждом свои, [id] это ид новости из данной категории, но эти параметры в данном случаи не важны
 

irina_S

Новичок
Array ( [id] => 635 [title] => текст1 [title2] => текст2 [title3] => текст3 [title4] => текст4 [title5] => текст5 [category] => 4 [descr] => описание [keywords] => список ключевых слов)
 

nexen

Новичок
<form action = 'out.php' method = 'post'>
<input type = 'text' name = 'id'>
<input type = 'submit' value = 'send'>
</form>
<?php
$id = $_POST['id'];
$row = array(0 => 'title a', 1 => 'title b', 2 => 'title c', 3 => 'title d', 4 => 'title e');
$s = sizeof($row);
for($i = 0; $i < $s; ++$i){
if($id == $i){
$tags['title'] = $row[$i];
break;
}
}
echo $tags['title'];
?>
 

exxbrain

Новичок
1. Ты хочешь чтоб для категории 7 выводился текст 'текст5' а для категории 4 'текст2' - правильно?
2. Для всех новостей значения полей title... одинаковы?
3. Для чего нужны эти поля - что там реально храниться - заголовки категорий?
 
Сверху