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
Форумы портала PHP.SU :: Версия для печати :: Ограничение символов в цикле while
Форумы портала PHP.SU » » Вопросы новичков » Ограничение символов в цикле while

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

1. El Diablo - 01 Марта, 2013 - 11:08:22 - перейти к сообщению
Доброго времени суток, моя задача на главной странице выводить небольшой блок с

Именем автора
Текст сообщение (ограничение символов до 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. Прежде чем писать серфлю поисковиками.
2. DeepVarvar - 01 Марта, 2013 - 11:15:21 - перейти к сообщению
El Diablo пишет:
Вот что нашел
Пойдет.
El Diablo пишет:
не более чем из 1ой строки таблици
Не правильно, нужно в запросе дописать в конец:

El Diablo пишет:
Ребят в PHP я только тольк оначал по этому только вьезжаю, не бузите если ерунду спрашиваю =)
Это нормальное явление, ничего страшного.
Еще может быть полезно вот тут.
3. esterio - 01 Марта, 2013 - 11:15:29 - перейти к сообщению
http://forum.php.su/topic.php?fo...33&topic=793
Вам сюда
(Добавление)

DeepVarvar
Опередили Радость Радость
4. El Diablo - 02 Марта, 2013 - 11:23:53 - перейти к сообщению
Ребят благодарю =) с выводом 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.
5. DeepVarvar - 02 Марта, 2013 - 16:28:48 - перейти к сообщению
El Diablo пишет:
P.S. Благодарю за ссылку полезная информация для меня
Если информация дествительно полезная, тогда исправьте свой код в соответствии с этой информацией и вопросы отпадут. Закатив глазки
6. El Diablo - 04 Марта, 2013 - 13:23:41 - перейти к сообщению
Ребят изучил статью, не знаю правильно ли я сделал, но получилось реализовать нужные мне функции, а именно (что бы выводилась одна строка из таблици, что бы переменная $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. Аннотации я по большей части пишу для себя на случай если забыл Форум > Сообщения > поиск своей темы. Да и ребятам кто сталкивается с этим тоже понятней будет =)


Собственно самый главный вопрос, правильно ли сделал?
7. Object - 04 Марта, 2013 - 13:45:37 - перейти к сообщению
Зачем Вам вывод в цикле если у Вас sql-запрос возвращает ОДНУ запись?
Про вывод результатов выборки циклом do ... while Вы уже наверное читали.
8. El Diablo - 04 Марта, 2013 - 16:01:36 - перейти к сообщению
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. ?>


Вот так =)

 

Powered by ExBB FM 1.0 RC1