[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Лучше один большой запрос или 5 маленьких?
Страницы: 1, 2
Эдик
caballero, а что значит запрос не эквивалентен?
Реально, а вот если в объединенной таблице есть товар, для которого нету описания на русском, а мне нужен либо товар с русским описанием, либо товар без описания. Тут только WHERE lang_id=16. А если в таблице товар не соответствует этому условию(нету описания на русском), то товар не возвращается.
Placido
Цитата (Эдик @ 28.12.2011 - 22:40)
caballeroРеально, а вот если в объединенной таблице есть товар, для которого нету описания на русском, а мне нужен либо товар с русским описанием, либо товар без описания. Тут только WHERE lang_id=16. А если в таблице товар не соответствует этому условию(нету описания на русском), то товар не возвращается.

Значит, либо что-то с таблицей не так, либо с запросом.
Я вижу это так: описания лежат в отдельной таблице (например, пусть таблица имеет имя `descript`, а поля `ru` - русское описание товара, `en` - английское и `de` - немецкое). Присоединяете эту таблицу с помощью JOIN , в части SELECT добавляете `descript`.`ru`. Если там что-то есть, то получаете описание на русском, если нет, то null или пустую строку. Зачем здесь WHERE, объясните?
Guest
Ребята помогите!
Guest
Ребята помогите! Сделал запрос в phpmyadmin работает как надо print_r() тоже выводит весь массив
а вот при выводе на страницу с обеднённых таблиц ничего не видно, только с главной:

//функция для помещения результата выборки в массив
function db_result_to_array($result){
$res_array = array();
$count = 0;
while ($row = mysql_fetch_array($result)){
$res_array[$count] = $row;
$count++;
}
return $res_array;
}
// получаем всех атристов
function get_all_artist(){
db_connect();
$query = "SELECT rabotniki.fio, rabotniki.pol, rabotniki.zarplata, rabotniki.data_prioma, dolznosti.nazvanie, podrazdelenia.nazvanie, soc_status.nazvanie
FROM rabotniki
JOIN dolznosti ON rabotniki.ID_dolznost = dolznosti.ID_dolznost
JOIN podrazdelenia ON rabotniki.ID_podrazd = podrazdelenia.ID_podrazd
JOIN soc_status ON rabotniki.ID_soc_status = soc_status.ID_soc_status
LIMIT 0 , 40"
;
$result = mysql_query($query);
$result = db_result_to_array($result);
return $result;
}

----------------------------------------------
и так вывожу на странице
<? $all_artist = get_all_artist();
foreach($all_artist as $item):?>
<tr>
<td><?=
$item['ID_rabotnik']?></td>
<td><?=
$item['fio']?></td>
<td><?=
$item['pol']?></td>
<td><?=
$item['ID_dolznost']?></td>
<td><?=
$item['ID_podrazd']?></td>
<td><?=
$item['ID_soc_status']?></td>
<td><?=
$item['zarplata']?></td>
<td><?=
$item['deti']?></td>
<td>
2010-06-05</td>
<td><?=
$item['born']?></td>
</tr>
<?
endforeach;?>
user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.