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

Форум PHP

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

 

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

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

тема: цикл+<select>+update бд
 
 автор: kid_a   (14.11.2007 в 08:40)   письмо автору
 
 

выбираю разные знач. selectов (4 1), то в поле id_name попадает большее (4).
что исправить в цикле?
заранее спасибо

echo '<form action="prod2.php" method=POST>  ';
echo '<table>';
$query=mysql_query("select id_name from admin"); 

$query2=mysql_query("select name.id_name, name.name, name.id_production, production.production, production.id_production from name, production where name.id_production=production.id_production"); 

$num_rows2 = mysql_num_rows($query2);
$num_rows = mysql_num_rows($query);    


    for ($i=1; $i <=$num_rows; $i++)
 

    {

    $res=mysql_fetch_assoc($query);
     mysql_data_seek($query2,0);


    echo '<td><input name="id_name'.$i.'" maxlength="100" size="30" type="text" value="'.$res['id_name'].'"></td>';
    

echo '<td><select name=production'.$i.' size=1>';
      
while($res2=mysql_fetch_assoc($query2))    


    {
    
    
        if ($res['id_name']==$res2['id_name']) 
        
        { 
        $select="selected"; 
        } 


        else 

        { 
        $select=" "; 

        } 
        



    
    
    echo "<option value=".$res2['id_name']." ".$select.">"."[".$res2['production']."]"." ".$res2['name']."</option>";
    


     
    


    }


    echo '</select></td></tr>';





    }
echo '</table>';

?>

<input type=submit value=Отправить>  
</form>




Prod2.php


$query=mysql_query("select * from admin"); 
$num_rows = mysql_num_rows($query);


for ($i=1; $i<=$num_rows; $i++) 


     { 
    

    $name=$_POST['production'.$i];    
    echo $name; // здесь выводит правильно, допустим 1 4 
    $sql= "update admin  set id_name=".$name.""; // в базу попадает 4 4 
    $resitog= mysql_query($sql) or die(mysql_error());
        }





?>

   
 
 автор: kid_a   (14.11.2007 в 13:23)   письмо автору
 
   для: kid_a   (14.11.2007 в 08:40)
 

проблема решилась, когда дописала в конце запроса


where id='$i'


id- номер записи в бд - autoinc.

не уверенна, что это правильно.
?

   
 
 автор: kid_a   (14.11.2007 в 15:11)   письмо автору
 
   для: kid_a   (14.11.2007 в 13:23)
 

нужно обновить все поля базы, в зависимости от значения в каждом выбранном selecte (формируются в 1 скрипте).

сейчас все работает.но
при удалении строк/и с уникальным id из бд возникнет проблема.
как ее можно решить? очень нужна помощь.

   
 
 автор: kid_a   (14.11.2007 в 20:49)   письмо автору
 
   для: kid_a   (14.11.2007 в 15:11)
 

может мне cheops сможет помочь...
таблица такая же, как каталог продукции на странице 339 (php5. практика создания web сайтов).
только все поля являются либо <text>, либо <select> (формируются в цикле).

задача - одним submitoм обновить в БД все записи, в зависимости от выбранных-<select>/исправленных - <text> значений.

   
Rambler's Top100
вверх

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