Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Одновременное обновление (Update) таблицы / 16 сообщений из 16, страница 1 из 1
29.05.2012, 00:57:27
    #37815511
Терри
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Одновременное обновление (Update) таблицы
Здравствуйте,

У меня есть 3 таблицы и мне нужно сделать Update для двух таблиц type и type_name .

languageid_langlang

typeid_type........ primarytype_def....... text

type_nameid_type id_langtype......... text


Lang 1Type 1Lang 2Type 2Lang 3Type 3...


Обновление значений Lang 1,Type 1 ................. UPDATE для таблицы `type` получилось,

А как сделать UPDATE для таблицы `type_name` для значений
Lang 2Type 2Lang 3Type 3...

Надеюсь, ясно объяснила ситуацию.


Код: 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.
<?php
if($err=="" && $id>0) {        
  $q1="UPDATE `type` SET `type_def`='".$rimt."' WHERE `id_type`='".$id."'";  
         
 // $q2="UPDATE `type_name` SET `type`='".$rimp."' WHERE `language`.`id_lang` = `type_name`.`id_lang` AND `id_type`='".$id."'";    ..........        
        
  if(!$link=mysql_query($q1)) $err.="System error";        
  else { 
    ?>
        <script type="text/javascript">
                location="home.php";
         </script>                
<?php
        }    
    }
?>



<div>
<?php 
    $str="";
    $r1 = mysql_query('SELECT `id_type`, `type_def` FROM `type` WHERE `id_type`='.$id);              
    if (!$result=$r1) $err='Server error'; 
    while($row1 = mysql_fetch_row($r1)) { 
        $r2 = mysql_query('SELECT `type_name`.`id_type`, `type_name`.`type`, `language`.`lang` FROM `language` INNER JOIN `type_name` ON `language`.`id_lang` = `type_name`.`id_lang` WHERE `type_name`.`id_type`='.$id);                 
        if (!$result=$r2) $err='Server error'; 
        $str.='<div>
		<input type="text" name="rimt" size="30" value="'.$row1[1].'" />';   
	echo '<input type="hidden" name="id" value="'.$id.'" /> 
        while($row2 = mysql_fetch_row($r2)) {
            $str.='<span>'.$row2[2].':</span><input type="text" name="rimp'.$i.'" size="30" value="'.$row2[1].'" />
';
        }
        $str.='</div>';   
    } 
 ?>  
<?=$str?>
...
Рейтинг: 0 / 0
29.05.2012, 00:59:05
    #37815514
Терри
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Одновременное обновление (Update) таблицы
Теме полное название забыла дать, если можно, поменяйте/
[PHP] Одновременное обновление (Update) таблицы
...
Рейтинг: 0 / 0
29.05.2012, 01:17:05
    #37815522
MikkiMouse
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Одновременное обновление (Update) таблицы
Терри,

Переформулируйте вопрос, пожалуйста, я практически ничего не понял.
...
Рейтинг: 0 / 0
29.05.2012, 09:51:14
    #37815727
Терри
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Одновременное обновление (Update) таблицы
MikkiMouse,

Мне нужно обновить значения type для таблицы type_name , где id_type таблицы type_name равно значению id_type таблицы type . А этих строк у меня несколько может быть.


Ночь сказалась и видимо смутно рассказала ситуацию.
...
Рейтинг: 0 / 0
29.05.2012, 10:06:14
    #37815753
Терри
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Одновременное обновление (Update) таблицы
У меня скорее проблема в том, что я не знаю, что мне делать с rimp . У меня же практически несколько значений будет в цикле? Значит и там, где идет UPDATE , должен участвовать цикл. А может есть какая другая команда для таких действий?

Код: php
1.
$q2="UPDATE `type_name` SET `type`='".$rimp."' WHERE `id_type`='".$id."'";  


..................................................

Код: php
1.
2.
3.
while($row2 = mysql_fetch_row($r2)) {
        $str.='<span>'.$row2[2].':</span><input type="text" name="rimp'" size="30" value="'.$row2[1].'" />';
}
...
Рейтинг: 0 / 0
29.05.2012, 10:10:16
    #37815755
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Одновременное обновление (Update) таблицы
Зачем вам одинаковые данные в 2х таблицах?
...
Рейтинг: 0 / 0
29.05.2012, 10:12:16
    #37815758
Терри
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Одновременное обновление (Update) таблицы
Hett,

В одной таблице по умолчанию взяты значения на одном языке, а в другой - на остальных языках ......... То есть, многоязычный сайт будет.
...
Рейтинг: 0 / 0
29.05.2012, 10:34:05
    #37815792
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Одновременное обновление (Update) таблицы
Как я понимаю это нужно для того, чтобы если в дополнительной локали нету перевода, то текст брался из основной таблицы? Если да, то как вариант можно в запросе на получение данных джоинить таблицу с базовой локалью и делая проверку на пустоту брать значения из нее по необходимости.
...
Рейтинг: 0 / 0
29.05.2012, 10:43:16
    #37815815
Терри
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Одновременное обновление (Update) таблицы
HettКак я понимаю это нужно для того, чтобы если в дополнительной локали нету перевода, то текст брался из основной таблицы? Если да, то как вариант можно в запросе на получение данных джоинить таблицу с базовой локалью и делая проверку на пустоту брать значения из нее по необходимости.

Это уже для основного сайта.

А сейчас я пока работаю над административным сайтом, где ввожу эти данные. Может я что-то иначе представляю себе, но я просто хотела делать редактирование значений.
Допустим, на первой страничке у меня видны все значения на разных языках

English Русский...English 1 Русский 1... кнопка Edit English 2 Русский 2... кнопка Edit English 3 Русский 3... кнопка Edit English 4 Русский 4... кнопка Edit

При нажатии на кнопку Edit появляется соответствующая запись, допустим:

English 3 Русский 3...

И здесь меняю значения, если нужно будет. Именно здесь я и застряла.
...
Рейтинг: 0 / 0
29.05.2012, 10:51:00
    #37815832
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Одновременное обновление (Update) таблицы
Терри,

Код: sql
1.
2.
3.
INSERT INTO type_name(id_type, id_lang, type)
VALUES(1, 1, "Русски3"), (1, 2, "Англицкий3"), (1, 3, "Турецкий3")
ON DUPLICATE KEY SET type=VALUES(type);
...
Рейтинг: 0 / 0
29.05.2012, 10:51:37
    #37815834
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Одновременное обновление (Update) таблицы
Ренат,

я надеюсь правда у вас стоят уник ключи на id_type, id_lang
...
Рейтинг: 0 / 0
29.05.2012, 10:55:08
    #37815844
Терри
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Одновременное обновление (Update) таблицы
Ренат,

Но это же Insert, а не Update?
...
Рейтинг: 0 / 0
29.05.2012, 10:57:06
    #37815849
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Одновременное обновление (Update) таблицы
ТерриИ здесь меняю значения, если нужно будет. Именно здесь я и застряла.
ну так бы сразу и описали, сделайте несколько апдейтов, ничего страшного в данном случае.
...
Рейтинг: 0 / 0
29.05.2012, 10:58:39
    #37815852
Терри
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Одновременное обновление (Update) таблицы
HettТерриИ здесь меняю значения, если нужно будет. Именно здесь я и застряла.
ну так бы сразу и описали, сделайте несколько апдейтов, ничего страшного в данном случае.
Несколько штук? А разве это удобно будет?
...
Рейтинг: 0 / 0
29.05.2012, 12:38:06
    #37816132
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Одновременное обновление (Update) таблицы
ТерриРенат,

Но это же Insert, а не Update?
я же вам написал, что еслиу вас стоят уник ключи на id_type, id_lang то будет апдейт а не инсерт. Инсерт будет только в случае если обновляемых записей нет
...
Рейтинг: 0 / 0
29.05.2012, 13:52:02
    #37816309
Терри
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Одновременное обновление (Update) таблицы
Ренат,

Это всё из-за неопытности, сразу не разобралась ... :)

К вечеру сяду и снова пересмотрю то, что сделано и что должна сделать. Думаю, что всё получится.

Большое спасибо ... :) и про Duplicate
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Одновременное обновление (Update) таблицы / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]