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

Форум PHP

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

 

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

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

тема: Вывод из базы
 
 автор: adscom   (06.08.2010 в 02:55)   письмо автору
 
 

Здравствуйте.
Столкнулся с небольшой проблемкой.

Вот имеется такой код
<?php
$sql_text 
mysql_query("SELECT * FROM text");
while(
$text mysql_fetch_assoc($sql_text))
{
echo 
$text['text'].', ';
}
?>


Как тут сделать, чтобы в последнем слове вывода, вместо запятой была точка?

  Ответить  
 
 автор: sim5   (06.08.2010 в 03:53)   письмо автору
 
   для: adscom   (06.08.2010 в 02:55)
 

Надо либо при проходе цикла сравнивать итерацию его с положением внутреннего указателя запроса, и в зависимости от результата разделять/завершать строку, либо получить массив записей и объеденить его функцией implode, и завершив строку точкой:
<?
//сравнивая положение указателя
$sql_text mysql_query("SELECT * FROM text");
for(
$i 0$i<mysql_num_rows($sql_text); $i++) {
  
$row mysql_fetch_assoc($sql_text);
  echo 
$row['text'] . @(mysql_data_seek($sql_text$i+1) ? ", " ".");
  
//можно просто проверять итерацию цикла с количеством результрующих строк
}
//объеденение массива
$arr = array();
while(
$text mysql_fetch_assoc($sql_text)) $arr[] = $text['text'];
echo 
implode(', '$arr) . '.';

Интересно, в задаче вы выводите только $row['text'], то есть используете одно поле запроса, тогда зачем вы запросом получаете все поля?

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

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