Как да сложа категории ?

nom3r1 каза:
Код:
<? 
include ("config.php");
function secure($var) { 
return addslashes(htmlspecialchars($var)); 
} 
$cat = secure($_GET['cat']); 
$sql = mysql_query("SELECT * FROM news WHERE cat='$cat'"); 
while($r = mysql_fetch_assoc($sql)){ 
echo '<h1>'.$r[cat].'</h1><hr /><br /> '.$r[name].' -> <a href="viewarticle.php?tid='.$r[id].'">View</a> | 
<a href="editarticle.php?tid='.$r[id].'">Edit</a>| 
<a href="deletearticle.php?tid='.$r[id].'">Delete</a><br>'; 
} 

?>
:?:
Пак е така :(
 
<?
include ("config.php");
function secure($var) {
return addslashes(htmlspecialchars($var));
}
$cat = secure($_GET['cat']);
$sql = mysql_query("SELECT * FROM news WHERE cat='$cat'");
while($r = mysql_fetch_assoc($sql)){
echo '<h1>'.$r[cat].'</h1><hr /><br /> '.$r[name].' -> <a href="viewarticle.php?tid='.$r[id].'">View</a> |
<a href="editarticle.php?tid='.$r[id].'">Edit</a>|
<a href="deletearticle.php?tid='.$r[id].'">Delete</a><br>';
}

?>


Виж ако категорията ти е CS 1.6 , няма да стане , но ако е CS16 ще стане я пробвай така и кажи :?:
 
Категорията ми е test.Отново ми излиза бяла станица.
 
sianbg2 каза:
Това колкото и да се мъча нестава.
Влезни в phpmyadmin и виж да ли добавя Категорията и да ли в Новината е добавена и категорията :?:
 
Намерих проблема.В cat при добавяне на новина не се записва категорията а
<option value=\"imeto na kategoriqta\" class=\"bottom\">imeto na kategoriqta</option>";

Не съм сигорен дали така беше.Нещо такова беше.Като го замених с името на категорията само се оправи.Работи category.php?=име .Как да оправя сега addnews.php ?
 
sianbg2 каза:
Намерих проблема.В cat при добавяне на новина не се записва категорията а
<option value="imeto na kategoriqta" class="bottom">imeto na kategoriqta</option>";

Не съм сигорен дали така беше.Нещо такова беше.Като го замених с името на категорията само се оправи.Работи category.php?=име .Как да оправя сега addnews.php ?
Какво му има на addnews.php :roll:
Код:
<table width="300" height="10" border="1"> 
<tr><td><a href="index.php">Новини</a> | <a href="addnews.php">Добави новина</a> | <a href="newsadmin.php">АДМИН Панел</a></td></tr></table> 
<form action="" method="post"> 
Име на новина: <input type="text" name="name" /> 
<br /> 
<select name="cat" id="cat" style="width=270px" align="left"> 
<option>Select Category</option> 
<?php 
//настройки за база данни 
$dbhost = "db host"; 
$dbuser = "db user"; 
$dbpass = "db pass"; 
$dbname = "db name"; 
$conn = mysql_connect($dbhost, $dbuser, $dbpass)or die(mysql_error()); 
mysql_select_db($dbname, $conn)or die(mysql_error()); 

$r = mysql_query("SELECT * FROM cats"); 
while($row = mysql_fetch_array($r)){ 
$cat .= "<option value="$row[cat]" class="bottom">$row[cat]</option>"; 
} 
echo $cat; 
?> 
</select> 
<br /> 
Цялата новина: <input type="text" name="news"> 
<br /> 
<input type="submit" name="submit" value="Добави" /> 
</form> 
<?php 
if (isset($_POST["submit"])) { 
if (!empty($_POST["name"])) $name = htmlspecialchars($_POST["name"]); 
else $errMsg = "Не сте въвели име на новината!<br />"; 

if (!empty($_POST["news"])) $news = htmlspecialchars($_POST["news"]); 
else $errMsg = "Не сте въвели новината!<br />"; 

if (empty($errMsg)) { 
$insert = mysql_query("INSERT INTO news(name, news, cat) VALUES('$name', '$news','$cat')") or die(mysql_error()); 
echo 'Новината е добавена успешно! <a href="index.php">Новини</a>'; 
} 
else 
echo $errMsg; 
mysql_close(); 
} 
?>
:roll:
 
@nom3r1 нека да обясня по добре.

Когато добавя новина се записва новината и категорията.Проблема е че в таблицата news в cat не се записва името на категорията а
<option value="sianbg" class="bottom">imeto na kategoriqta</option>
След това трябва да редактирам ръчна новината и cat да остане само името на категорията.
Този проблем не е ли в addnews.php ?
Ако не редактирам категорията в category?=imeto na kategoriqta не излиза новината.
 
Код:
<table width="300" height="10" border="1"> 
<tr><td><a href="index.php">Новини</a> | <a href="addnews.php">Добави новина</a> | <a href="newsadmin.php">АДМИН Панел</a></td></tr></table> 
<form action="" method="post"> 
Име на новина: <input type="text" name="name" /> 
<br /> 
<select name="cat" id="cat" style="width=270px" align="left"> 
<option>Select Category</option> 
<?php 
//настройки за база данни 
$dbhost = "db host"; 
$dbuser = "db user"; 
$dbpass = "db pass"; 
$dbname = "db name"; 
$conn = mysql_connect($dbhost, $dbuser, $dbpass)or die(mysql_error()); 
mysql_select_db($dbname, $conn)or die(mysql_error()); 

$r = mysql_query("SELECT * FROM cats"); 
while($row = mysql_fetch_array($r)){ 
$cat .= "<option value=\"$row[cat]\" class=\"bottom\">$row[cat]</option>"; 
} 
echo $cat; 
?> 
</select> 
<br /> 
Цялата новина: <input type="text" name="news"> 
<br /> 
<input type="submit" name="submit" value="Добави" /> 
</form> 
<?php 
if (isset($_POST["submit"])) { 
if (!empty($_POST["name"])) $name = htmlspecialchars($_POST["name"]); 
else $errMsg = "Не сте въвели име на новината!<br />"; 

if (!empty($_POST["news"])) $news = htmlspecialchars($_POST["news"]); 
else $errMsg = "Не сте въвели новината!<br />"; 

if (!empty($_POST["cat"])) $news = htmlspecialchars($_POST["cat"]); 
else $errMsg = "Не сте въвели категория!<br />"; 

if (empty($errMsg)) { 
$insert = mysql_query("INSERT INTO news(name, news, cat) VALUES('$name', '$news','$cat')") or die(mysql_error()); 
echo 'Новината е добавена успешно! <a href="index.php">Новини</a>'; 
} 
else 
echo $errMsg; 
mysql_close(); 
} 
?>
 
@ nom3r1 ето ти + защото много ми помогна,но и този код нестава.Пак е същата работа.
 
sianbg2 каза:
@ nom3r1 ето ти + защото много ми помогна,но и този код нестава.Пак е същата работа.
Я ми дай таблицата `news` да вида как е
 
nom3r1 каза:
sianbg2 каза:
@ nom3r1 ето ти + защото много ми помогна,но и този код нестава.Пак е същата работа.
Я ми дай таблицата `news` да вида как е
Код:
-- phpMyAdmin SQL Dump
-- version 2.9.2
-- http://www.phpmyadmin.net
-- 
-- Host: localhost
-- Generation Time: Jan 28, 2009 at 08:15 AM
-- Server version: 5.0.33
-- PHP Version: 5.2.1
-- 
-- Database: `site`
-- 

-- --------------------------------------------------------

-- 
-- Table structure for table `news`
-- 

CREATE TABLE `news` (
  `id` int(8) NOT NULL auto_increment,
  `name` varchar(255) collate latin1_general_ci NOT NULL,
  `news` varchar(255) collate latin1_general_ci NOT NULL,
  `cat` varchar(255) collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=4 ;

-- 
-- Dumping data for table `news`
-- 

INSERT INTO `news` VALUES (1, 'siamnbbg', 'sianbg', 'sianbg');
INSERT INTO `news` VALUES (2, 'safcgxcv', 'dfgxvsd', '<option value="sianbg" class="bottom">sianbg</option>');
INSERT INTO `news` VALUES (3, 'dfdfg', 'sianbg', '<option value="sianbg" class="bottom">sianbg</option>');
 
Код:
CREATE TABLE `news` ( 
  `id` int(8) NOT NULL auto_increment, 
  `name` varchar(255) collate latin1_general_ci NOT NULL, 
  `news` varchar(255) collate latin1_general_ci NOT NULL, 
  `cat` varchar(255) collate latin1_general_ci NOT NULL, 
  PRIMARY KEY  (`id`) 
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=4 ;

Код:
<table width="300" height="10" border="1"> 
<tr><td><a href="index.php">Новини</a> | <a href="addnews.php">Добави новина</a> | <a href="newsadmin.php">АДМИН Панел</a></td></tr></table> 
<form action="" method="post"> 
Име на новина: <input type="text" name="name" /> 
<br /> 
<select name="cat" id="cat" style="width=270px" align="left"> 
<option>Избери категория</option> 
<?php 
include("config.php"); 
$r = mysql_query("SELECT * FROM cats"); 
while($row = mysql_fetch_array($r)){ 
$cat .= "<option value=\"$row[cat]\" class=\"bottom\">$row[cat]</option>"; 
} 
echo $cat;
?> 
</select>
<br /> 
Цялата новина: <input type="text" name="news"> 
<br /> 
<input type="submit" name="submit" value="Добави" /> 
</form> 
<?php 
if (isset($_POST["submit"])) { 
if (!empty($_POST["name"])) $name = htmlspecialchars($_POST["name"]); 
else $errMsg = "Не сте въвели име на новината!<br />"; 

if (!empty($_POST["news"])) $news = htmlspecialchars($_POST["news"]); 
else $errMsg = "Не сте въвели новината!<br />"; 

if (empty($errMsg)) {
$cat = trim(strip_tags(addslashes($_POST['cat']))); 
$insert = mysql_query("INSERT INTO news(id,name, news, cat) VALUES('NULL','$name', '$news','$cat')") or die(mysql_error()); 
echo 'Новината е добавена успешно! <a href="index.php">Новини</a>'; 
} 
else 
echo $errMsg; 
mysql_close(); 
} 
?>

Провери да ли така ще работи :?:
 
@nom3r1 мерси много.Всичко работи перфектно.
 
category.php как да го направя,че като не си избрал категория да ти пише нещо ?
 
sianbg2 каза:
category.php как да го направя,че като не си избрал категория да ти пише нещо ?

Код:
<?php
include ("config.php");
function secure($var) { 
return addslashes(htmlspecialchars($var)); 
} 
$cat = secure(@$_GET['cat']);
$query = mysql_query("SELECT * FROM news WHERE cat = '$cat'")or die(mysql_error()); 
$nums = mysql_num_rows($query); 
if(($nums > 0) && ($id != NULL)) { 
$row = mysql_fetch_array($query);
echo '
<h1>'.$row['cat'].'</h1><hr /><br /> '.$row['name'].' -> <a href="viewarticle.php?tid='.$row['id'].'">View</a> | 
<a href="editarticle.php?tid='.$row['id'].'">Edit</a>| 
<a href="deletearticle.php?tid='.$row['id'].'">Delete</a><br>
';
} 
else 
if(!$_GET['cat']) { 
echo 'Избери категория'; 
}    
elseif ($nums == 0) { 
echo 'Категорията не е намерена'; 
} 
?>
:roll:
 

Back
Горе