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

Форум PHP

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

 

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

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

тема: записывается только первый элемент массива
 
 автор: admiral   (21.01.2010 в 16:19)   письмо автору
 
 


<?
while($a mysql_fetch_object($sql))
        {
            
$sqlServises mysql_query("SELECT s_services.name,s_services.hays
            FROM r_given_services
            LEFT JOIN s_services ON s_services.services_id = r_given_services.servises_id
            WHERE r_given_services.patient_id = 
$a->patient_id AND agreement_id = $a->agreement_id");
            
$serRes mysql_fetch_object($sqlServises);

            
# запрашиваем аддрес
            
$sqlAddres mysql_query("SELECT name FROM s_district WHERE district_id = $a->district_id LIMIT 1");



            
$return_str .= "$a->surname $a->patronymic $a->name $ds {\b Услуги: $serRes->name }"."\r\n\par";

        }

?>


Там где Услуги: $serRes->name, записывается только одна услуга, а их несколько может быть. Тоесть только первый элемент. Понимаю что нужно как-то массив обходить, но в строке этого не сделать

  Ответить  
 
 автор: buldovsky   (21.01.2010 в 16:50)   письмо автору
 
   для: admiral   (21.01.2010 в 16:19)
 

> Понимаю что нужно как-то массив обходить, но в строке этого не сделать
Сделайте это не в строке, а так как вы делали это выше например

Сколько запросов к базе производится при загрузке этой страницы в среднем? Просто интересно.

  Ответить  
 
 автор: admiral   (21.01.2010 в 16:56)   письмо автору
 
   для: buldovsky   (21.01.2010 в 16:50)
 

100 - 150. Это для админки в нем генерируется отчет, поэтому такое кол-во запросов это нормально.

  Ответить  
 
 автор: buldovsky   (21.01.2010 в 16:59)   письмо автору
 
   для: admiral   (21.01.2010 в 16:56)
 

Господь с вами! Сколько таблиц задействовано в 150 запросах?

  Ответить  
 
 автор: admiral   (21.01.2010 в 17:05)   письмо автору
 
   для: buldovsky   (21.01.2010 в 16:59)
 


<?
  
while($a mysql_fetch_object($sql))
        {

            
$sqlServises mysql_query("SELECT s_services.name,s_services.hays
            FROM r_given_services
            LEFT JOIN s_services ON s_services.services_id = r_given_services.servises_id
            WHERE r_given_services.patient_id = 
$a->patient_id AND agreement_id = $a->agreement_id");
            while(
$serRes mysql_fetch_object($sqlServises))
            {         
                
$servises $serRes->name;    
            }
               
               
$return_str .= "$a->surname $a->patronymic $servises "."\r\n\par";
           }
?>

Вот я немного переделал. Понимаете я все записываю в rtf файл. И там где $servises записывается array, оно и понятно. Но как в таком случае сделать правильно.
Строка в ртф файле имеет такой вид

ФИО (адрес) - заказанные услуги($servises)

В цикле идет обращение к двум таблицам. 150 запросов в цикле это максимум. Как записать массив $servises правильно?

  Ответить  
 
 автор: buldovsky   (21.01.2010 в 17:17)   письмо автору
 
   для: admiral   (21.01.2010 в 17:05)
 

Не хватало точки в этой строке


<?php

$servises 
.= $serRes->name." ";

?>

  Ответить  
 
 автор: admiral   (21.01.2010 в 17:30)   письмо автору
 
   для: buldovsky   (21.01.2010 в 17:17)
 

я так пробовал. не получается потому что каждая новая строка содержит и предыдущие элементы массива

  Ответить  
 
 автор: buldovsky   (21.01.2010 в 17:37)   письмо автору
 
   для: admiral   (21.01.2010 в 17:30)
 

Зачем вам массив?
Вы же сами говорите что нужно просто записать строку в файл

Пусть $servises будет строка, только вы обнуляйте эту строку при каждом повторении в цикле

<? 
  
while($a mysql_fetch_object($sql))   { 

   
$servises "";     
   ...

 }
?>

  Ответить  
 
 автор: admiral   (21.01.2010 в 17:54)   письмо автору
 
   для: buldovsky   (21.01.2010 в 17:37)
 

ааааа. дружище вроде пошло))))

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

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