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


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

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 20:43
20000 руб./за проект
19 апр. 2024, в 20:11
500 руб./за проект