Суть: переменная $GetPage изменяется в зависимости от имени таблицы к которой я подключаюсь. Но как вы могли догадаться, все данные внутри цикла, переписываются каждый раз под эту переменную. Можно ли написать цикл так, что бы сохранялись эти значения и к ним прибавлялись данные из другой таблицы ? Если да, то подскажите пожалуйста, как это сделать ?
Строитель
Отправлено: 31 Июля, 2017 - 16:56:09
Участник
Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 74 раз(а)
Nizz, вместо объявления глобальной переменной в теле функции, передавайте эту переменную вторым параметром, и в вызове функции явно указывайте название таблицы, из которой вам нужно получить данные. Пример :
Покинул форум
Сообщений всего: 79
Дата рег-ции: Март 2016
Помог: 0 раз(а)
Извините, наверное я не правильно выразил суть проблемы. Попробую уточнить: все дело в том, что у меня есть две таблицы с разными названиями: 1 и 2. Название столбцов идентичное, но значения в них разные. Это сессия покупательской тележки, кликая по кнопке, товар попадает в сессию с id. После чего я извлекаю данные о товаре исходя из id. Сначала человек видит товар из таблицы 1, но стоит ему добавить товар из таблицы 2, как и первый товар перезапишется со значениями из таблицы 2.
Можно ли в такой ситуации составить такой цикл?
Строитель
Отправлено: 31 Июля, 2017 - 18:03:49
Участник
Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 74 раз(а)
Nizz, у вас функция getproductsByIds() возвращает массив данных, полученный из базы, верно?
Nizz пишет:
Сначала человек видит товар из таблицы 1, но стоит ему добавить товар из таблицы 2, как и первый товар перезапишется со значениями из таблицы 2.
Можно ли в такой ситуации составить такой цикл?
Т.е., вам нужно выводить пользователю (покупателю) все товары из его корзины, которые ранее были сохранены в базу?
Nizz
Отправлено: 31 Июля, 2017 - 20:32:12
Гость
Покинул форум
Сообщений всего: 79
Дата рег-ции: Март 2016
Помог: 0 раз(а)
У меня уже есть массив, с ключом которых является id товара, а значением массива является кол-во товара выбранного клиентом. У меня несколько таблиц с товаром, которые я решил разбить по категориям (теперь жалею, тк при объединении в одну таблицу придется переписать пол сайта). Сложность для меня в том, как в один цикл объединить подключение к разных таблицам. То-есть сначала человек выбрал товар с номером 7 из таблицы 1, а затем товар с номером 5 из таблицы 2. Но сейчас, при выборе товара из другой таблицы, все товары, выбранные до этого перепишутся в товары из последней.
Извините если сильно заморочил голову.
Функция описанная выше, просто подключается к Sql используя id товара в качестве индитификатора и выводит мне данные.
Покинул форум
Сообщений всего: 58
Дата рег-ции: Июнь 2017 Откуда: php.ru
Помог: 1 раз(а)
сейчас бы передавать наименование таблицы по гет параметру...
Nizz
Отправлено: 01 Августа, 2017 - 09:46:02
Гость
Покинул форум
Сообщений всего: 79
Дата рег-ции: Март 2016
Помог: 0 раз(а)
Строитель спасибо вам за наводку. Попробую реализовать правда у меня таблиц с товаром не две, а 9 и боюсь, что сильно будет грузить sql. Спасибо за то, что попытались помочь.
Nizz
Отправлено: 02 Августа, 2017 - 13:42:13
Гость
Покинул форум
Сообщений всего: 79
Дата рег-ции: Март 2016
Помог: 0 раз(а)
Дабы не засарять данный форум лишней темой, я с позволения форумчан взываю о помощи, над решением вопроса. Код, все тот же самый, но решение своей трудности вижу исключительно через новую таблицу в sql , тк ознакомившись с док. по Join, понял, что он меня не выручит. Не получается следующие:
Я хочу получить значения массива $row, что бы занести их в sql. Массив $row, видит только внутри цикла while. Как мне получить эти значения ? Выручайте товарищи.
Строитель
Отправлено: 02 Августа, 2017 - 21:32:19
Участник
Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 74 раз(а)
Nizz, я так понимаю, что вам необходимо собрать массив для передачи его в пользовательскую функцию? Если да, то ваш код будет иметь следующий вид:
Покинул форум
Сообщений всего: 58
Дата рег-ции: Июнь 2017 Откуда: php.ru
Помог: 1 раз(а)
сетфетчмод прописывает конфиги после подключения к бд, достаточно в fetch ( PDO::FETCH_ASSOC ) добавить (Добавление)
можно вовсе воспользоваться константой PDO::FETCH_FUNC http://phpfaq[dot]ru/pdo/fetch (Добавление)
там можно найти очень много различных вкусняшек
Nizz
Отправлено: 03 Августа, 2017 - 11:23:34
Гость
Покинул форум
Сообщений всего: 79
Дата рег-ции: Март 2016
Помог: 0 раз(а)
Строитель спасибо вам за помощь, правда пришлось изменить $buyPri = []; на $buyPri = ''; тк. ругалось на синтаксическую ошибку.
Знаю, что вам уже безумно надоел но проблема все-таки не могу понять как отдельные переменные из массива засунуть в таблицу: $row['id'], $row['name'] и другие.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.