Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: pavlik, редактирование таблицы
 
 автор: cheops   (14.01.2005 в 21:36)   письмо автору
 
 

Попробуйте вот этот код
<?php 
  
include("config.php");
  function 
EditData($pupl
  { 
    print 
"<br><br><table border=1>"
    print 
"<tr><td align=center>Предмет</td> 
          <td align=center>1 триместр</td> 
          <td align=center>2 триместр</td> 
          <td align=center>3 триместр</td> 
          <td align=center>Годовая</td> 
          <td align=center>Экзамен</td> 
          <td align=center>Итоговая</td></tr>"

    
$var 20
    
$var2 6
    
$i 1
    
$i2 1
    
$var3 120
    
$i3 1
    print 
"<form action=function_itog.php method=POST>"
    print 
"<input type=hidden name=cont1 value=y><input type=hidden name=edits value=$pupl>";
    while(
$i3 <= $var3
    { 
      while(
$i <= $var
      { 
        
$ath mysql_query("SELECT * FROM uspev_itog where id='$pupl' and predmet='$i' and period='$i2';"); 
        
$predm mysql_query("SELECT predmet FROM predmet WHERE kod='$i';"); 
        if(!
$predm) exit(mysql_error()); 
        
$cc_row mysql_fetch_array($predm); 
        
$kaka $cc_row[predmet]; 
        print 
"<tr><td>".$kaka."</td>"
        while(
$i2 <= $var2
        { 
          
$ath2 mysql_query("SELECT * FROM uspev_itog where id='$pupl' and predmet='$i' and period='$i2';"); 
          
$uspev_ito mysql_fetch_array($ath2); 
          print 
"<td><center><input size=2 type=text name=re".$i3." value=".$uspev_ito[mark]."></center></td>"
          
$i2 $i2 1
          
$i3 $i3 1
        } 
        print 
"</tr>"
        
$i $i 1
        
$i2 1
      } 
    } 
    print 
"<input type=submit value=Сохранить></form>";
    print 
"<br><br></td></table><tbody>"
    print 
"$re1 $re2 $re3 $re4 $re121";
  } 

if(
$cont1=='y'
   {

    
$i 1
    
$i1 1
    
$i2 1
    
$var 120
    
$var1 20
    
$var2 6
    
$qwe = $$re1;
    print 
"$qwe";
    while(
$i <= $var
    { 
      while(
$i1 <= $var1
      { 
        while(
$i2 <= $var2
        { 
           
$query "UPDATE uspev_itog SET mark = '".$_POST["re".$i]."' WHERE period='$i2' and predmet='$i1' and id='$edits'"
           
mysql_query($query);
           
$i2 $i2 1
           
$i $i 1;
        } 
        
$i1 $i1 1
        
$i2 1
     } 
    } 
   Print 
" Данные успешно изменены "
   Print 
" <a href=uspev_itog.php>Вернуться назад</a>";
}  
?>

   
 
 автор: pavlik   (17.01.2005 в 21:43)
 
   для: cheops   (14.01.2005 в 21:36)
 

Огромное спасибо, все работает, я просто забыл написать
mysql_query($query); =))
А не подскажите как контроль на вводимые данные поставить?
print "<td><center><input size=2 type=text name=re".$i3." value=".$uspev_ito[mark]."></center></td>";
как бы сделать, чтобы если в поле введено не цифра в пределах 0-5 выводилось сообщение, не подскажите?

   
 
 автор: cheops   (17.01.2005 в 21:50)   письмо автору
 
   для: pavlik   (17.01.2005 в 21:43)
 

Следует все оценки прогнать через цикл в котором проверить их при помощи регулярных выражений, например, можно перед
<?php
$query 
"UPDATE uspev_itog SET mark = '".$_POST["re".$i]."' WHERE period='$i2' and predmet='$i1' and id='$edits'";
?>

поставить
<?php
  
if(!preg_match("#[0-5]#",$_POST["re".$i])) exit("Не корректная оценка - ".$_POST["re".$i]);
?>

   
 
 автор: pavlik   (17.01.2005 в 22:13)
 
   для: cheops   (17.01.2005 в 21:50)
 

<input maxlength=1 size=2 type=text name=re".$i3."
value=".$uspev_ito[mark]." onkeypress='if ((event.keyCode < 48) ||
(event.keyCode > 53)) event.returnValue = false;'>

я вот так решил свой вопрос.. во всех ли кодировках chr() от символов имеет одинаковое значение?

   
 
 автор: cheops   (17.01.2005 в 22:58)   письмо автору
 
   для: pavlik   (17.01.2005 в 22:13)
 

Вообще говоря нет... хм... а почему бы вам на цифры не проверять? зачем ещё символы помимо цифр?

   
 
 автор: Crux   (18.01.2005 в 06:55)   письмо автору
 
   для: cheops   (17.01.2005 в 22:58)
 

>Вообще говоря нет...

а помоему цифры во всех кодировках имеют одинаковое значение chr(), вот буквы они разные...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования