Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Ограничение символов в цикле while

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
El Diablo
Отправлено: 01 Марта, 2013 - 11:08:22
Post Id



Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Окт. 2012  


Помог: 0 раз(а)




Доброго времени суток, моя задача на главной странице выводить небольшой блок с

Именем автора
Текст сообщение (ограничение символов до 130)
Ссылкой читать далее.

Теперь беда вот в чем:

PHP:
скопировать код в буфер обмена
  1.   <?PHP  
  2. $result = mysql_query ("SELECT author,text FROM news",$db);
  3. $myrow = mysql_fetch_array ($result);
  4. do {
  5.  
  6. <p style='margin:10px'>%s</p>
  7. <p style='margin: 10px; font-size:13px; text-align: left;'>%s</p>
  8. <p style='margin:10px'>Читать далее..</p>", $myrow["author"],$myrow["text"]);
  9.  
  10. }
  11. while ($myrow < 1);    
  12. ?>


Я нашел как ограничивать кол-во выводимых символов, но не знаю как правильно вставить в код, вернее куда.

Вот что нашел:



И еще вопрос, в первом блоке я поставил:


Что бы выводилась инфа не более чем из 1ой строки таблици. Правильно ли я сделал?

Ребят в PHP я только тольк оначал по этому только вьезжаю, не бузите если ерунду спрашиваю =)

P.S. Прежде чем писать серфлю поисковиками.
 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Марта, 2013 - 11:15:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




El Diablo пишет:
Вот что нашел
Пойдет.
El Diablo пишет:
не более чем из 1ой строки таблици
Не правильно, нужно в запросе дописать в конец:

El Diablo пишет:
Ребят в PHP я только тольк оначал по этому только вьезжаю, не бузите если ерунду спрашиваю =)
Это нормальное явление, ничего страшного.
Еще может быть полезно вот тут.
 
 Top
esterio
Отправлено: 01 Марта, 2013 - 11:15:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




http://forum.php.su/topic.php?fo...33&topic=793
Вам сюда
(Добавление)

DeepVarvar
Опередили Радость Радость
 
 Top
El Diablo
Отправлено: 02 Марта, 2013 - 11:23:53
Post Id



Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Окт. 2012  


Помог: 0 раз(а)




Ребят благодарю =) с выводом 1 ряда разобрался =) но возникло еще 2 вопроса:

1. никак не могу понять куда вставлять

везде где бы ни смотрел приводят пример с echo, но как разместить его в операторе printf

2. Как сделать рандомный вывод информации, я понимаю, что сначало нужно вывести тот же id в массив, и сказать PHP вот тебе масив от и до и бери любой id, только как это грамотно сделать?

Вот сам код:

PHP:
скопировать код в буфер обмена
  1. <?PHP  
  2. $result = mysql_query ("SELECT author,description,id FROM quest LIMIT 0,1",$db);
  3. $myrow = mysql_fetch_array ($result);
  4. do {
  5.  
  6.         <p style='margin:10px'>
  7.                 %s
  8.         </p>
  9.         <p style='margin: 10px; font-size:13px; text-align: left;'>
  10.                 %s
  11.         </p>
  12.         <p style='margin:10px; text-align: left;'>
  13.                 <a href='index2.php?id=%s'>
  14.                 Читать далее...
  15.                 </a>
  16.         </p>", $myrow["author"],$myrow["description"],$myrow["id"]);
  17. }
  18. while ($myrow = mysql_fetch_array($result));   
  19. ?>


P.S. Благодарю за ссылку полезная информация для меня =)

С уважением и благодарностью, El Diablo.

(Отредактировано автором: 02 Марта, 2013 - 11:25:01)

 
 Top
DeepVarvar Супермодератор
Отправлено: 02 Марта, 2013 - 16:28:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




El Diablo пишет:
P.S. Благодарю за ссылку полезная информация для меня
Если информация дествительно полезная, тогда исправьте свой код в соответствии с этой информацией и вопросы отпадут. Закатив глазки
 
 Top
El Diablo
Отправлено: 04 Марта, 2013 - 13:23:41
Post Id



Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Окт. 2012  


Помог: 0 раз(а)




Ребят изучил статью, не знаю правильно ли я сделал, но получилось реализовать нужные мне функции, а именно (что бы выводилась одна строка из таблици, что бы переменная $text была ограниченна до 70 символов и что бы ссылка была рабочей.)

Был такой код:
PHP:
скопировать код в буфер обмена
  1. <?PHP  
  2. $result = mysql_query ("SELECT author,description,id FROM quest LIMIT 0,1",$db);
  3. $myrow = mysql_fetch_array ($result);
  4. $author = $myrow["author"];
  5. $description = $myrow["description"];
  6. $id = $myrow["id"];
  7.  
  8. do {
  9.  
  10.         <p style='margin:10px'>
  11.                 %s
  12.         </p>
  13.         <p style='margin: 10px; font-size:13px; text-align: left;'>
  14.                 %s
  15.         </p>
  16.         <p style='margin:10px; text-align: left;'>
  17.                 <a href='index2.php?id=%s'>
  18.                 Читать далее...
  19.                 </a>
  20.         </p>", $myrow["author"],$myrow["description"],$myrow["id"]);
  21. }
  22. while ($myrow = mysql_fetch_array($result));   
  23. ?>



Стал такой:
PHP:
скопировать код в буфер обмена
  1. <?PHP  
  2. $result = mysql_query ("SELECT author,description,id FROM quest ORDER BY RAND() LIMIT 0,1",$db);
  3. $myrow = mysql_fetch_array ($result);
  4. $author = $myrow["author"];
  5. $description = $myrow["description"];
  6. $id = $myrow["id"];
  7.  
  8. do {
  9.                 echo "<p style='margin:10px'>".$author."</p>";
  10.                 echo "<p style='margin: 10px; font-size:13px; text-align: left;'>".(substr($description, 0, 70))."</p>";
  11.                 echo "<p style='margin:10px; text-align: left;'>
  12.                         <a href='index2.php?".$id."'>
  13.                 Читать далее...
  14.                 </a>
  15.         </p>";
  16. }
  17. while ($myrow = mysql_fetch_array($result));   
  18. ?>


Работа над ошибками:

Почитал статейки:
В запрос добавить ORDER BY RAND()
( http://forum.php.su/topic.php?fo...8&topic=4928 )

Вывел переменные по отдельности нежели стал работать с неразрешенным массивом (вывел урок из статьи которую вы дали чуть выше)

Ограничение по символам (substr($description, 0, 70))
http://eske70[dot]runwww[dot]eske70[dot]ru/i[dot][dot][dot]r=view&id=45

и наверное самое важное я боялся, что в операторе printf мне было больше понятно как и что куда вставлять, по этому не хотел отрыватся от оператора, но с echo стало понятнее единственной ошибкой было то что забыл как присоединять код+ текст+код вспоминал и и вспомнил, через точку =)

P.S. Аннотации я по большей части пишу для себя на случай если забыл Форум > Сообщения > поиск своей темы. Да и ребятам кто сталкивается с этим тоже понятней будет =)


Собственно самый главный вопрос, правильно ли сделал?
 
 Top
Object
Отправлено: 04 Марта, 2013 - 13:45:37
Post Id


Гость


Покинул форум
Сообщений всего: 67
Дата рег-ции: Авг. 2010  


Помог: 3 раз(а)




Зачем Вам вывод в цикле если у Вас sql-запрос возвращает ОДНУ запись?
Про вывод результатов выборки циклом do ... while Вы уже наверное читали.
 
 Top
El Diablo
Отправлено: 04 Марта, 2013 - 16:01:36
Post Id



Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Окт. 2012  


Помог: 0 раз(а)




Object делал по уроку и не увидел, благодарю! я полностью избавился от этого цикла.

Код стал выглядеть:
PHP:
скопировать код в буфер обмена
  1. <?PHP  
  2. $result = mysql_query ("SELECT author,description,id FROM quest ORDER BY RAND() LIMIT 0,1",$db);
  3. $myrow = mysql_fetch_array ($result);
  4. $author = $myrow["author"];
  5. $description = $myrow["description"];
  6. $id = $myrow["id"];
  7.  
  8.                 echo "<p style='margin:10px'>".$author."</p>";
  9.                 echo "<p style='margin: 10px; font-size:13px; text-align: left;'>".(substr($description, 0, 100))."...</p>";
  10.                 echo "<p style='margin:20px; text-align: left;'>
  11.                         <a href='index2.php?".$id."'>
  12.                 Читать далее...
  13.                 </a>
  14.         </p>";
  15. ?>


Вот так =)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB