Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 31
1

Как сделать так, чтобы при нажатии на заказ был переход и высвечивалась полная инфа по заказу на странице-шаблоне?

24.04.2020, 17:30. Показов 976. Ответов 7

Author24 — интернет-сервис помощи студентам
Всем привет! Я разобрался с ценами и таблицами. А теперь собственно появился ряд вопросов.
Есть база данных, в ней таблица с заказами на монтажи. Соответственно, заказчив вносит, монтажники видят список заявок, кликают на любую заявку и переходят в карточку заявки, где полное описание и номер телефона указаны, помимо наименования, номера заказа и цены. Я думаю, чтобы не делать милльён html страниц, сделать страницу-шаблон, которая будет при переходе по определённому заказу наполняться инфой заказа, на который перешёл монтажник. Только как такой способ организовать, я не могу понять, сам слаб в иных местах в PHP MySql.

Код страницы с заказами(логины и доступы все удалил и завесил звёздочками) есть лишние данные, которые не относятся ко всему:
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
49
50
51
52
53
54
55
56
57
58
59
60
61
  <?php
session_start();
?>
<?php
 
   $host = 'localhost';  // Хост, у нас все локально
    $user = '******';    // Имя созданного вами пользователя
    $pass = '*******'; // Установленный вами пароль пользователю
    $db_name = '*****';   // Имя базы данных
    $link = mysqli_connect($host, $user, $pass, $db_name); // Соединяемся с базой
 
    // Ругаемся, если соединение установить не удалось
    if (!$link) {
      echo 'Не могу соединиться с БД. Код ошибки: ' . mysqli_connect_errno() . ', ошибка: ' . mysqli_connect_error();
      exit;
    }
    //Если переменная Name передана
    if (isset($_POST["Price"])) {
      //Если это запрос на обновление, то обновляем
      if (isset($_GET['red_id'])) {
          $sql = mysqli_query($link, "UPDATE `zakaznik` SET `price` = '{$_POST['Price']}' WHERE `ID`={$_GET['red_id']}");
      } else {
          //Иначе вставляем данные, подставляя их в запрос
          $sql = mysqli_query($link, "INSERT INTO `zakaznik` (`price`) VALUES ('{$_POST['Name']}', '{$_POST['Price']}')");
      }
 
      //Если вставка прошла успешно
      if ($sql) {
  //      echo '<p>Успешно!</p>';
      } else {
        echo '<p>Произошла ошибка: ' . mysqli_error($link) . '</p>';
      }
    }
 
    //Если передана переменная red_id, то надо обновлять данные. Для начала достанем их из БД
    if (isset($_GET['red_id'])) {
      $sql = mysqli_query($link, "SELECT `ID`, `name`, `price` FROM `zakaznik` WHERE `ID`={$_GET['red_id']}");
      $product = mysqli_fetch_array($sql);
    }
  ?>
  <?php include("includes/header.php"); ?>
  <div class="container mlogin">
  <form action="" method="post">
    <table border='1'>
    <?php
      $sql = mysqli_query($link, "SELECT `ID`, `name`, `price` FROM `zakaznik` ORDER BY `ID` DESC");
      while ($result = mysqli_fetch_array($sql)) {
        echo '<tr>' .
             "<td>" .
             "<div>Заказ №:{$result['ID']}</div>" .
             "<div> {$result['name']}</div>" .
             "<div>Цена:{$result['price']} ₽</div>" .
             '<div><a href=cart.php>Оставить отклик</a></div>'.
             "</td>".
             '</tr>';
      }
?>
  </table>
  </form>
  </div>
<?php include("includes/footer.php"); ?>
Как сделать так, чтобы при нажатии на заказ был переход и высвечивалась полная инфа по заказу на странице-шаблоне?

Вот так выглядит список заказов.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.04.2020, 17:30
Ответы с готовыми решениями:

Как мне сделать чтобы при нажатии на число в календаре, если в таблице нет данных высвечивалась ошибка
public partial class MainForm : Form { public MainForm() { InitializeComponent();...

Как мне сделать, чтобы при нажатии на блок 2 в 1 таблице, в нижней таблице высвечивалась информация по этому блоку
Программа на С#

Как сделать чтобы из мобильной версии при нажатии на ссылку стала полная версия
Как сделать чтобы из мобильной версии при нажатии на ссылку стала полная версия. Как тут...

Сделать так,чтобы при выборе одного товара из таблицы magazine через галочки,потом нажатии кнопки подтверждения-этот товар был помещен в таблицу Zakaz
Есть 2 таблица,одна magazine (id,name,price) и ZakazAdmina(id,name ,id_user,id_tovar,status),я не...

7
1263 / 960 / 226
Регистрация: 01.10.2018
Сообщений: 3,717
25.04.2020, 08:47 2
Что тут понимать? Выбрали по id заказа из адреса все необходимые данные и посредством шаблона вывели. Это сама суть PHP и других подобных языков!

Сейчас, чтобы не заниматься рутинной работой, используют для таких дел кодогенераторы или "умные" фронт-контроллеры. Например:
edit order.php
PHP
1
2
<h1><?= $page['title']='Order '.$page['id'] ?></h1>
<?= $page['content'] ?>
mysql hyde_db
MySQL
1
2
3
4
5
6
7
8
9
INSERT INTO `site_categories` (`id`, `title`, `bits`) VALUES ('order', 'Orders', 19);
 
CREATE TABLE `site_order` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `content` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
 
INSERT INTO `site_order` (`content`) VALUES ('First order');
Готово: hyde.pageshop.ru/order/1

Конечно, чтобы было так просто, нужно использовать соответствующие инструменты.
0
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 31
25.04.2020, 11:59  [ТС] 3
Основы языка знаю, но вот в остальном я больше знаю как собрать котельную, отличие лучевой системы отопления от тройниковой. Просто как задать этот id, чтобы он отразился на странице-шаблоне? И именно тот самый Id. Я просто писал код, через сессию пытался вывод сделать, но что-то пошло не так...

Это страница-шаблон
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
  <?php
session_start();
?>
<?php require_once("includes/connection.php"); ?>
  <?php include("includes/header.php"); ?>
  <div class="container mlogin">
  <form action="" method="post">
    <table border='1'>
<?php
$ses = $_SESSION('sid');
      $sql = mysqli_query("SELECT `ID`, `name`, `price`, `opis`, `number` FROM `zakaznik` WHERE `ID`='".$ses."'");
          $result = mysqli_fetch_array($sql);
        echo '<tr>' .
             "<td>" .
             "<div>Заказ №:{$result['ID']} {$result['name']} </div>" .
             "<div> </div>" .
             "<div>Цена:{$result['price']} ₽</div>" .
             "<div><a href=login.php?id={$result['ID']}>Оставить отклик</a></div>".
             "</td>".
             '</tr>';
?>
  </table>
  </form>
  </div>
<?php include("includes/footer.php"); ?>
А это фрагмент кода страницы общего списка заказов:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  <?php include("includes/header.php"); ?>
  <div class="container mlogin">
  <form action="" method="post">
    <table border='1'>
    <?php
      $sql = mysqli_query($link, "SELECT `ID`, `name`, `price` FROM `zakaznik` ORDER BY `ID` DESC");
      while ($result = mysqli_fetch_array($sql)) {
        echo '<tr>' .
             "<td>" .
             "<div>Заказ №:{$result['ID']}</div>" .
             "<div> {$result['name']}</div>" .
             "<div>Цена:{$result['price']} ₽</div>" .
             "<div><a href=cartzak.php?id={$result['ID']}>Оставить отклик</a></div>".
             "</td>".
             '</tr>';
      }
  $_SESSION('sid')=$result['ID'];
?>
  </table>
  </form>
  </div>
<?php include("includes/footer.php"); ?>
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
25.04.2020, 12:22 4
Цитата Сообщение от FORMAT_161 Посмотреть сообщение
$ses = $_SESSION('sid');
PHP
1
$ses =(int) $_GET['id'];
0
1263 / 960 / 226
Регистрация: 01.10.2018
Сообщений: 3,717
25.04.2020, 12:27 5
Цитата Сообщение от FORMAT_161 Посмотреть сообщение
страница-шаблон
Название говорит само за себя Смешали в одном файле все подряд

Цитата Сообщение от FORMAT_161 Посмотреть сообщение
cartzak.php?id={$result['ID']}
Передаете id в одноименном GET-параметре, вот и берите его из этого параметра в вашей "странице-шаблоне", уважаемый Франкенштейн
0
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 31
25.04.2020, 14:21  [ТС] 6
Не сработало, пустое значение выводит..
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
25.04.2020, 14:23 7
Цитата Сообщение от FORMAT_161 Посмотреть сообщение
Не сработало, пустое значение выводит..
что не сработало? (покажите код)
где выводит?
0
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 31
25.04.2020, 16:41  [ТС] 8
Всё получилось, просто я тупарь)) Не там начал писать данные. Всё гуд!!! Спасибо вам и всем участвующим)))
0
25.04.2020, 16:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2020, 16:41
Помогаю со студенческими работами здесь

Как сделать так, чтобы при нажатии кнопки появлялся текст?Чтобы без javascript
Как сделать так, чтобы при нажатии кнопки появлялся текст? На html или php можно сделать . Типо...

Как сделать спойлер, чтобы при нажатии на ссылку вместо неё был другой текст?
Как сделать спойлер, чтобы при нажатии на ссылку вместо неё был другой текст?

Memo в delphi / как сделать так чтобы при нажатии на кнопку memo появляется, при повторном нажатии исчезает
как сделать так чтобы при нажатии на кнопку текст с memo появляется, при повторном нажатии исчезает...

Файл: Как сделать так, чтобы при нажатии на 1-ую кнопку считывалася 1-ая строка, при нажатии на 2 - 2 строка и т.д.
На форме размещено 30 кнопок. В файле .txt размещено 30 строк. Как сделать так чтобы при нажатий на...

Как сделать так чтобы при уменьшении окна браузера сайт был читабельным
Как сделать так чтобы при уменьшении окна браузера сайт был читабельным

Как сделать так, чтобы при зарузке сайта был товар, а не левая страница
У меня не высвечивается товар, и как сделать главной страницей, страеницу с товаром


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru