Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Объеденить два запроса / 2 сообщений из 2, страница 1 из 1
09.07.2016, 12:48
    #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
09.07.2016, 17:31
    #39271128
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объеденить два запроса
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Объеденить два запроса / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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