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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Кнопка "Оставить комментарий"
 
 автор: liberty   (14.02.2013 в 09:22)   письмо автору
 
 

Добрый день!
На странице выводится окно для ввода комментария.
Как сделать, если комментов пока нет, чтобы выводилась кнопка "Оставить комментарий" и при нажатии ее выходило окно для ввода коммента
<div class="corner25">
<h5>Комментарии:</h5>
<div id='cerror'></div>

<form action="#" method="POST" enctype="multipart/form-data" name="addcom" id="addcom" onSubmit="return false" class="sendform">
<input class="comment_name" type="text" name="author" id="author"> Ваше имя
<div class="corner20"><textarea name="text"></textarea></div>
<input name="id" type="hidden" value="<?php echo $id?>">
<input type='hidden' name='advertisment' value='<?php echo $myrow['title']; ?>'>
<input class="button-small" name="button" type="button" value='Отправить' onclick="doLoad(document.getElementById('addcom'))">
</form>


<div id='resultid'></div>
<!--вывод комментариев -->
<?php
$result 
mysql_query("SELECT * FROM comment_cat WHERE post='" mysql_real_escape_string($id) . "' ORDER BY date DESC, id"$db);
if(
mysql_num_rows($result) > 0)
{
$comment mysql_fetch_array($result);
do
{
$text $comment["text"];
$author $comment["author"];
$date $comment["date"];

printf("<div class='comment-content2'>
       <h6>%s</h6>
       <p>%s</p>
       <p>%s</p>
       </div> 
       "
,$author,$date,$text);
}
while (
$comment mysql_fetch_array($result));
}

  Ответить  
 
 автор: Jovidon   (14.02.2013 в 09:44)   письмо автору
 
   для: liberty   (14.02.2013 в 09:22)
 

с помощю JavaScript

  Ответить  
 
 автор: Slo_Nik   (14.02.2013 в 13:51)   письмо автору
 
   для: liberty   (14.02.2013 в 09:22)
 



<script type="text/javascript">
$(document).ready(function(){
     $('#sendcomm').click(function(e){
       $('.form').fadeIn(750)     
     })  
})
</script>

<div class="corner25"> 
<h5>Комментарии:</h5> 
<div id='cerror'></div> 

<button id="sendcomm">Оставить комментарий</button>
<div class='form' style='display:none;'>
<form action="#" method="POST" enctype="multipart/form-data" name="addcom" id="addcom" onSubmit="return false" class="sendform"> 
<input class="comment_name" type="text" name="author" id="author"> Ваше имя 
<div class="corner20"><textarea name="text"></textarea></div> 
<input name="id" type="hidden" value="<?php echo $id?>"> 
<input type='hidden' name='advertisment' value='<?php echo $myrow['title']; ?>'> 
<input class="button-small" name="button" type="button" value='Отправить' onclick="doLoad(document.getElementById('addcom'))"> 
</form>
</div>


<div id='resultid'></div> 
<!--вывод комментариев --> 
<?php 
$result 
mysql_query("SELECT * FROM comment_cat WHERE post='" mysql_real_escape_string($id) . "' ORDER BY date DESC, id"$db); 
if(
mysql_num_rows($result) > 0

  while (
$comment mysql_fetch_assoc($result)){
     
// тут формируйте вывод комментариев
      
$text $comment["text"]; 
      
$author $comment["author"]; 
      
$date $comment["date"];

echo 
"<div class='comment-content2'>
             <h6>"
.$text."</h6>
             <p>"
.$author."</p>
             <p>"
.$date."</p>
           </div>"
;

  }

else{
 echo 
"Ваш комментарий будет первым)))";
}

немножко подправил Ваш код, не забудьте подключить библиотеку jquery в <head> страницы
правда не проверял как работает, проверьте сами и отпишите

  Ответить  
 
 автор: liberty   (15.02.2013 в 06:34)   письмо автору
 
   для: Slo_Nik   (14.02.2013 в 13:51)
 

И форма выводится
и "Ваш комментарий будет первым" тоже.

  Ответить  
 
 автор: confirm   (15.02.2013 в 06:45)   письмо автору
 
   для: liberty   (15.02.2013 в 06:34)
 

>Как сделать, если комментов пока нет, чтобы выводилась кнопка "Оставить комментарий"

А если уже есть комментарии, то табу, нельзя добавлять и форма не доступна?

  Ответить  
 
 автор: Slo_Nik   (15.02.2013 в 12:15)   письмо автору
 
   для: liberty   (15.02.2013 в 06:34)
 

комментарий добавили, "Ваш комментарий будет первым" выводится?

  Ответить  
 
 автор: liberty   (23.02.2013 в 10:31)   письмо автору
 
   для: Slo_Nik   (15.02.2013 в 12:15)
 

выводится и окно для ввода комменатриев,
и сообщение под ним - Ваш комментарий будет первым)))
<?php
$result 
mysql_query("SELECT * FROM comment_school WHERE post='" mysql_real_escape_string($id_school) . "' ORDER BY date DESC, id"$db);
if(
mysql_num_rows($result) > 0)
{  
  while (
$comment mysql_fetch_assoc($result)){ 
     
// тут формируйте вывод комментариев 
      
$text $comment["text"];  
      
$author $comment["author"];  
      
$date $comment["date"]; 

echo 
"<div class='comment-content2'> 
             <h6>"
.$author."</h6> 
             <p>"
.$date."</p> 
             <p>"
.$text."</p> 
           </div>"


  } 
}  
else{ 
 echo 
"Ваш комментарий будет первым)))"
}

Если комментов нет, то нужно вывести только "Ваш комментарий будет первым"

  Ответить  
 
 автор: Slo_Nik   (23.02.2013 в 11:37)   письмо автору
 
   для: liberty   (23.02.2013 в 10:31)
 

>>>выводится и окно для ввода комменатриев,
>>>и сообщение под ним - Ваш комментарий будет первым)))
>>>Если комментов нет, то нужно вывести только "Ваш комментарий будет первым"

А кнопку "добавить комментарий" не надо выводить, если нет комментариев?

и если $id_school это цифра, то может правильней будет intval($id_school) ?

  Ответить  
 
 автор: liberty   (23.02.2013 в 18:22)   письмо автору
 
   для: Slo_Nik   (23.02.2013 в 11:37)
 

если нет комментариев то кнопку "добавить комментарий"надо выводить

  Ответить  
 
 автор: Slo_Nik   (23.02.2013 в 20:22)   письмо автору
 
   для: liberty   (23.02.2013 в 18:22)
 

всё правильно, нет комментариев - выводится форма ввода комментария и "ваш комментарий будет первым"

будут комментарии - будет выводится только форма ввода текста комментария

для начала проверьте, что Вы передаёте в запрос


<?php
$query 
"SELECT * FROM comment_school WHERE post='" intval($id_school) . "' ORDER BY date DESC, id";
echo 
$query;  // смотрите на сам запрос
$result mysql_query($query$db); // выполняете запрос
?>

  Ответить  
 
 автор: liberty   (23.02.2013 в 21:01)   письмо автору
 
   для: Slo_Nik   (23.02.2013 в 20:22)
 

я не правиильно выразил видимо свою мысль.

мне нало:
1. если нет комментов - выводится кнопка "Оставить комментарий", нажимая на которую выходит окно для ввода коммента.
2. если комменты уже есть - то выводится все комменты и окно для ввода

  Ответить  
 
 автор: Slo_Nik   (23.02.2013 в 21:29)   письмо автору
 
   для: liberty   (23.02.2013 в 21:01)
 

а смысл?
Если нет комментариев, то выводится кнопка, а если есть, то полностью окно. Зачем?
не проще ли выводить комментарии, а под ними форму? Нет комментариев, то надпись "
ваш комментарий..." и форму
ну если так это принципиально, то стиль для окна надо определять там же, где Вы определяете, что выводить, или коммментарии(если есть) или надпись "ваш комментарий...."

  Ответить  
 
 автор: Slo_Nik   (23.02.2013 в 21:45)   письмо автору
 
   для: liberty   (23.02.2013 в 21:01)
 

попробуйте вот так, не идеально, на скорую руку


<script type="text/javascript"> 
$(document).ready(function(){ 

     var commEnt = $(".comment-content2")
     
     if(commEnt){
         $('#sendcomm').css({'display':'none'})
         $('.form').css({'display':'block'})
     }

     $('#sendcomm').click(function(e){ 
       $('.form').fadeIn(750)      
     })   
}) 
</script>

  Ответить  
Rambler's Top100
вверх

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