|
|
|
| Люди помогите пожалуйста сделать нормальную форму!!!! Фишка в чем! Форма как таковая у меня уже есть!!! После того как комментарий вывелся на страницу, видно имя автора ,дата добавления и текст комментария!!! Но в базе данных и в форме есть поле для добавления сайта автора!!!Т.е. сайт автора в базу попадает но правильно сформировать код ,что бы имя автора в комменте было ссылкой на его сайт у меня не получается (я только учусь PHP)!!! У меня либо все имена авторов являются ссылками, либо все обычные без ссылки!!!
Форма:
<form action="comment.php" method="post" name="form_comment">
<fieldset><legend><strong>ДОБАВИТЬ КОММЕНТАРИЙ</strong></legend><br><img src="img/png4.gif">
<p class="poz"><label class="color"> Имя*: </label><input class="name" name="author" type="text" size="20" maxlength="30"></p>
<p class="poz"><label class="color"> Сайт: </label><input class="sait" name="blog" type="text" size="28" maxlength="30"></p>
<p class="poz"><label class="color"> Е-mail: </label><input class="e-mail" name="email" type="text" size="28" maxlength="30"></p>
<p class="poz"><label><textarea class="coment" name="text" cols="37" rows="7"></textarea></label></p><p class="poz2">
<img src="<? echo $myrow4["img"]; ?>"><input class="capcha" style='margin-top:4px;' name="pr" type="text" size="6" maxlength="7">
<input name="id" type="hidden" value="<? echo $id; ?>"></p><br>
<p class="poz"><input class="but" name="sub_com" type="submit" value="Отправить"></fieldset></p>
</fieldset>
</form>
|
Код когда имя ссылкой не является:
$result3 = mysql_query ("SELECT * FROM coments WHERE post='$id'",$db);
if (mysql_num_rows($result3) > 0)
{
$myrow3 = mysql_fetch_array($result3);
do
{
printf ("<strong>%s</strong> <span class='span'>(%s)</span><div class='border'><p>%s</p>
</div>",$myrow3["author"],$myrow3["date"],$myrow3["text"]);
}
while ($myrow3 = mysql_fetch_array($result3));
}
|
Помогите пожалуйста сформировать цикл правильно , что бы при заполненном поле blog , имя автора коммента было ссылкой, а при пустом обычное имя!!!!!!!!! | |
|
|
|
|
|
|
|
для: Users
(02.01.2010 в 22:04)
| | Нифига не понял в предоставленном коде..приведу пример:
пусть $array - массив, возвращаемый из бд
$array['name'] - имя человека
$array['site'] - сайт
<?php
if ( !empty ( $array['site'] ) ) {
echo '<a href="' . $array['site'] . '">' . $array['name'] . '</a>';
} else {
echo $array['name'];
}
|
| |
|
|
|
|
|
|
|
для: neadekvat
(02.01.2010 в 23:32)
| | да , верно . но еще это нужно пихнуть в цикл .
$ans=mysql_query('SELECT * FROM yourtable;'); //ваш запрос
$num=mysql_num_rows($ans); //считаем кол-во результатов
for($i=0;$i<$num;$i++){ //прогоняем цикл
if ( !empty ( mysql_result($ans,$i,'site') ) ) { //если в строке сайт чтото есть
echo '<a href="' . mysql_result($ans,$i,'site') . '">' . mysql_result($ans,$i,'name'). '</a>'; //пишем ссылку
}
else {
echo mysql_result($ans,$i,'name'); //иначе просто имя автора выводим.
}
//еще какието нужные операции
}
|
| |
|
|
|
|
|
|
|
для: XazzzI
(02.01.2010 в 23:43)
| | Зачем так мутить? Если уж с циклом
<?php
$query = mysql_query("SELECT * FROM comments");
while ($comment = mysql_fetch_assoc ( $query ) ) {
if ( !empty ( $array['site'] ) ) {
echo '<a href="' . $array['site'] . '">' . $array['name'] . '</a>';
} else {
echo $array['name'];
}
}
|
А все остальное автор сам добавит. | |
|
|
|
|
|
|
|
для: neadekvat
(02.01.2010 в 23:50)
| | Да не разбираюсь я в такой вот конструкции :
while ($comment = mysql_fetch_assoc ( $query ) ){
|
вот и мутю , но так чтобы работало )) | |
|
|
|
|
|
|
|
для: XaZzZi
(02.01.2010 в 23:56)
| | Ну да, и сразу стоит сложить ручки и сидеть на месте.
$query - запрос к бд
$comment = mysql_fetch_assoc ( $query ) - вернуть одну строку из бд, строка представляет из себя массив, массивом естессно будет $comment
while ($comment = mysql_fetch_assoc ( $query ) ) - пока в бд имеются строки и mysql_fetch_assoc ( $query ) будет их возвращать, производить какие-то действия в теле цикла
Что непонятного? | |
|
|
|
|
|
|
|
для: neadekvat
(03.01.2010 в 00:25)
| | neadekvat большое тебе спасибо!!!!!!!!! Сделал как ты написал и все пошло!!!
Вот что получилось:
$result3 = mysql_query ("SELECT * FROM coments WHERE post='$id'",$db);
while ($myrow3 = mysql_fetch_assoc ( $result3 ) ) {
if ( !empty ( $myrow3['blog'] ) ) {
echo '<strong><a href="' . $myrow3['blog'] . '">' . $myrow3['author'] . '</a></strong><span class="span">
(' . $myrow3['date'] . ')</span><div class="border"><p>' . $myrow3['text'] . '</p></div>' ;
} else {
echo '<strong>' . $myrow3['author'] . '</strong><span class="span">(' . $myrow3['date'] . ')</span><div class="border"><p>' . $myrow3['text'] . '</p></div>' ;
}
}
|
И главное все работает!!!Спасибо!!!!!! | |
|
|
|
|
|
|
|
для: Users
(03.01.2010 в 07:40)
| | Лишний код пишешь, можно так:
<?php
$result3 = mysql_query ("SELECT * FROM coments WHERE post='$id'",$db);
while ($myrow3 = mysql_fetch_assoc ( $result3 ) ) {
if ( !empty ( $myrow3['blog'] ) ) {
echo '<strong><a href="' . $myrow3['blog'] . '">' . $myrow3['author'] . '</a></strong>';
} else {
echo '<strong>' . $myrow3['author'] . '</strong>';
}
echo '<span class="span">(' . $myrow3['date'] . ')</span>';
echo '<div class="border"><p>' . $myrow3['text'] . '</p></div>';
}
|
То есть та часть, которая выводится вне зависимости от условия if ( !empty ( $myrow3['blog'] ) ), выносится за пределы этого условия, чтобы самому потом не путаться. | |
|
|
|
|
|
|
|
для: neadekvat
(03.01.2010 в 14:15)
| | Понял!!!!!!!! Спасибо, уже исправил!!!!!!!!!!! | |
|
|
|