Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Облако тэгов

Сообщения:  [1-10]    [11-20]   [21-30]   [31-40]   [41-50]  [51-51] 

 
 автор: uvajs   (26.09.2010 в 21:48)   письмо автору
 
   для: neadekvat   (26.09.2010 в 21:36)
 

Спасибо Вам большое, получилось!!!!!

  Ответить  
 
 автор: neadekvat   (26.09.2010 в 21:36)   письмо автору
 
   для: uvajs   (26.09.2010 в 21:17)
 

заменить name="tag" на name="tag[]"
А дальше я показал как надо добавлять в бд.
Еще лучше на пустой странице сделать так:
<?php
if ($_POSTprint_r($_POST);
?>
<form method="POST">
<select name="tag" size="3" multiple="multiple">
<option value=1>sdfsdf
<option value=2>sdfsdf
<option value=3>sdfsdf
<option value=4>sdfsdf
<option value=5>sdfsdf
</select>
<input type="submit">
</form>


И так
<?php
if ($_POSTprint_r($_POST);
?>
<form method="POST">
<select name="tag[]" size="3" multiple="multiple">
<option value=1>sdfsdf
<option value=2>sdfsdf
<option value=3>sdfsdf
<option value=4>sdfsdf
<option value=5>sdfsdf
</select>
<input type="submit">
</form>


Чтобы разобраться, в чем разница

  Ответить  
 
 автор: uvajs   (26.09.2010 в 21:17)   письмо автору
 
   для: neadekvat   (26.09.2010 в 19:58)
 

>В селекте измените имя с tag на tag[], через POST получите массив выбранных тэгов.
>И при внесении в базу соответственно не как строку обрабатывать, а как массив, типа этого:
>
<?php
>foreach ($_POST['tag'] as $tag)
>    
mysql_query("INSERT INTO posts_tags (tagid,dataid) VALUES ('$tag','$data_id')",$db);


Простите не совсем Вас понял, можно подробнее????

и на что tag изменить?

  Ответить  
 
 автор: neadekvat   (26.09.2010 в 19:58)   письмо автору
 
   для: uvajs   (26.09.2010 в 19:51)
 

В селекте измените имя с tag на tag[], через POST получите массив выбранных тэгов.
И при внесении в базу соответственно не как строку обрабатывать, а как массив, типа этого:
<?php
foreach ($_POST['tag'] as $tag)
    
mysql_query("INSERT INTO posts_tags (tagid,dataid) VALUES ('$tag','$data_id')",$db);

  Ответить  
 
 автор: uvajs   (26.09.2010 в 19:51)   письмо автору
 
   для: neadekvat   (26.09.2010 в 19:28)
 

>А обработчик показать?


<?php
include ("block/bd.php");
if(isset(
$_POST['submit_s'])) {$submit_s $_POST['submit_s'];}



?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
<link href="style.css" rel="stylesheet" type="text/css">
<link href="style2.css" rel="stylesheet" type="text/css">
<link rel="icon" href="http://engells.com/favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="http://engells.com/favicon.ico" type="image/x-icon">
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
<?php include("block/header.php");?>
  </tr>
  <tr>
    <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
<?php include("block/left_td.php");?>
        <td valign="top">&nbsp;
<?php

if(!isset($submit_s))
{

$date date("Y-m-d"); 

echo <<<HERE




             <form name="form1" method="post" action="new_post.php">
         <p>
           <label>Введите название урока<br>
             <input type="text" name="title" id="title">
             </label>
         </p>
         <p>
           <label>Введите краткое описание урока<br>
           <input type="text" name="meta_d" id="meta_d">
           </label>
         </p>
         <p>
           <label>Введите ключевые слова для урока<br>
           <input type="text" name="meta_k" id="meta_k">
           </label>
         </p>
         <p>
           <label>Введите дату добавления урока<br>
           <input name="date" type="text" id="date" value="
$date">
           </label>
         </p>
         <p>
           <label>Ведите краткое описание урока с тэгами абзацев<br>
             <textarea name="description" id="description" cols="80" rows="5"></textarea>
           </label>
         </p>
         <p>
           <label>Введите полный текст урока с тэгами<br>
             <textarea name="text" id="text" cols="80" rows="20"></textarea>

           </label>
         </p>
         <p>
           <label>Введите автора урока<br>
           <input type="text" name="author" id="author">
           </label>
         </p>
         
         <p>
           <label>Введите где лежит миниатюра<br>
           <input type="text" name="img" id="img">
           </label>
         </p>
         
         <p>
           <label>Выберите категорию урока<br>
           
           
           

HERE;
?>
<select name="rub">
<?
$result 
mysql_query("SELECT title,id FROM categories WHERE page='1'",$db);

if (!
$result)
{
echo 
"<p>Запрос на выборку данных из базы не прошел. </p>";
exit(
mysql_error());
}

if (
mysql_num_rows($result) > 0)

{
$myrow mysql_fetch_array($result); 

do 
{
printf ("<option value='%s'>%s</option>",$myrow['id'],$myrow['title']);



}
while (
$myrow mysql_fetch_array($result));



}

else
{
echo 
"<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}


$result0 mysql_query("SELECT id FROM tags",$db);
$count mysql_num_rows($result0);       
?>       
       
          
 </select>
<br><br>
Выберите тег статьи:<br>

<select name="tag" size="<?php echo $count;?>" multiple="multiple">
<?
$result 
mysql_query("SELECT tag,id FROM tags",$db);

if (!
$result)
{
echo 
"<p>Запрос на выборку данных из базы не прошел.</p>";
exit(
mysql_error());
}

if (
mysql_num_rows($result) > 0)

{
$myrow mysql_fetch_array($result); 

do 
{
printf ("<option value='%s'>%s</option>",$myrow['id'],$myrow['tag']);



}
while (
$myrow mysql_fetch_array($result));



}

else
{
echo 
"<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}


       
?>       
       
           </select>           
           </label>
         </p>
                  <p>
           <label>
           <input type="submit" name="submit_s" id="submit_s" value="Занести заметку в базу">
           </label>
         </p>
       </form>

<?

}
else{        


if (isset(
$_POST['title']))       
{
$title $_POST['title']; 

if (
$title == ''
{
unset(
$title);
}  

}

/* Если существует в глобальном массиве $_POST['title'] опр. ячейка, то мы создаем простую переменную из неё. Если переменная пустая, то уничтожаем переменную.   */
if (isset($_POST['meta_d']))      {$meta_d $_POST['meta_d']; if ($meta_d == '') {unset($meta_d);}}
if (isset(
$_POST['meta_k']))      {$meta_k $_POST['meta_k']; if ($meta_k == '') {unset($meta_k);}}
if (isset(
$_POST['date']))        {$date $_POST['date']; if ($date == '') {unset($date);}}
if (isset(
$_POST['description'])) {$description $_POST['description']; if ($description == '') {unset($description);}}
if (isset(
$_POST['text']))        {$text $_POST['text']; if ($text == '') {unset($text);}}
if (isset(
$_POST['author']))      {$author $_POST['author']; if ($author == '') {unset($author);}}

if (isset(
$_POST['img']))      {$img $_POST['img']; if ($img == '') {unset($img);}}

if (isset(
$_POST['rub']))      {$rub $_POST['rub']; if ($rub == '') {unset($rub);}}
if (isset(
$_POST['tag']))      {$tag $_POST['tag']; if ($tag == '') {unset($tag);}}


if (isset(
$title) && isset($meta_d) && isset($meta_k) && isset($date) && isset($description) && isset($text) && isset($author) && isset($img) && isset($rub) && isset($tag))
{
/* Здесь пишем что можно заносить информацию в базу */
$result mysql_query("INSERT INTO data (title,meta_d,meta_k,date,description,text,author,mini_img,rub) VALUES ('$title', '$meta_d','$meta_k','$date','$description','$text','$author','$img','$rub')");

$data_id mysql_insert_id(); 

$result2 mysql_query("INSERT INTO posts_tags (tagid,dataid) VALUES ('$tag','$data_id')",$db);



if (
$result == 'true') {echo "<p>Ваша заметка успешно добалена!</p>";}
else {echo 
"<p>Ваша заметка не добалена!</p>";}



}         
else 

{
echo 
"<p>Вы ввели не всю информацию, поэтому заметка в базу не может быть добалена.</p>";
}
            
         
}
?>
      </td>
<?php include("block/right_td.php");?>
      </tr>
    </table></td>
  </tr>
  <tr>
<?php include("block/footer.php");?>
  </tr>
</table>
</body>
</html>

  Ответить  
 
 автор: neadekvat   (26.09.2010 в 19:28)   письмо автору
 
   для: uvajs   (26.09.2010 в 19:08)
 

А обработчик показать?

  Ответить  
 
 автор: uvajs   (26.09.2010 в 19:08)   письмо автору
 
   для: neadekvat   (26.09.2010 в 14:00)
 

сделал список с помощью select. вот теперь кроме одного, больше выбирать не могу тэгов, т.е. выбираю админке, но в базу добавляется почему то только один тэг. в чем может быть причина подскажите?

если изменю список на checkbox будет изменение?



Выберите тег статьи:<br>

<select name="tag" size="<?php echo $count;?>" multiple="multiple">
<?
$result 
mysql_query("SELECT tag,id FROM tags",$db);

if (!
$result)
{
echo 
"<p>Запрос на выборку данных из базы не прошел.</p>";
exit(
mysql_error());
}

if (
mysql_num_rows($result) > 0)

{
$myrow mysql_fetch_array($result); 

do 
{
printf ("<option value='%s'>%s</option>",$myrow['id'],$myrow['tag']);



}
while (
$myrow mysql_fetch_array($result));



}

else
{
echo 
"<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}


       
?>       
       
           </select>

  Ответить  
 
 автор: neadekvat   (26.09.2010 в 14:00)   письмо автору
 
   для: uvajs   (26.09.2010 в 13:22)
 

> чтобы добавить сразу тэг к статье, мне нужен его id, а его пока не знаем пока не добавим заметку в базу.
Тогда и майа твайа нипанимать.

Есть селекты, в них есть value, где value - id конкретного тэга.
Нажимаем "добавить заметку", и обработчик сначала добавляет заметку, а потом уже по имеющемуся id заметки добавляет тэги, переданные в списке.

  Ответить  
 
 автор: uvajs   (26.09.2010 в 13:22)   письмо автору
 
   для: neadekvat   (26.09.2010 в 13:07)
 

>Добавить в список пункт "новый", при выборе которого появляется поле input (type=text) для ввода этого нового тэга. Затем он при обработки статьи добавляется в бд, запрашивается его id и собстно этот полученный id заносится в таблицу с тэгами к данной записи.

у меня тэги уже есть, добавлять тэги больше не нужно. а нужно чтобы можно было выбрать тэг из списка

  Ответить  
 
 автор: neadekvat   (26.09.2010 в 13:07)   письмо автору
 
   для: uvajs   (25.09.2010 в 16:51)
 

Добавить в список пункт "новый", при выборе которого появляется поле input (type=text) для ввода этого нового тэга. Затем он при обработки статьи добавляется в бд, запрашивается его id и собстно этот полученный id заносится в таблицу с тэгами к данной записи.

  Ответить  

Сообщения:  [1-10]    [11-20]   [21-30]   [31-40]   [41-50]  [51-51] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования