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

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

07.09.2018, 02:15. Показов 860. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru