{% else-1 %}
Обновить | Подписаться | Поднять тему
Чтобы выполнить действие авторизируйтесь или пройдите регистрацию на сайте.
1.
broker * 0.04
[автор] (9 июн 2015, 20:18) [1/0] [1] [отв] [спам] [под] +1 | -1

Вчера сделал выбор персонажей через пост проверки админки.Всё правильно работает но когда Админы постов потверждают персонажей вышает самому админу кто потвердил а не дает пользователю
вот такие запросы использую:
mysql_query_m("UPDATE `user` SET `idit` = '".$item['id']."' WHERE `id` ='$user[id]';"*;


mysql_query_m("UPDATE `user` SET `missii` = '".($user['missii']=1)."' WHERE `id` =".($user['id']).";"*;
mysql_query_m("UPDATE `user` SET `pers`='".$item['name']."' WHERE `id`='".$user['id']."'"*;
mysql_query_m("UPDATE `persy` SET `times` = '".($item['times']=0)."' WHERE `id` = '$item[id]';"*;
mysql_query_m("UPDATE `user` SET `post_naruto` = '".($user['post_naruto']=1)."' WHERE `id` ='$user[id]';"*;
mysql_query_m("UPDATE `user` SET `rang` = '".($user['rang']=1)."' WHERE `id` ='$user[id]';"*;
mysql_query_m("UPDATE `user` SET `poster_nar` = '".($user['poster_nar']=0)."' WHERE `id` ='$user[id]';"*;
msg('Персонаж выбран');
mysql_query_m("UPDATE `persy` SET `idit` = '".($item['idit']=$user['id'])."' WHERE `id` = '$item[id]';"*;
mysql_query_m("UPDATE `persy` SET `nick` = '".($item['nick']=$user['nick'])."' WHERE `id` = '$item[id]';"*;


Как сделать когда админы потверждали пост не давал система админам перс а давал тому пользователю кто писал пост
Добавлено 09.06.15 в 20:19:51:
Даже оптимизировал запросов не получается
Весь код с оптимизорованным запросом
<?
include_once '../../sys/inc/start.php';
include_once '../../sys/inc/compress.php';
include_once '../../sys/inc/sess.php';
include_once '../../sys/inc/home.php';
include_once '../../sys/inc/settings.php';
include_once '../../sys/inc/db_connect.php';
include_once '../../sys/inc/ipua.php';
include_once '../../sys/inc/fnc.php';
include_once '../../sys/inc/user.php';

if (isset($user))$ank['id']=$user['id'];
if (isset($_GET['id']))$ank['id']=intval($_GET['id']);


if ($ank['id']==0)
{
$pers=get_user($pers['id']);
$set['title']=' Проверочный пост '; // заголовок страницы
include_once '../../sys/inc/thead.php';
title();
aut();
echo "<span class=\"status\">$ank[group_name]</span><br />\n";

if ($ank['ank_o_sebe']!=NULL)echo "<span class=\"ank_n\">О себе:</span> <span class=\"ank_d\">$ank[ank_o_sebe]</span><br />\n";




if(isset($_SESSION['refer']) && $_SESSION['refer']!=NULL && otkuda($_SESSION['refer']))
echo "<div class='foot'><a href='$_SESSION[refer]'>".otkuda($_SESSION['refer'])."</a><br />\n</div>\n";

include_once '../../sys/inc/tfoot.php';
exit;
}

$pers=get_user($pers['id']);
if(!$pers){header("Location: /index.php?".SID);exit;}




$pers=get_user($pers['id']);
$set['title']='Проверочный пост '; // заголовок страницы
include_once '../../sys/inc/thead.php';
title();


if ((!isset($_SESSION['refer']) || $_SESSION['refer']==NULL)
&& isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER']!=NULL &&
!ereg('info\.php',$_SERVER['HTTP_REFERER']))
$_SESSION['refer']=str_replace('&','&',ereg_replace('^http://[^/]*/','/', $_SERVER['HTTP_REFERER']));
aut();






$q = mysql_query("SELECT * FROM `persy` WHERE `id` = '".intval($_GET['id'])."'"*;
if (!mysql_num_rows($q)) {
echo '<div class="err">Нет такого Персонажа!</div>';
echo "<div class=\"foot\"> <a href='/naruto/persy/index.php/'>Выбор Персонажей</a></div>";
include_once '../../sys/inc/tfoot.php';
break; }
$post=mysql_query("SELECT * FROM `persy` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"*;


//if ($ank['group_access']>1)echo "<span class='status'>$ank[group_name]</span><br />\n";





//include 'inc/admin_act.php';

if (isset($_POST['msg']) && isset($user))
{

$msg=$_POST['msg'];
if (isset($_POST['translit']) && $_POST['translit']==1)$msg=translit($msg);

$mat=antimat($msg);
if ($mat)$err[]='В тексте сообщения обнаружен мат: '.$mat;

if (strlen2($msg)>100500){$err[]='Сообщение слишком длинное';}
elseif (strlen2($msg)<$tex[simvolov]){$err[]='Пост слишком маленький нужно не меньше '.$tex['simvolov'].' символов!';}
elseif (mysql_result(mysql_query("SELECT COUNT(*) FROM `pers_post` WHERE `id_user` = '$user[id]' AND `id_pers`='$ank[id]' AND `msg` = '".my_esc($msg)."' LIMIT 1"*,0)!=0){$err='Ваш пост повторяет предыдущий';}
elseif(!isset($err)){

$tema=htmlspecialchars(mysql_real_escape_string(trim($_POST['tema'])));
mysql_query("UPDATE `user` SET `pers_post` = '".$tex['name']."' WHERE `id` ='$user[id]';"*;
mysql_query("INSERT INTO `pers_post` (id_user, time, tema, msg, id_pers) values('$user[id]', '$time', '$tema', '".my_esc($msg)."', '$ank[id]')"*;
msg('Сообщение успешно добавлено');


}
}


err();
echo "<center>";
$q = mysql_query("SELECT * FROM `persy` WHERE `id` = '".intval($_GET['id'])."'"*;
if (!mysql_num_rows($q)) {
echo '<div class="err">Нет такого Персонажа!</div>';
echo "<div class=\"foot\"> <a href='/naruto/persy/index.php/'>Выбор Персонажей</a></div>";
include_once '../../sys/inc/tfoot.php';
break;
}
$post=mysql_query("SELECT * FROM `persy` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"*;
$tex = mysql_fetch_assoc($post);


$k_post=mysql_result(mysql_query("SELECT COUNT(*) FROM `pers_post` WHERE `id_pers`='$ank[id]'"*,0);
$k_page=k_page($k_post,$set['p_str']);
$page=page($k_page);
$start=$set['p_str']*$page-$set['p_str'];

////////////////

if ($k_page>1)str('?id='.$ank['id'].'&',$k_page,$page); // Вывод страниц


/////////////////
$q=mysql_query("SELECT * FROM `pers_post` WHERE `id_pers`='$ank[id]' ORDER BY id DESC LIMIT $start, $set[p_str]"*;
while ($post = mysql_fetch_assoc($q))

$item=mysql_fetch_array(mysql_query_m("select * from `persy` where `id`='".intval($_GET['id'])."'"*);
{

$ank12=get_user($post['id_user']);
$ank=mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = $post[id_user] LIMIT 1"*);

if(isset($_POST['yes']))
{mysql_query("
UPDATE `user`
SET `idit` = '" . $item['id'] . "',
`missii` = '1',
`pers`='" . $item['name'] . "',
`post_naruto` = '1',
`rang` = '1',
`poster_nar` = '0'
WHERE `id` =" . $user['id'] . ";"*;
mysql_query("
UPDATE `persy`
SET `times` = '0',
`idit` = '" . $user['id'] . "',
`nick` = '" . $user['nick'] . "'
WHERE `id` = '" . $item['id'] . "';"*;
msg('Персонаж выбран');
header("Location: /naruto/menu.php"*;

echo "<div class='p_m'><center>";

echo "Вы выбрали $item[name]. <br /><a href='/naruto/menu.php'>Вернуться в квест</a>";
echo "</center></div>";
echo"<div class='foot'>\n";
echo "<img src='/naruto/persy/img/back.png' alt='' /> <a href='item.php?id=$item[id]'>Назад</a><br />\n";
echo"</div>\n";
include_once '../../sys/inc/tfoot.php';
exit();
}
}







?>

2.
Mobiaaa * Верифицирован 2.73
(9 июн 2015, 20:20) [1/0] [1] [отв] [спам] [под] +1 | -1

мои глаза...
зачем столько много запросов, если часть из них в одну таблицу и с одним и тем же WHERE
почему бы не сделать так SET `pole1` = 'data1', `pole2` = 'data2'

3.
Miyagi * [мошенник] 1.13
(9 июн 2015, 20:21) [0/0] [0] [отв] [спам] [под] +1 | -1

Пост 2 *

4.
broker * 0.04
[автор] (9 июн 2015, 20:23) [0/0] [0] [отв] [спам] [под] +1 | -1
Mobiaaa,

Я ещё новичок поэтому .
А причем тут оптимизация?Если всё правильно то почему те админу который проверяет постов дает персонажа ему а не пользователям

5.
Mobiaaa * Верифицирован 2.73
(9 июн 2015, 20:29) [0/0] [0] [отв] [спам] [под] +1 | -1

broker, к топику не имеет отношения оптимизация, но лучше сразу писать код грамотнее.
Чем потом в будущем локти кусать, когда кода будет много и исправлять много.

6.
broker * 0.04
[автор] (9 июн 2015, 20:45) [0/0] [0] [отв] [спам] [под] +1 | -1
Mobiaaa,

цитировал ещё весь код
посмотрите там я укоротил то есть укоритили это в фиере но всё равно ничего не выходит
Сможете исправить в чём ошибся?

7.
Trec80 * 0.42
(9 июн 2015, 20:49) [0/0] [0] [отв] [спам] [под] +1 | -1

<?
mysql_query("

UPDATE `user`

SET `idit` = '" . $item['id'] . "',

`missii` = '1',

`pers`='" . $item['name'] . "',

`post_naruto` = '1',

`rang` = '1',

`poster_nar` = '0'

WHERE `id` =" . $ank['id'] . ";"*;?>
Добавлено 09.06.15 в 20:50:20:
и да, тут не хрена нет ничего оптимизир...

8.
broker * 0.04
[автор] (9 июн 2015, 21:02) [0/0] [0] [отв] [спам] [под] +1 | -1
Trec80,

И ЧТО?????????????

9. (9 июн 2015, 21:02) [0/0] [0] [отв] [спам] [под] +1 | -1

на одно действие столько запросов?жесть

10.
Trec80 * 0.42
(9 июн 2015, 21:14) [0/0] [0] [отв] [спам] [под] +1 | -1

broker, и то, user в жоподцмс это сам ты, анк это противоположный пользователь...

  • 1 из 1
Чтобы писать сообщения авторизируйтесь или пройдите регистрацию на сайте.
Подписаны: 1
Скачать тему | Файлы темы | Фильтр сообщений