powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Объеденить два запроса
2 сообщений из 2, страница 1 из 1
Объеденить два запроса
    #39271068
Фотография Alexei772
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте

У меня есть цикл.

В цикле получается у 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.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
<?

include('inc_db.php');

$objects_id=addslashes($_GET['object']);
$types_id=addslashes($_GET['type']);

$sql="
	select * 
	from `objects-types` 
	where 
		`objects_id`='{$objects_id}' 
	and `types_id`='{$types_id}' 
	and `markdel` is NULL 
";

$result=mysql_query($sql,$link) or die(mysql_error());

if(mysql_num_rows($result)>0){

	$sql="
		insert into `` (
			`objects_id`
			,`types_id`
		) values (
			 '{$objects_id}'
			,'{$types_id}'
		);
	";
	$result=mysql_query($sql,$link) or die(mysql_error());

	if($result==1){
		echo "<script>window.location.href='/objects_details.php?object={$objects_id}';</script>"
		die();
	}

} else {

	$sql="
		update `objects-types` 
		set `markdel`=NOW() 
		where 
			`objects_id`='{$objects_id}' 
		and `types_id`='{$types_id}' 
		and `markdel` is NULL 
	";
	$result=mysql_query($sql,$link) or die(mysql_error());	
	if($result==1){
		echo "<script>window.location.href='/objects_details.php?object={$objects_id}';</script>"
		die();		
	}
	
}

?>



Хотел бы эти запросы все объеденить в один запрос в базу

например так (просто пример идея запроса):

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
if count(	select * 
	from `objects-types` 
	where 
		`objects_id`='{$objects_id}' 
	and `types_id`='{$types_id}' 
	and `markdel` is NULL ) >0  {
		update `objects-types` 
		set `markdel`=NOW() 
		where 
			`objects_id`='{$objects_id}' 
		and `types_id`='{$types_id}' 
		and `markdel` is NULL 
} else {
		insert into `objects-types` (
			`objects_id`
			,`types_id`
		) values (
			 '{$objects_id}'
			,'{$types_id}'
		);
}



Как такое можно сделать в одном запросе?
...
Рейтинг: 0 / 0
Объеденить два запроса
    #39271128
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Объеденить два запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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