Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 11.09.2009, 09:35   #1
Kelevro
Новичок
Джуниор
 
Регистрация: 11.09.2009
Сообщений: 1
Печаль Из бд и обратно

Всем привет! У меня такая проблема. Я сам недавно пишу в PHP так что не судите строго. Я пишу модуль "редактирования бд" на Drupal 6.x вот сам код модуля. Задача такая нужно через селект выбирать запись нажимать кнопку "показать запись" все это сделал вот терь не знаю как сам запись апдейтить. Там в таблице вывода запися стоит чек бокс и текстфилд. Я хотел сделать чтоб когда админ чекал чекбокс в запрос Update автоматический добовлялся то поле которое надо обновить. Ну сам в конце кода написал вариант. Помоему она не катит. Плз помогите.

PHP код:
<?php
 
//  Меню модуля
  
function db_edit_menu(){
    
$items=array();
    
$items['dbedit'] = array(
      
'title' => t('Edit e-lib books'),
      
'page callback' => 'db_edit_view',
      
'type' => MENU_NORMAL_ITEM,
      
'access callback' => TRUE,
    );
    
$items['dbeditproc'] = array(
      
'title' => t('editing record'),
      
'page callback' => 'db_edit_handler',
      
'type' => MENU_CALLBACK,
      
'access callback' => TRUE,
    );
    return 
$items;
  }
 
 function 
db_edit_view() {
    
$in drupal_get_form('db_edit_form');
    
$args func_get_args();
    if(
count($args) == 1) {
      
$p = (int)$args[0];
      
$in .= db_edit_handler($p);
    }
    return 
$in;
  }
 
  function 
db_edit_form() {
    
$form = array();
 
    
$record_editing = array();
    
$query 'SELECT id_c1, title FROM c1';
    
$rsc db_query($query);
    while(
$rc db_fetch_array($rsc)) {
      
$record_editing[] = $rc['id_c1'] . ' - ' $rc['title'];
    }
 
    
$form['select_edit_record'] = array(
      
'#type' => 'select',
      
'#title' => t('Choose record for editing'),
      
'#options' => $record_editing,
      
'#weight' => 0,
    );
 
    
$form['shrecord'] = array(
      
'#prefix' => '<div class="container-inline">',
      
'#type' => 'submit',
      
'#value' => t('Show record'),
      
'#weight' => 1,
    );
 
    return 
$form;
  }
 
 
 
  function 
db_edit_form_submit($form, &$form_state){
    
$values $form_state['values'];
    
$p1 = (int)$values['select_edit_record'];
    
$form_state['redirect'] = "dbedit/$p1";
  }
 
function 
db_edit_handler($p) {
 
    
$query "SELECT id_c1, format FROM c1 WHERE id_c1 = " $p "";
 
    
$rs db_query($query);
 
    while(
$r db_fetch_array($rs)) {
    
$row = array();
    
$row['id_c1'] = $r['id_c1'];
    
$row['format'] = $r['format'];
    
$results[] = $row;
    }  
    return 
db_edit_record_results($results$args[0]);
  }
 
 function 
db_edit_record_results($results$url) {
      
$rows = array();
      
$m count($results);
        for(
$i 0$i $m$i++) {
 
 
      
$caption '';
        
$c_output .= '<tr>';
        
$c_output .= '<th bgcolor="#ceddfb"><FONT color = "#000000" size = "2">'.'<center>'t('Rec numb %number', array ('%number' => $results[$i]['id_c1'])) .'</center>'.'</FONT></th>';
        
$c_output .= '<th bgcolor="#ceddfb"><FONT color = "#000000" size = "2">'.'<center>'.t('Old records').'</center>'.'</FONT></th>';
        
$c_output .= '<th bgcolor="#ceddfb"><FONT color = "#000000" size = "2">'.'<center>'.t('*').'</center>'.'</FONT></th>';
        
$c_output .= '<th bgcolor="#ceddfb"><FONT color = "#000000" size = "2">'.'<center>'.t('New records').'</center>'.'</FONT></th>';
        
$c_output .= '</tr>';
 
      
$caption .= $c_output;    
 
    
$body '';
 
      
//Format
      
$output .= '<td bgcolor="#ceddfb">' '<FONT color = "#000000" size = "2"><b>'.'<center>'t('Format') .'</center>' '</b></FONT>' '</td>';
      
$output .= '<td>' '<center>'$results[$i]['format']  .'<center>' '</td>';
      
$output .= '<td bgcolor="#ceddfb">'  '<center>' '<input type="checkbox" name="format_active">' '</center>' '</td>';
      
$output .= '<td bgcolor="#ceddfb">'  '<center>''<input type="textfield" name="format_value">' '</center>' '</td>';
      
$output .= "</tr>";
 
      
//Save submit
      
$output .= '' '';
      
$output .= '<br>' '<input type="submit" name="update_db">';
      
$output .= "</tr>";
 
      
$body .= $output;
 
 
      if (@
update_db) {      
          
$db_query = ("UPDATE c1 SET format = " $_POST['format_value'] . " WHERE id_c1 = " $p " ");
        }
      }
 
 
 
    
$output '<table border="1" FONT color="#fff">'.$caption.$body.'</table>';
    return 
$output;
    }
 
 
?>
Kelevro вне форума
Старый 11.09.2009, 15:22   #2
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Бегом учить русский язык!
SkyM@n вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Числа от 1 до 100 и обратно Винни пух JavaScript, Ajax 6 05.05.2009 17:22
Hex в DateTime и обратно yurban Общие вопросы Delphi 1 30.08.2008 09:06
Как обратно компелироваль? Ніжний Диявол Общие вопросы Delphi 2 14.05.2008 12:39
как перевести из integer в real(и обратно), и из real в string(и обратно) Ga-sergey Общие вопросы Delphi 2 08.06.2007 21:13