@InsaneRavenGod

Как перебрать неопределённое количество элементов через цикл?

Здравствуйте.

Есть код, который я прикрепил ниже, при нажатии на кнопку скрипт обновляет значение поля в БД, или при необходимости создаёт новую строку с нужным значением.

Но таких кнопок на сайте 4, и я не думаю, что дублировать столько строк кода 4 раза будет эффективно. Можно ли как-то это всё прогнать через цикл, чтобы избавиться от дублирования кода?

Важный момент: переменная $one изменяет своё значение от кнопке к кнопке, поэтому нужно чтобы код, который будет зациклен учитывал это, и изменял значение на нужное.

if ( isset($_POST['one']) ) {
										$one = 1;

										$sql = $db->prepare("SELECT * FROM `table_name` WHERE `table_value` = :table_value AND `table_value` = :table_value");
										$sql->bindParam(":table_value", $table_value, PDO::PARAM_INT);
										$sql->bindParam(":table_value", $table_value, PDO::PARAM_INT);
										$sql->execute();

										$count = $sql->rowCount();
										$result = $sql->fetch(PDO::FETCH_ASSOC);

										if ( $count > 0 ) {

											if ( $result['table_value'] != 1 ) {
												$sql = $db->prepare("UPDATE `table_name` SET `table_value` = :table_value");
												$sql->bindParam(":table_value", $one, PDO::PARAM_INT);
												$sql->execute();
											} else {
												echo 'Status: 1';
											}
										} else {
											$sql = $db->prepare("INSERT INTO `table_name` (`table_value`, `table_value`, `table_value`) VALUES (:table_value, :table_value, :table_value)");
											$sql->bindParam('table_value', $table_value, PDO::PARAM_INT);
											$sql->bindParam('table_value', $table_value, PDO::PARAM_INT);
											$sql->bindParam('table_value', $one, PDO::PARAM_INT);
											$sql->execute();
										}
									}
  • Вопрос задан
  • 193 просмотра
Решения вопроса 1
erge
@erge
Примус починяю
Можно ли как-то это всё прогнать через цикл, чтобы избавиться от дублирования кода?


от дублирования кода избавляют функции или методы в классах.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Deathfinite
@Deathfinite
Мастер по воде и костылям в PHP
как вариант можно написать код нужный, но кнопкам позволить поменять какие-то значения по необходимости (если что-то отличается) и прогонять код
тем более, тебе зачем 4 кнопки на сайте с одинаковым кодом? если можно - умести в одну. будет только удобнее.
Ответ написан
Комментировать
@exil
$_POST['one'] - берется из формы?
тогда почему $one = 1 не может быть $one = $_POST['one'];
и количество кнопок уже не имеет значение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽