@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();
										}
									}
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
Можно ли как-то это всё прогнать через цикл, чтобы избавиться от дублирования кода?


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

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

Войти через центр авторизации
Похожие вопросы
Zelo Москва
от 130 000 руб.
Amigoweb Магнитогорск
от 40 000 до 60 000 руб.