|
|
|
| здравствуйте.
интересует как реализовать вывод окошка для ввода коментариев только, если комменты уже есть.
если комментов нет, то только вывести кнопку "Оставьте свой отзыв"
<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_university; ?>">
<input type='hidden' name='advertisment' value='<?php echo $myrow3['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 WHERE post='" . mysql_real_escape_string($id_university) . "' 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));
}
?>
</div>
|
| |
|
|
|
|
|
|
|
для: liberty
(07.07.2013 в 08:59)
| | Вы безнадежны, слов нет, вы даже учится не хотите. Вам показывали как и запросы пишутся, все равно пишете что-то невообразимое. | |
|
|
|
|
|
|
|
для: confirm
(07.07.2013 в 09:16)
| | но ведь работает! ))) | |
|
|
|
|
|
|
|
для: liberty
(07.07.2013 в 09:20)
| | Ну так и голым в ресторан ходить можно, но только это неудобно и не прилично. | |
|
|
|
|
|
|
|
для: confirm
(07.07.2013 в 09:23)
| | чем конкретно и почему вам не нравится этот запрос? | |
|
|
|
|
|
|
|
для: liberty
(07.07.2013 в 09:30)
| | Я вам уже об это рассказывал, вам это уже другие показывали и говорили, и не только в этом разделе. Смысл еще раз повторять? | |
|
|
|
|
|
|
|
для: confirm
(07.07.2013 в 09:31)
| | ну ладно забудем про запрос тогда.
на основной вопрос ответите? | |
|
|
|
|
|
|
|
для: liberty
(07.07.2013 в 09:38)
| | Нет не отвечу, потому как не понимаю почему форма перед запросом, если она должна быть по условию этого запроса.
А если она должна отвечать на условие не этого запроса, а другого, то где предыдущий запрос.
Желание ваше понятно, но не понятно к чему вы его хотите привязать, а пояснений вы не даете. | |
|
|
|
|
|
|
|
для: confirm
(07.07.2013 в 10:07)
| | пояснения.
тут выводим окошко для ввода коммента.
<? php<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_university; ?>">
<input type='hidden' name='advertisment' value='<?php echo $myrow3['title']; ?>'>
<input class="button-small" name="button" type="button" value='Отправить' onclick="doLoad(document.getElementById('addcom'))">
</form>
<div id='resultid'></div>?>
|
а тут вывожу уже сами комменты
<div id='resultid'></div>
<?php
$result = mysql_query("SELECT * FROM comment WHERE post='" . mysql_real_escape_string($id_university) . "' 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));
}
?>
</div>
|
вопрос.
как изменить код, чтобы в случае отсутствия комментов не выводилось окошко, а только кнопка "Оставить комментарии". | |
|
|
|
|
|
|
|
для: liberty
(07.07.2013 в 10:19)
| | Значит я вам практически уже ответил на вопрос - как может быть форма впереди запроса по условию данных которого она должна выводиться?
Видимо надо проверить в этом запросе существование того, что определяет наличие формы, а уж только по результатам проверки выводить или нет форму. | |
|
|
|
|
|
|
|
для: liberty
(07.07.2013 в 10:19)
| |
<div id='resultid'></div>
<?php
$result = mysql_query("SELECT * FROM comment WHERE post='" . mysql_real_escape_string($id_university) . "' 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"];
printf("<div class='comment-content2'>
<h6>%s</h6>
<p>%s</p>
<p>%s</p>
</div>
",$author,$date,$text);
}
//////////////////////
?>
<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_university; ?>">
<input type='hidden' name='advertisment' value='<?php echo $myrow3['title']; ?>'>
<input class="button-small" name="button" type="button" value='Отправить' onclick="doLoad(document.getElementById('addcom'))">
</form>
<div id='resultid'></div>
</div>
<?php
////////////////////
}
else{echo'buton';}
?>
|
| |
|
|
|
|
|
|
|
для: zorg84
(07.07.2013 в 14:18)
| | понятно.
а как вывести саму кнопку теперь?
ее надо в форму загонять с тегом name="button" type="button"? | |
|
|
|
|
|
|
|
для: liberty
(07.07.2013 в 18:23)
| | или просто ссылку "оставить отзыв"
куда эта ссылка должна ввести, как это реализовать? | |
|
|
|
|
|
|
|
для: liberty
(07.07.2013 в 18:30)
| | Обьясни что ты хочешь после нажатия кнопки ,чтобы форма появилась для коментов? тогда смысл ее прятать? Если хочешь чтобы форма выводилась на новой странице тогда ссылкой | |
|
|
|
|
|
|
|
для: zorg84
(07.07.2013 в 21:12)
| | я хочу чтобы формы не было когда нет комментариев.
если комменты уже есть то и форма есть.
а если нет комментов, то есть только кнопка (ссылка) которая открывает эту форму | |
|
|
|
|
|
|
|
для: liberty
(07.07.2013 в 22:01)
| | В else добавить форму , в css добавить display:none; для формы чтобы форма не отображалась .при клике по кнопке срабатывает функция javascrit которая меняет значение display. это примитивно но будет работать
[
else {
<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_university; ?>">
<input type='hidden' name='advertisment' value='<?php echo $myrow3['title']; ?>'>
<input class="button-small" name="button" type="button" value='Отправить' onclick="doLoad(document.getElementById('addcom'))">
</form>
<div id='resultid'></div>
</div>
<div onclick="form()"> кнопка </div>
}
|
| |
|
|
|
|
|
|
|
для: zorg84
(07.07.2013 в 23:26)
| | зачем в else добавлять форму, если ее как раз там и не надо выводить.
только кнопку. | |
|
|
|
|
|
|
|
для: liberty
(07.07.2013 в 23:48)
| | для того чтобы если нет записей в базе данных при клике по кнопке форма появилась | |
|
|
|
|
|
|
|
для: zorg84
(08.07.2013 в 00:10)
| | пару вопросов
как прописать "в css добавить display:none; !"
и что тут
<div onclick="form()"> кнопка </div>
|
просто кнопка? | |
|
|
|
|
|
|
|
для: zorg84
(07.07.2013 в 14:18)
| | То есть по вашему mysql_real_escape_string($id_university) и
$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);
это нормально? | |
|
|
|
|
|
|
|
для: confirm
(08.07.2013 в 07:43)
| | а что там не так? | |
|
|
|
|
|
|
|
для: liberty
(08.07.2013 в 07:55)
| | Что это такое: enctype="multipart/form-data" ?
Это зачем: name="addcom" и name="button"?
Почему: name="text"?
Это для чего: onSubmit="return false" и onclick="doLoad(document.getElementById('addcom'))"?
mysql_real_escape_string($id_university) - целочисленные переменные нужно к этому типу и приводить (Int)$id_university, при чем, если эта переменная получена извне, например, как POST данные, то if($id_university = (int)$_POST['$id_university']) { и далее обработка запроса, так как у нормальных пацанов id равного 0 нет. А mysql_real_escape_string() здесь с боку припеку.
mysql_fetch_array() - это плохо, так как вы тянете лишние данные.
Переписывать трижды переменные ради того, чтобы задействовать printf(), это либо не понимать когда ею удобно пользоваться, либо вообще не понимать, что такое вывод.
Данные на страницу нужно выводить обработанные htmlspecialchars(). | |
|
|
|
|
|
|
|
для: confirm
(08.07.2013 в 08:07)
| | какой был бы ваш вариант? | |
|
|
|
|
|
|
|
для: liberty
(08.07.2013 в 14:27)
| | У меня нет вариантов, есть учебники и руководства описывающие элементы html, их атрибуты. Использовать нужно те, которые необходимы для решения поставленной задачи, а не по принципу "кашу маслом не испортишь".
Нужно знать, что такое события элементов, как они возникают и что делают, а не писать лишнего.
Нужно знать об элементарных правилах безопасности, а не вываливать на страницы так как есть.
Все это описано, нужно лишь изучать.
Вы же скорее всего копируете хлам не известно из каких источников, даже не задумываясь о том, что это такое и зачем. | |
|
|
|