|
|
|
| Добрый день!
Подскажите, пожалуйста, как реализовать в следущем коде:
<?php
printf ("
<p>%s</p>
<p>%s</p>
<p>%s %s %s</p>
<p><strong>Phone:</strong> %s</p>
<p><strong>Fax:</strong> %s</p>
<p><strong> Web Site:</strong> %s</p>
<p><strong>Email Contacts: <u><a href='mailto:%s'>%s</a></u></strong></p>
", $myrow3["title"], $myrow3["address"], $myrow["title"],$myrow2["title"],$myrow3["zip"], $myrow3["tel"], $myrow3["fax"], $myrow3["site"], $myrow3["email"], $myrow3["email"]);
?>
|
чтобы в случае пустых строк не выводились наименования этих строк.
Сейчас, если отсутствует номера факса, то строка выглядит так:
Fax: (пустая строка)
что согласитесь некрасиво.
Думаю, что понятно выразил свою мысль. | |
|
|
|
|
|
|
|
для: lukanuga
(12.08.2011 в 22:20)
| | отказаться от использования printf (как ровно и от использования do{}while попой(вым) чувствую он у вас есть) и проверять при помощи if () каждый элемент и если не пусто то выводить вместе с описанием | |
|
|
|
|
|
|
|
для: Valick
(12.08.2011 в 23:00)
| | что не правильно здесь?
<?php
if (!empty($myrow ['tel'])) {
printf ("<p><strong>Phone:</strong> %s</p>", $myrow3["tel"]);}
?>
|
| |
|
|
|
|
|
|
|
для: lukanuga
(12.08.2011 в 23:26)
| | Не понятно, почему в условии $myrow, а в выводе уже $myrow3, откуда 3 взялось? | |
|
|
|
|
|
|
|
для: cheops
(12.08.2011 в 23:28)
| | ошибка понятна.
подскажите, как отобразить нижеследующий код, чтобы вместо трех строк была одна <p>%s %s %s</p>
if (!empty($myrow ['title'])) {
printf ("<p>%s</p>", $myrow["title"]);}
if (!empty($myrow2 ['title'])) {
printf ("<p>%s</p>", $myrow2["title"]);}
if (!empty($myrow3["zip"])) {
printf ("<p>%s</p>", $myrow3["zip"]);}
|
| |
|
|
|
|
|
|
|
для: cheops
(12.08.2011 в 23:28)
| | ошибка понятна.
подскажите, как отобразить нижеследующий код, чтобы вместо трех строк была одна <p>%s %s %s</p>
if (!empty($myrow ['title'])) {
printf ("<p>%s</p>", $myrow["title"]);}
if (!empty($myrow2 ['title'])) {
printf ("<p>%s</p>", $myrow2["title"]);}
if (!empty($myrow3["zip"])) {
printf ("<p>%s</p>", $myrow3["zip"]);}
|
| |
|
|
|
|
|
|
|
для: lukanuga
(12.08.2011 в 23:51)
| |
echo '<p>';
if(isset($myrow['title'])) echo $myrow["title"];
if(isset($myrow2['title'])) echo $myrow2["title"];
if(isset($myrow3["zip"])) echo $myrow3["zip"];
echo '</p>';
|
и всё же прислушайтесь к словам Valick-а | |
|
|
|
|
|
|
|
для: f111
(13.08.2011 в 01:07)
| | спасибо.
Чем грозит использование printf (как ровно и от использования do{}while ? | |
|
|
|
|
|
|
|
для: lukanuga
(13.08.2011 в 01:43)
| | это грозит привычкой не думать собственной головой
вы просто копируете код и все
printf - это форматированный вывод и на мой взгляд он тут как собаке пятая нога
а учитывая то что он тяжелее обычного print (или echo), то его применение здесь и вовсе не оправдано
логика работы do{}while тут тоже не уместна, а при удачном стечении обстоятельств вообще может привести к ошибке, все (кроме Е.Попова) используют для обработки результата запроса цикл while{} | |
|
|
|
|
|
|
|
для: Valick
(13.08.2011 в 09:03)
| | Да, Попов поработил и зомбировал множество людей. | |
|
|
|
|
|
|
|
для: Гавриленко Дмитрий
(13.08.2011 в 13:04)
| | Вопрос следующий.
В случае пустых строк строки все равно пустые, но выводятся. А что изменить в коде чтобы и пустые строки <p></p>, <br> не выводились
<?php
echo "<p class='additional' align='center'>";
if(isset($myrow3['licence'])) echo $myrow3["licence"]; echo '<br>';
if(isset($myrow3['accreditation'])) echo $myrow3["accreditation"]; echo '<br>';
if(isset($myrow3["organ"])) echo $myrow3["organ"];
echo '</p>';
?>
|
| |
|
|
|
|
|
|
|
для: lukanuga
(13.08.2011 в 20:28)
| | может как-то так?
<?php
if( isset($myrow3['licence']) || isset($myrow3['accreditation']) || isset($myrow3["organ"]) ){
echo '<p>',$myrow3["licence"],'<br>',$myrow3["accreditation"],'<br>',$myrow3["organ"],</p>;
}?>
| ну или в прежнем примере добавить ещё один if
>В случае пустых строк строки все равно пустые
а в случае непустых строк строки всё равно непустые? | |
|
|
|
|
|
|
|
для: f111
(13.08.2011 в 23:01)
| | ДАЕТ ОШИБКУ
Parse error: syntax error, unexpected '<' | |
|
|
|
|
|
|
|
для: lukanuga
(13.08.2011 в 23:12)
| |
<?
if(isset($myrow3['licence']) || isset($myrow3['accreditation']) || isset($myrow3['organ']))
echo "<p>".$myrow3['licence']."<br>".$myrow3['accreditation']."<br>".$myrow3['organ'].'"</p>";
?>
|
Попробуйте так, подправил код. | |
|
|
|
|
|
|
|
для: Владимир22
(13.08.2011 в 23:37)
| | ошибок и вправду нет теперь, но <p>...</p> все равно выводит и при выполнении условия if | |
|
|
|
|
|
|
|
для: lukanuga
(13.08.2011 в 23:55)
| | >ДАЕТ ОШИБКУ
>Parse error: syntax error, unexpected '<'
,'</p>'; тег забыл взять в скобки
______________
>но <p>...</p> все равно выводит и при выполнении условия if
а не должно? условие такое что теги <p>...</p> как раз "выведутся" при выполнении условия if, в смысле при TRUE, а при FALSE ничего не выведет | |
|
|
|
|
|
|
|
для: f111
(14.08.2011 в 01:14)
| | простите, неверно написал.
теги выводятся и при выполнении условия, и при невыполнении. | |
|
|
|
|
|
|
|
для: lukanuga
(14.08.2011 в 05:23)
| | )))) , такого не может быть, если только элементы массивов уже существуют.
в смысле isset проверяет переменную, а не значение, что именно empty (который вы использовали ранее) проверяет я не знаю, но методом тыка можно проверить.
ну или можно написать так
<?php
if($myrow3['licence'] || $myrow3['accreditation'] || $myrow3["organ"]){
echo '<p>',$myrow3["licence"],'<br>',$myrow3["accreditation"],'<br>',$myrow3["organ"],'</p>';
}?>
|
| |
|
|
|
|
|
|
|
для: f111
(14.08.2011 в 11:27)
| | ну что вы чепургу гоните :)
у вас в условии логическое "или" при котором условие будет выполняться если хотябы один из элементов массива существует, а "выводиться" будут все три (точнее один заполненный и два пустых) соответственно теги всякие теги будут выводиться
нужно каждый элемент массива проверять на присутствие, а еще точнее на непустоту
___
первый код который вы привели был почти правильным) | |
|
|
|
|
|
|
|
для: Valick
(14.08.2011 в 11:47)
| | я знаю что за условие я написал, я же сказал такой вариант или ещё один if, я так понял что ни одного элемента массива нет либо они пусты, и поэтому выводится "параграф" | |
|
|
|
|
|
|
|
для: f111
(14.08.2011 в 12:00)
| | вы использовали isset а должно быть !empty | |
|
|
|
|
|
|
|
для: Valick
(14.08.2011 в 12:03)
| | виновен! (почему-то на тот момент мне показалось верным решением) | |
|
|
|
|
|
|
|
для: lukanuga
(14.08.2011 в 05:23)
| |
foreach($myrow3 as $value){
if(!empty($value)) echo "<p>".$value."</p>";
}
|
пробуйте | |
|
|
|
|
|
|
|
для: Valick
(14.08.2011 в 11:55)
| | все три значения массива должны быть одном параграфе.
раннее цикл использовать нельзя было, разные были массивы, ну а щас ваш вариант лучше, но должно быть что-то вроде
<?php
if(!empty($myrow3)){
echo '<p>';
foreach($myrow3 as $value)
{
if(!empty($value)) echo $value.'<br />';
}
echo '</p>';
}
?>
|
| |
|
|
|
|
|
|
|
для: f111
(14.08.2011 в 12:06)
| | все три значения массива должны быть одном параграфе
это когда это автор успел поставить такое условие?
поверьте правильный код я бы мог написать через 3 минуты после прочтения темы, но хотелось бы что бы автор хоть что-то подумал собственной головой, может быть я бы и написал сразу еслиб не "привет от Попова"
___
а... нашел
подскажите, как отобразить нижеследующий код, чтобы вместо трех строк была одна <p>%s %s %s</p> | |
|
|
|
|
|
|
|
для: Valick
(14.08.2011 в 12:10)
| | >поверьте правильный код я бы мог написать через 3 минуты
неужели я спорил, я всего лишь к вашему коду добавил if, не надо всё в штыки воспринимать | |
|
|
|
|
|
|
|
для: f111
(14.08.2011 в 20:15)
| | ??? :)
где вы там штыки разглядели?)) | |
|
|
|
|
|
|
|
для: f111
(14.08.2011 в 12:06)
| | этот код будет весь массив туда пихать))
в общем придется написать... | |
|
|
|
|
|
|
|
для: lukanuga
(14.08.2011 в 05:23)
| |
$query="запрос";
$res=mysql_query($query) or die("Ошибка: ".mysql_error());
if($res){
while($myrow3=mysql_fetch_assoc){
echo "<p>".$myrow3[title]."</p>"; // так выводим то что не нужно проверять
if(!empty($myrow3[tel])) echo "<p><strong>Phone:</strong>".$myrow3[tel]."</p>"; // так выводим то что требует проверки
if(!empty($myrow3[licence]) ||
!empty($myrow3[accreditation]) ||
!empty($myrow3[organ])){
echo '<p>',$myrow3[licence],'<br>',$myrow3[accreditation],'<br>',$myrow3[organ],'</p>';}
}
}
|
пора бежать.... далее по аналогии | |
|
|
|
|
|
|
|
для: Valick
(14.08.2011 в 12:21)
| |
<?
if(!empty($myrow3['licence']) || !empty($myrow3['accreditation']) || !empty($myrow3['organ']))
echo "<p class='additional' align='center'>".$myrow3['licence']."<br>".$myrow3['accreditation']."<br>".$myrow3['organ']."</p>";
?>
|
Работает не так как хотелось бы. Если есть хотя одна не пустая строка, то все равно выводит <br> | |
|
|
|
|
|
|
|
для: lukanuga
(14.08.2011 в 22:03)
| | ну включайте же его)))
<?php
if(!empty($myrow3['licence']) ||
!empty($myrow3['accreditation']) ||
!empty($myrow3['organ'])) echo "<p class='additional' align='center'>";
if(!empty($myrow3['licence'])) echo $myrow3['licence']."<br>";
if(!empty($myrow3['accreditation'])) echo $myrow3['accreditation']."<br>";
if(!empty($myrow3['organ'])) echo $myrow3['organ']."<br>";
if(!empty($myrow3['licence']) ||
!empty($myrow3['accreditation']) ||
!empty($myrow3['organ'])) echo "</p>";
?>
|
| |
|
|
|
|
|
|
|
для: Valick
(14.08.2011 в 23:15)
| | Огромное спасибо. Работает.
Да благославит Вас Бог!
Счастья и мира.
Luka | |
|
|
|