Категории-checkbox

galabin123

Registered
Код:
$resp = mysql_query("SELECT * FROM cats");
while($row2 = mysql_fetch_array($resp)){
$cat .= "<input type='checkbox' name='option1' value='$row2[id]'> $row2[name]<br>";
}
echo $cat;

извеждам категориите като checkbox-чета.т.е. при добавяне на новина да може да се избира по повече от 1 категория давам "запиши" като заявката ми да запише $cat но във db не излиза нищо винаги полето е празно нее грешна заявката защото със <select> съм опитвам и става сигорно е заради многото категории някой ще помогне ли искам да ги запише примерно така 1,7,2,9 та после да си ги изведа примерно Обикновени,сякви,известни,велики ....
 
Дай да ти видим заявката а и не разбрах много исканетоти. Ако може да обясниш пак :)
 
значи направил съм да се избира повече от една категория с checkbox по-горе е кода само че проблема е че отбелязвам категорийте и нищо във db полето остава празно не се записват

ето и заявката

$query = mysql_query("INSERT INTO `nambg` (`id`, `name`, `rezume`,`bg`, `pic`, `cat`, `avtor`) VALUES('', '$name', '$rezume','$bg','$pic','$cat','$_SESSION[username]')");
 
Така със запетая е ламерско.
Или използвай серилизация или отделна таблица, където да пазиш релациите между новините и категориите.
 
не си ме разбрал аз си имам отделна таблица и за новините и за катгориите искам при добавянето на тези новини чрез този скрипт за checkboox да добавя новината в повече от 1 категория и после така да запише в полето категорийте 1,6,3,8 примерно тва са категориите.
 
Направи си 3-та база данни, в която ще записваш ид-то на новината, със ид-то на категориите
create table news_cats (
`news_id` INT(5) NOT NULL,
`cats_id` INT(5) NOT NULL
);
INSERT INTO news_cats VALUES ('1','1');
INSERT INTO news_cats VALUES ('1','2');
INSERT INTO news_cats VALUES ('1','3');
в този семпъл пример, новина с ИД = 1, е записана в категория 1,2 и 3.
При извеждането ще ползваш един LEFT JOIN за връзка между 3-те таблици и това е.
Това е само идея.
 
Дай си структурата на 3-те бази данни, да пробваме някоя заявка :)
 
аз съм го направил с dropdown , може да ти е от полза :)


Код:
<form action="" method="post">
<select name="dropdown">
<option>Select</option> 
<option value="table1">table1</option>
<option value="table2">table2</option>
<option value="table3">table3</option>
<option value="table4">table4</option>
<option value="table5">table5</option>
<option value="table6">table6</option>
</select>

<input class="input_text" type="text" name="name">
<input class="input_text" type="text" name="mail">
<input class="input_text" type="text" name="address">
<textarea class="input_textarea" name="comment">
<input type="submit" name="submit" value="Изпрати" class="button">
</form>

Код:
<?php
if (isset($_POST["submit"])) {
//настройки за база данни
$dbhost = "localhost";
$dbuser = "user";
$dbpass = "pass";
$dbname = "dbname";
$conn = mysql_connect($dbhost, $dbuser, $dbpass)or die(mysql_error());
mysql_select_db($dbname, $conn)or die(mysql_error());
if (!empty($_POST['dropdown'])) $dropdown = $_POST['dropdown']; // предполага се че няма опастност от хакване
else $errMsg = " <a class=maintext>Please Select Category !</a><br />";
if (!empty($_POST["name"])) $name = htmlspecialchars($_POST["name"]);
else $errMsg = " <a class=maintext>Please write name!</a><br />";
if (!empty($_POST["mail"])) $mail = htmlspecialchars($_POST["mail"]);
else $errMsg = "<a class=maintext>Please write e-mail!</a><br />";
if (!empty($_POST["address"])) $address = htmlspecialchars($_POST["address"]);
else $errMsg = "<a class=maintext>Please write address!</a><br />";
if (!empty($_POST["comment"])) $comment = htmlspecialchars($_POST["comment"]);
else $errMsg = "<a class=maintext>Please write comment!</a><br />";
if (empty($errMsg)) {
$insert = mysql_query("INSERT INTO ".$dropdown." (name, mail, address, comment) VALUES('".$name."', '".$mail."', '".$address."', '".$comment."')") or die(mysql_error());
echo 'success!';
} else echo $errMsg;
mysql_close();
}
?>
 

Back
Горе