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

Форум PHP

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

 

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

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

тема: Вывод массива
 
 автор: Ozz99   (04.01.2009 в 21:54)   письмо автору
 
 

<?php 
$result 
mysql_query("SELECT author,date FROM test",$hj);
$myrov mysql_fetch_array($result);

do {       
printf ("  <p>%s</p> <p> %s</p> "$myrov["date"], $myrov["author"]);
}

while (
$myrov mysql_fetch_array($result));          
?>    


Вывод происходит по принципу
Текст1
Текст2
Текст3
Текст4
И т.д.

Можно сделать вот так
Текст1 Текст2 Текст3
Текст4 Текст5 Текст6
Текст7 Текст8 Текст9
И т.д

  Ответить  
 
 автор: sl1p   (04.01.2009 в 22:13)   письмо автору
 
   для: Ozz99   (04.01.2009 в 21:54)
 

можно и чо.

  Ответить  
 
 автор: ddhvvn   (04.01.2009 в 22:16)   письмо автору
 
   для: Ozz99   (04.01.2009 в 21:54)
 

можно таблицей, можно еще как-нибудь, тут главное либо цикл в цикле сделать, либо 1 цикл с шагом 3 и выводом инфы, соответственно, 3 раза...

  Ответить  
 
 автор: Николай2357   (04.01.2009 в 22:21)   письмо автору
 
   для: ddhvvn   (04.01.2009 в 22:16)
 

Да не, зачем кучу циклов?
Как то так:
<?
while ($myrov mysql_fetch_array($result)); 
{
$i++
printf (" %s %s "$myrov["date"], $myrov["author"]); 
    if((
$i%3) == 0) echo "<br>";

  Ответить  
 
 автор: Ozz99   (04.01.2009 в 22:53)   письмо автору
 
   для: Николай2357   (04.01.2009 в 22:21)
 

Спасибо будем пробовать

  Ответить  
 
 автор: Ozz99   (04.01.2009 в 23:23)   письмо автору
 
   для: Ozz99   (04.01.2009 в 22:53)
 

Вот что пишет
Parse error: syntax error, unexpected T_STRING in Z:\home\localhost\www\zv\test1.php on line 35


35 строка вот

printf (" %s %s ", $myrov["date"], $myrov["author"]);  

  Ответить  
 
 автор: Николай2357   (04.01.2009 в 23:29)   письмо автору
 
   для: Ozz99   (04.01.2009 в 23:23)
 

Ну я же только принцип написал. Я вообще никогда не юзал printf, не нравится он мне...
напишите вместо него к примеру
<?
echo $myrov["date"]." ".$myrov["author"];

А ошибка там простая - нет точки с запятой. Я тут писал - прохлопал ушами. Извините.
<?
$i
++;

  Ответить  
 
 автор: Ozz99   (04.01.2009 в 23:48)   письмо автору
 
   для: Николай2357   (04.01.2009 в 23:29)
 

Спасибо. вроде всё работает

  Ответить  
 
 автор: Ozz99   (05.01.2009 в 01:43)   письмо автору
 
   для: Ozz99   (04.01.2009 в 23:48)
 

Всё работает, да немного не так. Если в таблице 10 строк, то показывает 11.
Строка пустая и становится всегда впереди. Она бы не мешала, но как только пишешь Автор.
То выводится так
Автор Автор Андрей Автор Артур
Автор Петя Автор Вася и т.д.

  Ответить  
 
 автор: Николай2357   (05.01.2009 в 08:31)   письмо автору
 
   для: Ozz99   (05.01.2009 в 01:43)
 

Не, это у Вас что то где то напутано. Такого в принципе быть не может. Код в студию. (В смысле дамп)

  Ответить  
 
 автор: Ozz99   (05.01.2009 в 13:18)   письмо автору
 
   для: Николай2357   (05.01.2009 в 08:31)
 

Вот он

<?php 
$result 
mysql_query("SELECT title,id,description,author,date FROM test ORDER BY id",$fg);

 
do {  
 
$i++;  
 
printf (" Автор %s Ещё %s"$myrov["author"], $myrov["date"] );

 if((
$i%3) == 0) echo "<br><br>";           
}
while (
$myrov mysql_fetch_array($result));           
?>      



Если делаю вот так

<?php 
$result 
mysql_query("SELECT title,id,description,author,date FROM test ORDER BY id",$fg);
while (
$myrov mysql_fetch_array($result));     
 
do {  
 
$i++;  
 
printf (" Автор %s Ещё %s"$myrov["author"], $myrov["date"] );

 if((
$i%3) == 0) echo "<br><br>";           
}
while (
$myrov mysql_fetch_array($result));       
?>      



Выводится только Автор Ещё - и больше ничего.


<?php 
$result 
mysql_query("SELECT title,id,description,author,date FROM test ORDER BY id",$fg);

do {  
 
$i++;  
 echo 
"Проба - $myrov[date]"." ".$myrov["author"]; 

 if((
$i%3) == 0) echo "<br><br>";           
}
while (
$myrov mysql_fetch_array($result));       
?>      


этот вариант - всё тоже самое

  Ответить  
 
 автор: Drago   (05.01.2009 в 14:28)   письмо автору
 
   для: Ozz99   (05.01.2009 в 13:18)
 

Зачем вы используете конструкцию do while? Вам так больше нравится или вы по-другому не умеете?

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

Если же иначе не умеете, тогда открывайте учебник и читайте чем do while отличается от простого цикла while. Иначе, вам и впредь будет также сложно переделывать чужой код на свой лад.

  Ответить  
 
 автор: Trianon   (05.01.2009 в 15:52)   письмо автору
 
   для: Drago   (05.01.2009 в 14:28)
 

Тут был слух, что какая-то дрянь выпустила видеокурс, в котором для расхлебывания результата запроса к БД был представлен этот do - while .
Вот теперь огребаем по полной программе. Это ж не первый случай на форуме, и даже не десятый .

  Ответить  
 
 автор: Drago   (05.01.2009 в 16:01)   письмо автору
 
   для: Trianon   (05.01.2009 в 15:52)
 

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

  Ответить  
 
 автор: Ozz99   (07.01.2009 в 17:12)   письмо автору
 
   для: Drago   (05.01.2009 в 16:01)
 


$myrov = mysql_fetch_array($result); 

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

<? 


$result 
mysql_query("SELECT author,id FROM test",$fg);
$myrov mysql_fetch_array($result);
echo 
"<table border='2' cellpadding='4' cellspacing='4' bordercolor='#CC6633'>"
$final 0

do{ 
    if(
$final == 0) echo "<tr>"
    
    
printf ("<td width='150' height='150' align='center' class='viv_tb'><a href='uroc.php?id=%s'>%s</a></td>"$myrov["id"], $myrov["author"] );

    
$final++; 
    if(
$final == 2
    { 
       echo 
"</tr>"
       
$final 0
    } 
  } 
  while (
$myrov mysql_fetch_array($result));
  echo 
"</table>"

      
?>




Он выложен в форуме, но разобраться в нём я смог только после обсуждения с Николаем его варианта. За что Николаю очень большое спасибо. А так я даже не знал, что и где менять.
Что касается того видеокурса, что поделать - там всё понятно и доступно. До него я даже не знал, что PHP не так сложно. Кстати это он даёт ссылку на ваш форум и сообщает, что книги довольно у вас нужные. Но в наш век кто читает книги?

Всё таки в чём принципиальная разница между do while и просто while? В двух словах можно? Потому, что подругому я не умею, а учиться без видеокурса довольно сложно. Ещё раз спасибо всем за помощь.

  Ответить  
 
 автор: Николай2357   (07.01.2009 в 17:15)   письмо автору
 
   для: Ozz99   (07.01.2009 в 17:12)
 

А вот зря Вы не прислушались... Цикл do... while предполагает, что один виток будет совершен обязательно. А у Вас это не факт. Так что как говорят - фтопку этот курс. Ну или это место из него хотя бы.

  Ответить  
 
 автор: Николай2357   (07.01.2009 в 17:19)   письмо автору
 
   для: Ozz99   (07.01.2009 в 17:12)
 

Вот тоже самое:
<?  
$result 
mysql_query("SELECT author,id FROM test",$fg);  
echo 
"<table border='2' cellpadding='4' cellspacing='4' bordercolor='#CC6633'><tr>";  
while (
$myrov mysql_fetch_array($result));  

$i++; 
printf ("<td width='150' height='150' align='center' class='viv_tb'><a href='uroc.php?id=%s'>%s</a></td>"$myrov["id"], $myrov["author"] );  
    if((
$i%2) == 0) echo "</tr><tr>"

  echo 
"</tr></table>"
Правда не очень красиво оставлять пустой ряд, если к-во кратное 2, но такова логика Вашего кода. И кстати вообще всё поплывёт. Что так, что эдак.

  Ответить  
 
 автор: Ozz99   (08.01.2009 в 14:51)   письмо автору
 
   для: Николай2357   (07.01.2009 в 17:19)
 

Можно на этом подробнее, что и куда поплывёт. У меня пока не плывёт, в опере и в Е проверял. Может в каких старых версиях Е или ещё где поплывёт. У меня всё это выгружается в таблицу у которой параметр ширины стоят 600px/ Может в ней не должно поплыть? Делалось это для вывода фото. Пробовал и по 3 и по 4 и по 2. И с постраничной навигацией и кратное разным числам. Всё красиво получается. Там где всего 2 фото они по центру. Если кратно 3 то законченая табличка 3x1, 3x2, 3x3, 3x4, если например 8 фото, то строится три ряда в котором последняя ячейка пустая - что не критично. Вроде не плывёт. Может я как ламер ещё не понимаю каких моментов и они всплывут в других версиях браузера?

  Ответить  
 
 автор: Ozz99   (08.01.2009 в 15:02)   письмо автору
 
   для: Ozz99   (08.01.2009 в 14:51)
 

Меняю свой код на Ваш и

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\zv\test4.php on line 34 - вот эта строка - while ($myrov = mysql_fetch_array($result));

и в низу табличка 150 на 150, что не так?

  Ответить  
 
 автор: Ozz99   (08.01.2009 в 15:12)   письмо автору
 
   для: Ozz99   (08.01.2009 в 15:02)
 

Рано мне ещё тот видеокурс в топку. А сайту предложил бы выпустить своих пачку видеокурсов. И что бы их можно было скачать за СМС. Присылаешь СМС вам код и качаешь. Создание сайта может занять до 30 уроков. Соответственно 30 СМС. Но надо что бы было расписано в кратце какой урок для чего и надпись, например, вам фото альбом на сайте не нужен переходите на урок №17. Что бы весь курс мог не в 30 СМС а в 10 Сmc войти. Стоимость Сmc выбирайте сами. Если идея будет востребована, то требую процент в виде видеоуроков - бесплатно. Если ещё кто-то воспользуется советом не забудьте поблагодарить в личку и можете предложить бесплатно, то что у вас будет платно.

  Ответить  
 
 автор: Trianon   (08.01.2009 в 15:33)   письмо автору
 
   для: Ozz99   (08.01.2009 в 15:12)
 

простите, а для чего?
Что этот курс будет позволять сделать?
Урок "Как сделать фотоальбом на сайте, не зная как его делать, и так и не узнав как его делать.
Гарантируется работающий фотоальбом и пустая голова как до так и после прохождения курса"
?

  Ответить  
 
 автор: Ozz99   (08.01.2009 в 16:14)   письмо автору
 
   для: Trianon   (08.01.2009 в 15:33)
 

Пустых голов не бывает, разве что у скелетиков. И если Вы считаете, что заполнение лучше начать с чтения книг, то это верно, но вот многим легче когда им разжуют по видео, а потом глядишь и книги легче усвоить. А видеокурс для того, что бы деньги заработать. Ну если они вам не надо, можете отдавать их мне или может вы не хотите их таким образом зарабатывать - это другой вопрос.

  Ответить  
 
 автор: Николай2357   (08.01.2009 в 15:43)   письмо автору
 
   для: Ozz99   (08.01.2009 в 15:02)
 

>Меняю свой код на Ваш и.....
>и в низу табличка 150 на 150, что не так?

Не знаю что не так, это у Вас в базе что то не то, я базу не трогал ))))

  Ответить  
 
 автор: Николай2357   (08.01.2009 в 15:12)   письмо автору
 
   для: Ozz99   (08.01.2009 в 14:51)
 

Вот по полочкам, какой будет вывoд при трёх записях в таблице:
1. Тут вопросов нет рисуется шапка.
<table border='2' cellpadding='4' cellspacing='4' bordercolor='#CC6633'>

2. Если $final = 0, то открывается ряд:
   <tr>   

3. Первый виток цикла:
<td width='150' height='150' align='center' class='viv_tb'>
<a href='uroc.php?id=%s'>%s</a></td> 

4. Второй виток:
<td width='150' height='150' align='center' class='viv_tb'>
<a href='uroc.php?id=%s'>%s</a></td>

5. Так как $final = 2, закрывается ряд
    </tr>

6. Третий виток .$final = 0, открывается ряд:
   <tr> 
<td width='150' height='150' align='center' class='viv_tb'>
<a href='uroc.php?id=%s'>%s</a></td>

7. Всё, записи кончились. Значит закрывается таблица.
</table>

Теперь складываем то, что получилось и имеем:
<table border='2' cellpadding='4' cellspacing='4' bordercolor='#CC6633'>
   <tr> 
<td width='150' height='150' align='center' class='viv_tb'>
<a href='uroc.php?id=%s'>%s</a></td> 
<td width='150' height='150' align='center' class='viv_tb'>
<a href='uroc.php?id=%s'>%s</a></td>   
    </tr> 
    <tr> 
<td width='150' height='150' align='center' class='viv_tb'>
<a href='uroc.php?id=%s'>%s</a></td>    
  </table>

Ещё как поплывёт.

  Ответить  
 
 автор: Ozz99   (08.01.2009 в 16:21)   письмо автору
 
   для: Николай2357   (08.01.2009 в 15:12)
 

</tr> - нет. Как поправить это дело?

  Ответить  
 
 автор: Николай2357   (08.01.2009 в 16:25)   письмо автору
 
   для: Ozz99   (08.01.2009 в 16:21)
 

></tr> - нет.
Не только. у Вас в нижнем ряду одна ячейка, а в верхнем две.
Как поправить это дело
Послушать Trianon'a и переписать код.

  Ответить  
 
 автор: Trianon   (08.01.2009 в 16:41)   письмо автору
 
   для: Николай2357   (08.01.2009 в 16:25)
 

>Как поправить это дело
>Послушать Trianon'a и переписать код.
Не-не-не, Дэвид Блэйн!
Я - пас!
Только через видеокурс!

  Ответить  
 
 автор: Ozz99   (08.01.2009 в 16:47)   письмо автору
 
   для: Николай2357   (08.01.2009 в 16:25)
 

Так он ведь не хочет видеоурок сделать. А прочитав все книги. Если они печатные, то возможно смогу через пару месяцев или пару лет. Если в электронном виде, тогда и править ничего не надо будет - не актуально - глаза подарю компу. Придется контроль держать по количеству фото, а там посмотрим. Ещё можно попробовать без таблиц - фото и так должны стать рядками. Сейчас попрбую.
А всё таки поплывёт как? У меня всё вроде нормально. Где это вылезет и когда?

  Ответить  
 
 автор: Ozz99   (08.01.2009 в 17:21)   письмо автору
 
   для: Ozz99   (08.01.2009 в 16:47)
 

<?
echo "<div class='st'>";
$result mysql_query("SELECT id,mini FROM test ORDER BY id DESC LIMIT $start$num",$fg);
if (!
$result)  {echo "<p>Ошибка на странице. Сообщите пожалуйста администратору:</p>";
exit(
mysql_error());}
if (
mysql_num_rows($result) > 0)
{
$myrov mysql_fetch_array($result);  
  
do {   
 
$i++;   
 
printf ("<span class='sta'><a href='fot.php?id=%s'>%s</a></span>"$myrov["id"], $myrov["mini"] );

 if((
$i%3) == 0) echo "<br><br>";                

while (
$myrov mysql_fetch_array($result));           
 echo 
"</div>";
   

Какие замечания по этому варианту? Вроде всё работает. Меня смущает тег span - взял первый попавшийся, может надо было какой другой?

  Ответить  
 
 автор: Николай2357   (08.01.2009 в 18:09)   письмо автору
 
   для: Ozz99   (08.01.2009 в 16:47)
 

>последняя ячейка пустая - что не критично.
Вот останавливает меня на медне гаишник, и говорит: а какого, простите меня, вместо шплинта в рулевой тяге гвоздь? Так оно вроде не критично... Пока держится. Если Вы будете так же рассуждать, то в один прекрасный момент может так критично стать, что уже и поправить ничего будет невозможно. Как говорил мой хороший знакомый, делать стараться надо всё хорошо, плохо оно само получится.
<?php 
$result 
mysql_query("SELECT `id`, `author` FROM test"$fg);   
echo 
"<table border='2' cellpadding='4' cellspacing='4' bordercolor='#CC6633'>
<tr>"
;
$row mysql_num_rows($result);
$row = (($row%2) == 0)? $row:$row+1;   
    for(
$i=1$i <= $row$i++)   
    { 
    
$author = (@mysql_result($result,($i-1),1))? 
    
"<a href='uroc.php?id=".$id."' >".@mysql_result($result,($i-1),1)."</a>":"&nbsp;";
echo 
"
<td width='150' height='150' align='center' class='viv_tb'>"
.
$author.
"</td>";   
    if((
$i%2) == 
    echo 
"
    </tr>
    <tr>"
;  
    } 
  echo 
"
  </tr>
  </table>"
;
?>

  Ответить  
 
 автор: Ozz99   (08.01.2009 в 18:14)   письмо автору
 
   для: Николай2357   (08.01.2009 в 18:09)
 

Буду пробовать. Это я понимаю, что может стать худо. Вот и бьюсь над этим скриптом и Вас прошу помочь.

  Ответить  
 
 автор: Ozz99   (08.01.2009 в 18:41)   письмо автору
 
   для: Ozz99   (08.01.2009 в 18:14)
 

Всё работает. Хотя мне там не всё понятно.
Я сделал вывод под три таблицы заменив вот тут
<?
if(($i%3) == 

И теперь ищу подводные камни. Проверил HTML код вроде нормально. Засады нет в этом месте

<?
$row 
= (($row%2) == 0)? $row:$row+1;    
    for(
$i=1$i <= $row$i++)    
    {  
    
$author = (@mysql_result($result,($i-1),1))?  

может 3 надо где то прописать или дополнить чего.

  Ответить  
 
 автор: Ozz99   (08.01.2009 в 18:57)   письмо автору
 
   для: Ozz99   (08.01.2009 в 18:41)
 

<? 
"<a href='uroc.php?id=".$id."' >".@mysql_result($result,($i-1),1)."</a>":"&nbsp;"


$id не подстовляет при нажатии на ссылку происходит пшик.

  Ответить  
 
 автор: Николай2357   (08.01.2009 в 19:02)   письмо автору
 
   для: Ozz99   (08.01.2009 в 18:57)
 

Я же говорю - само получится )))
<?  
"<a href='uroc.php?id=".@mysql_result($result,($i-1),0)."' >".@mysql_result($result,($i-1),1)."</a>":"&nbsp;";

  Ответить  
 
 автор: Ozz99   (08.01.2009 в 19:11)   письмо автору
 
   для: Николай2357   (08.01.2009 в 19:02)
 

Замечательно. В очередной раз спасибо и очень большое. Надеюсь на этот раз всё.

  Ответить  
 
 автор: Николай2357   (08.01.2009 в 19:07)   письмо автору
 
   для: Ozz99   (08.01.2009 в 18:57)
 

>Я сделал вывод под три таблицы заменив вот тут
Вот не зря Trianon чурается ))). Вы поймите, это ведь не видеокурс, тут маленько надо думать, а не подставлять наугад что попало куда попало. Если надо на 3 ячейки, совсем другая логика должна быть.

  Ответить  
 
 автор: Ozz99   (08.01.2009 в 19:13)   письмо автору
 
   для: Николай2357   (08.01.2009 в 19:07)
 

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

  Ответить  
 
 автор: Trianon   (08.01.2009 в 19:23)   письмо автору
 
   для: Николай2357   (08.01.2009 в 19:07)
 

Довели.
вот вам на произвольное число ячеек.

<?php
$result 
mysql_query("SELECT `id`, `author` FROM test"$fg);
echo 
"<table border='2' cellpadding='4' cellspacing='4' bordercolor='#CC6633'>\r\n";
$rows mysql_num_rows($result);
$columns 5;
$cells $columns intval(($rows+$columns-1)/$columns);
for(
$i=0$i $cells;)
{
    if(
$i $columns == 0)  echo "<tr>";
    
$v "&nbsp;";
    if(
$i $rows)
    {
        
$row mysql_fetch_assoc($result);
        
$author htmlspecialchars($row['author']);
        
$id intval($row['id']);
        
$v "<a href='uroc.php?id=$id' >$author</a>";
    }
    echo 
"<td width='150' height='150' align='center' class='viv_tb'>$v</td>\r\n";
    if(++
$i $columns == 0)  echo "</tr>\tr";
}
echo 
"</table>\r\n";
?>

UPD.

  Ответить  
 
 автор: Ozz99   (08.01.2009 в 19:37)   письмо автору
 
   для: Trianon   (08.01.2009 в 19:23)
 

Спасибо. вот тут ошибка похоже.

echo "</tr>\tr"; 

.Исправил.
Я так понимаю меняем просто $columns = 5; или 4 или 3.
Хотя у меня выскакивает в конце несколько пустых ячееке, но это может из за базы, на другой пока не пробовал. Убегаю. Попобую позже.
А всё таки уважаемые знатоки, что вы скажете по варианту 10 сообщений назад я его предоставил. Там я сделал всё то же самое только без таблиц??? Могу я его использовать или есть там засадки?

  Ответить  
 
 автор: Trianon   (08.01.2009 в 19:44)   письмо автору
 
   для: Ozz99   (08.01.2009 в 19:37)
 

ну да. руа дрогнула. echo "</tr>\r\n";
>что вы скажете по варианту 10 сообщений назад я его предоставил.
в 17:21? Там где несколько раз закрывается однажды открытый div?

  Ответить  
 
 автор: Николай2357   (08.01.2009 в 20:25)   письмо автору
 
   для: Trianon   (08.01.2009 в 19:23)
 

>Довели.
Свет, звук, камера, мотор, поехали! Кадр 8, дубль 12!
И так, начинаем наш видеокурс! ))))

  Ответить  
 
 автор: Ozz99   (08.01.2009 в 23:07)   письмо автору
 
   для: Николай2357   (08.01.2009 в 20:25)
 

Если уж у профи рука дрожит, то что говорить о ламерах. Я редактировал само сообщение и не туда вставил. Он у меня в самом конце стоит.

while ($myrov = mysql_fetch_array($result));   echo "</div>";


вот так. Ошибки ошибками а код работоспособный или на помойку?
Смех,смехом, но разницы нет как в тебя вливают инфу через видео или книгу вопрос только в том какую инфу. Снято, всех блогадарю за участия в съёмках)))

  Ответить  
 
 автор: Ozz99   (08.01.2009 в 23:22)   письмо автору
 
   для: Ozz99   (08.01.2009 в 23:07)
 

Постойте не расходитесь, я запорол плёнку.
Получается если я ставлю 3 колонки - внизу даёт 2 дополнительные пустые клетки. Ставлю 4 - 3 пустые и т.д. Бонус так сказать. Опять чего-то недовертел. Может из-за постраничной навигации? а зачем вот эта функция - htmlspecialchars в этом коде. Я её удалил, не давала фотки выводить.

  Ответить  
 
 автор: Ozz99   (08.01.2009 в 23:33)   письмо автору
 
   для: Ozz99   (08.01.2009 в 23:22)
 

Посмотрел я книги и вот такой отзыв увидел.

В книге демонстрируются методы написания программ "на коленке" и "в лоб". Плохие однотипные примеры вдалбливают подходы, которые потом ни один программист использовать не будет.
И это всё на 948 страницах! В своё время очень пожалел о покупке этой книги, теперь отдал бы и даром.

Начинающим программистам советую читать книги с названиями вроде "Профессиональное программирование PHP", "PHP профессионалам". Ничего особо профессионального и сложного там обычно нет (обычное завлечение покупателей), зато примеры поизящнее и учат думать.

Как теперь покупать?

Денис Колисниченко
PHP 5/6 и MySQL 6. Разработка Web-приложений
вот такую книгу нашёл. Купил бы почитал. Но как представлю доставка, на почты бегай. А в Беларусию есть доставка?

  Ответить  
 
 автор: Николай2357   (08.01.2009 в 23:57)   письмо автору
 
   для: Ozz99   (08.01.2009 в 23:07)
 

>Он у меня в самом конце стоит.
А что стоит то? У Вас див открывается только один раз, а закрываете Вы его по числу строк... И уж однозначно на помойку в этои случае цикл do... while.
А руки у всех эпизодически дрожат ;) Дело не в руках. Разруха в головах, а не в клозетах ))). Книги можно читать любые, даже самые бестолковые. Смотря как читать, иногда интересные релизы попадаются. Главное структуру понять и принцип действия. Я вот ооооочень многого еще не понимаю...

  Ответить  
 
 автор: Ozz99   (09.01.2009 в 00:38)   письмо автору
 
   для: Николай2357   (08.01.2009 в 23:57)
 

в HTML коде один раз закрыт - после 4 строк - так что немогу принять этот упрёк. Специально перенёс его выше как в коде с ошибкой. Тогда всё рухнуло. и закрывает после каждой строки. А так один раз закрыл и вообще там можно без div обойтись я его туда для рамки всунул нет рамки и ничего страшного. А вот от do... while не могу избавится. Когда по читаю умную книгу может и получится, а так не работает у меня ничего без этого, не знаю я другого принципа, надеюсь пока. Судя по всему это не очень страшно или я чего не понял? Вот так мне было сказано - Зачем вы используете конструкцию do while? Вам так больше нравится или вы по-другому не умеете?

Если больше нравится, тогда ....

  Ответить  
 
 автор: Николай2357   (09.01.2009 в 10:16)   письмо автору
 
   для: Ozz99   (09.01.2009 в 00:38)
 

Всё нормально в Вашем коде теперь с дивами. А цикл do... while отличается от просто while тем, что в нем сначала выполняется выражение, потом проверяется условие. То есть по русски:
<?
do{
echo 
"При любых обстоятельствах эта запись появится хотя бы один раз";
}
while(
"что бы здесь не произошло");
А цикл while работает так:
<?
while("Если здесь произойдет то, что нам нужно")
{
echo 
"То только тогда появится эта надпись.";
}

  Ответить  
 
 автор: Ozz99   (13.01.2009 в 12:22)   письмо автору
 
   для: Николай2357   (09.01.2009 в 10:16)
 

Спасибо Николай в очередной раз. По-русски так всё понятно и ясно. Буду эксперементировать.

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

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