Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 07.09.2018
Сообщений: 2

Запрос на выборку данных из разных таблиц БД в зависимости от выбранного языка на сайте

07.09.2018, 02:15. Показов 870. Ответов 2

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Делаю свой первый сайт в качестве учебного примера. Подключила БД, вывела товары, все хорошо. Вот дошла до этапа добавления второго языка на сайте. По своему соображению создала вторую таблицу в БД на англ. языке, идентичную первой. Первую табл. на русском назвала products, вторую - products_en. Теперь не могу прописать условие выборки из нужной таблицы при выбранном языке. Вот код для вывода нужного языка:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
@session_start();
// Массив доступных для выбора языков
$LangArray = array("ru", "en");
// Язык по умолчанию
$DefaultLang = "ru";
 
// Если язык уже выбран и сохранен в сессии отправляем его скрипту
if(@$_SESSION['NowLang']) {
    // Проверяем если выбранный язык доступен для выбора
    if(!in_array($_SESSION['NowLang'], $LangArray)) {
        // Неправильный выбор, возвращаем язык по умолчанию
        $_SESSION['NowLang'] = $DefaultLang;
    }
}
 else {
    $_SESSION['NowLang'] = $DefaultLang;
 }
 
// Выбранный язык отправлен скрипту через GET
$language = addslashes($_GET['lang']);
if($language) {
    // Проверяем если выбранный язык доступен для выбора
    if(!in_array($language, $LangArray)) {
        // Неправильный выбор, возвращаем язык по умолчанию
        $_SESSION['NowLang'] = $DefaultLang;
    }
     else {
        // Сохраняем язык в сессии
        $_SESSION['NowLang'] = $language;
     }
}
 
// Открываем текущий язык
$CurentLang = addslashes($_SESSION['NowLang']);
include_once ("lang/lang.".$CurentLang.".php");
?>

вот код выборки данных из табл.:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
 
                            if ($DefaultLang) {
                                $result = mysql_query("SELECT * FROM products WHERE brand='ICL'",$link);
                            }
                            else{
                                $result = mysql_query("SELECT * FROM products_en WHERE brand='ICL'",$link);
                            }
 
                            if (mysql_num_rows($result) > 0)
                            {
                                $row = mysql_fetch_array($result);
                                do
                                {
 
                                    if ($row["image"] != "" && file_exists("./upload_images/".$row["image"]))
                                    {
                                        $img_path = './upload_images/'.$row["image"];
                                        $max_width = 200;
                                        $max_height = 200;
                                        list($width, $height) = getimagesize($img_path);
                                        $ratioh = $max_height/$height;
                                        $ratiow = $max_width/$width;
                                        $ratio = min($ratioh, $ratiow);
                                        $width = intval($ratio*$width);
                                        $height = intval($ratio*$height);
                                    }else{
                                        $img_path = "/images/no-image.png";
                                        $width = 133;
                                        $height = 200;
                                    }
 
                                    echo '
                                        <div class="grid_4 c1 pr_box">
                                        <div class="img-wrap">
                                            <img src="'.$img_path.'" width="'.$width.'" height="'.$height.'" />
                                        </div>
                                        <div class="caption">
                                            <h3 class="text_2 color_2 hpb"><a href="">'.$row["title"].'</a></h3>
                                            <a class="btn_2" href="ICL.php">Подробнее</a>
                                        </div>
                                        </div>
                                    ';
                                }
                                while ($row = mysql_fetch_array($result));
                            }
 
                        ?>
Полагаю, что ошибка в первых 6 строках, буду благодарна за помощь.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.09.2018, 02:15
Ответы с готовыми решениями:

1 запрос на выборку из разных таблиц
Есть проблема. if($a==1) { $sql = запрос }else{ $sql = другой } При другом 2-м запросе должно быть следующее: Выборка всех...

Запрос на выборку из разных таблиц
Здравствуйте,делаю лабу по php и мне нужно сделать изменение записи отметки выглядит она таким образом: (айди_отметки фамилия_студента ...

Запрос на выборку записей из разных таблиц
Добрый день форумчане. Необходимо сделать запрос на добавление в таблицу в Delphi из базы. Запрос должен брать записи с разных таблиц. ...

2
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
08.09.2018, 10:08
include_once ("lang/lang.".$CurentLang.".php");
Путь проверьте, там не лишняя точка?

Добавлено через 2 минуты
PHP
1
2
3
4
5
($DefaultLang) {
$result = mysql_query("SELECT * FROM products WHERE brand='ICL'",$link);
}
else{
$result = mysql_query("SELECT
И здесь, вроде все равно будет срабатывать, одно условие
0
0 / 0 / 0
Регистрация: 07.09.2018
Сообщений: 2
10.09.2018, 01:30  [ТС]
Путь проверила, ошибка не там. Вообще ошибку не выдает, просто не срабатывает запрос на выборку из другой таблицы при смене языка...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.09.2018, 01:30
Помогаю со студенческими работами здесь

Требуется запрос. Дополнительные поля, с текстом не из таблиц, но в зависимости от данных таблиц
Суть такая, есть три таблицы (пример) T_Main ID|Name|Pos 1|Вася|21 2|Вася|10 3|Вася|25 4|Вася|16 5|Вася|254 6|Петя|5 ...

Запрос на выборку данных из двух таблиц
Нужно написать запрос, который будет выводить список всех студентов, а во второй колонке оценку за тему 24, у кого нет оценки то пустую...

Запрос на выборку данных из нескольких таблиц в одну
Здравствуйте! В общем, проблема такая.. Нужно мне составить отчет, который содержит данные из нескольких таблиц. С этим проблем нет,...

Запрос на выборку данных из двух таблиц с суммированием
Пишу программу на VB.net, и никак не получается составить запрос к БД Access/ В БД Access есть две таблицы &quot;Приём&quot; и...

SQL запрос в VBA на выборку данных из нескольких таблиц mdb
Добрый день. Есть база mdb с несколькими таблицами: Регистр - общая таблица с хранением операций деятельности предприятия. Поля...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru