Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление в базу из несколько текстовых полей 
:(
    Опции темы
England
Дата 23.3.2011, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 16.7.2008
Где: Владикавказ

Репутация: нет
Всего: нет



Есть скрипт
Код

<?php
  
  $query = "SELECT * FROM products 
            ORDER BY name";
  $prd = mysql_query($query);
  if(!$prd) exit(mysql_error());
 
  if(mysql_num_rows($prd) > 0)
  {
    echo "<form method=post>";
    echo "<table border=1>
            <tr>
              <td> </td>
              <td>Название</td>
              <td>Цена</td>
              <td>Оценка</td>
              <td>Количество</td>
            </tr>";
    $i = 0;
    while($product = mysql_fetch_array($prd))
    {
      echo "<tr>
              <td><input type=checkbox name=product[] value=$product[id_product]></td>
              <td>$product[name]</td>
              <td>$product[price]</td>
              <td>$product[mark]</td>
              <td>$product[count]</td>
            </tr>";
      $i++;
    }
    echo "</table>";
    echo "</br><input type=submit name=send value=Удалить>";
    echo "</form>";
  }

  if(!empty($_POST))
  {
   
    $temp = array();
    foreach($_POST['product'] as $id_product)
    {
      
      if(preg_match("|^[\d]+$|",$id_product))
      {
        $temp[] = $id_product;
      }
    }
   
   БЛОК АПДЕЙТА......
    {
      echo "<HTML><HEAD>
            <META HTTP-EQUIV='Refresh' CONTENT='0; URL=$_SERVER[PHP_SELF]'>
            </HEAD></HTML>";
    }
  }
?>

При нажатии на чекбокс все нормально, хотелось добавить вместо поля count текстовые поля, чтоб при выборе определенных чекбоксов и вносом данных в текстовые поля эти данные заносились в базу.


PM MAIL   Вверх
ayax2005
Дата 23.3.2011, 13:18 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


echo $smile
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 17.4.2008
Где: Питер

Репутация: 2
Всего: 11



Для начала, привыкайте писАть хотя бы так:

Код

<?php
  $prd = mysql_query("SELECT * FROM products  ORDER BY name");
  if(!$prd) exit(mysql_error());
 
  if(mysql_num_rows($prd) > 0) { ?>
   <form method=post>
     <table border=1>
            <tr>
              <td> </td>
              <td>Название</td>
              <td>Цена</td>
              <td>Оценка</td>
              <td>Количество</td>
            </tr>
    <? $i = 0;
    while($product = mysql_fetch_array($prd)) { ?>
      <tr>
              <td><input type=checkbox name=product[] value=<?=$product[id_product]?>></td>
              <td><?=$product[name]?></td>
              <td><?=$product[price]?></td>
              <td><?=$product[mark]?></td>
              <td><?=$product[count]?></td>
            </tr>
      <? $i++;
    } ?>
    </table>
    </br><input type=submit name=send value=Удалить>
    </form>
  <? }
  if(!empty($_POST)) {
    $temp = array();
    foreach($_POST['product'] as $id_product) {
      if(preg_match("|^[\d]+$|",$id_product)) {
        $temp[] = $id_product;
      }
    }
   
   //БЛОК АПДЕЙТА......
    { ?>
      <HTML><HEAD>
            <META HTTP-EQUIV='Refresh' CONTENT='0; URL=<?=$_SERVER[PHP_SELF]?>'>
            </HEAD></HTML>
<?    }
  }
?>


А в завершение - потрудитесь задать вопрос конкретее.


--------------------
все вопросы - из-за неверной формулировки задачи
PM MAIL ICQ   Вверх
England
Дата 23.3.2011, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 16.7.2008
Где: Владикавказ

Репутация: нет
Всего: нет



Мне нужно чтобы в таблице поле count было
Код

<td><input type=text name=product[] value=$product[count]></td>
. Чтобы при нажатии на несколько чекбоксов и прописав значения в текстовых полях занести их в базу
PM MAIL   Вверх
England
Дата 23.3.2011, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 16.7.2008
Где: Владикавказ

Репутация: нет
Всего: нет



Надо как вложенном файле

Присоединённый файл ( Кол-во скачиваний: 21 )
Присоединённый файл  111.jpg 65,58 Kb
PM MAIL   Вверх
England
Дата 23.3.2011, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 16.7.2008
Где: Владикавказ

Репутация: нет
Всего: нет



Короче говоря надо сделать так чтобы как показано в скриншоте при выборе чекбокса например,
Товар1
Товар3
Товар4

и редактировании текстового поля в базу попадали новые значения текстовых полей
PM MAIL   Вверх
zammar
Дата 24.3.2011, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 289
Регистрация: 30.10.2008

Репутация: нет
Всего: нет



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

Код

<?php
  $prd = mysql_query("SELECT * FROM products  ORDER BY name");
  if(!$prd) exit(mysql_error());
 
  if(mysql_num_rows($prd) > 0) { ?>
   <form method=post>
     <table border=1>
            <tr>
              <td> </td>
              <td>Название</td>
              <td>Цена</td>
              <td>Оценка</td>
              <td>Количество</td>
              <td></td>
            </tr>
    <? $i = 0;
    while($product = mysql_fetch_array($prd)) { ?>
      <tr>
              <td><input type=checkbox name=product[] value=<?=$product[id_product]?>></td>
              <td><?=$product[name]?></td>
              <td><?=$product[price]?></td>
              <td><?=$product[mark]?></td>
              <td><?=$product[count]?></td>
              
              <!-- здесь пропущен столбец для самого текстового поля, как я понял.
              добавляете текстовые инпуты с именем, ключами которого будет id_product, а уже в низу, где получаете данные...  -->
              <td><input type="text" name="text_vals[<?= $product[id_product]?>]" value=<?=$product[id_product]?>></td>
              
            </tr>
      <? $i++;
    } ?>
    </table>
    </br><input type=submit name=send value=Удалить>
    </form>
  <? }
  if(!empty($_POST)) {
    $temp = array();
    foreach($_POST['product'] as $id_product) {
      if(preg_match("|^[\d]+$|",$id_product)) {
       
       /*
            А уже здесь делаете так
         $temp[] = $_POST['text_vals'][$id_product];

            $temp[] - будет содержать значение указанное в текстовом поле
        */
        $temp[] = $id_product;
      }
    }
   
   //БЛОК АПДЕЙТА......
    { ?>
      <HTML><HEAD>
            <META HTTP-EQUIV='Refresh' CONTENT='0; URL=<?=$_SERVER[PHP_SELF]?>'>
            </HEAD></HTML>
<?    }
  }
?>

PM   Вверх
England
Дата 25.3.2011, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 16.7.2008
Где: Владикавказ

Репутация: нет
Всего: нет



Да, нужно их сопоставить. Там есть поле count -это и есть текстовое поле. Сделать надо так? Вместо count написать

Код

 <td><input type=checkbox name=product[] value=<?=$product[id_product]?>></td>
              <td><?=$product[name]?></td>
              <td><?=$product[price]?></td>
              <td><?=$product[mark]?></td>
            <td><input type="text" name="text_vals[<?= $product[id_product]?>]" value=<?=$product[count]?>></td>


Что-то не получается. Он выдает только данные (id_product) где нажат чекбокс
PM MAIL   Вверх
KIRINDORF
Дата 25.3.2011, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

Репутация: 1
Всего: 1



Цитата(England @  25.3.2011,  16:43 Найти цитируемый пост)
Он выдает только данные (id_product) где нажат чекбокс
 правильно выдает.

А проверяли что еще приходит в $_POST[] ?  Там не только выбранные флажки (чекбоксы), но и все(!) текстовые поля.

Сделайте сопоставление, у вас ведь $product[id_product] чекбокса приписывается так же и к имени текстового поля, вот вам и фильтр для отбора, какие текстовые поля извлекать из $_POST[] для записи в БД.
PM MAIL   Вверх
zammar
Дата 25.3.2011, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 289
Регистрация: 30.10.2008

Репутация: нет
Всего: нет



Цитата

Он выдает только данные (id_product) где нажат чекбокс 


Разве вам не это надо было? Что-то я тогда не понял, что надо?
PM   Вверх
England
Дата 27.3.2011, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 16.7.2008
Где: Владикавказ

Репутация: нет
Всего: нет



Не совсем! Мне надо было чтоб при нажатии чекбокса и редактированием данных в текстовом поле заносились данные с текстовых полей в базу  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0855 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.