Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   PHP (https://forum.zone-game.info/forumdisplay.php?f=125)
-   -   Скрыть значение если id юзера не равен 1 (https://forum.zone-game.info/showthread.php?t=35730)

Fudji 05.07.2014 12:34

Re: Скрыть значение если id юзера не равен 1
 
Цитата:

Сообщение от epmak (Сообщение 368824)
так, тогда я тебя не верно понял
то есть, тебе надо для всех входящих на страницу одинаковый вид. но определенные пользователи в этой самой таблице должны быть с затертыми данными в некоторых столбцах?

Да:)
Если user id не равен 1, то показывать переменную $a, переменная $a=Недоступно, если user id = 1 то выводить настоящий результат.

Если сделать вот так

PHP код:

while($data mysql_fetch_array($qr_result)){
        if (
$data['id'] > ) {
        echo 
'<td>' $data['Tema'] . '</td>';
        }
        else
        {
        echo 
'<td>' $a '</td>';
        }


До id 2 выводит переменную а, после id 2 выводит истину.
Но мне нужно что бы учитывалось не id из таблицы form, а id из таблицы user

epmak 05.07.2014 12:42

Re: Скрыть значение если id юзера не равен 1
 
чет я загрузился как в мускуле это сделать, явно выходные... вариант простой
PHP код:

 while($data mysql_fetch_array($qr_result)){ 
{
   if(
$data['id'] == 1)
     
$data['FIP'] = "недоступно";
//далее вывод
        
echo '<tr>';
        echo 
'<td>' $data['FIP'] . '</td>';
...



Fudji 05.07.2014 12:45

Re: Скрыть значение если id юзера не равен 1
 
Цитата:

Сообщение от epmak (Сообщение 368826)
чет я загрузился как в мускуле это сделать, явно выходные... вариант простой
PHP код:

 while($data mysql_fetch_array($qr_result)){ 
{
   if(
$data['id'] == 1)
     
$data['FIP'] = "недоступно";
//далее вывод
        
echo '<tr>';
        echo 
'<td>' $data['FIP'] . '</td>';
...



В этом коде не учитывается столбец из другой таблицы, а мне нужно чтобы выводило из другой таблицы

Добавлено через 4 минуты
PHP код:

$data1 mysql_fetch_array($qr_result1

Вот как то так надо запилить.

epmak 05.07.2014 12:56

Re: Скрыть значение если id юзера не равен 1
 
добавь в запрос 2 таблицы

PHP код:

$qr_result mysql_query("select t1.user, t2.Datw... from  table1 t1, table2 t2 WHERE t1.index = t2.uindex"); 

как пример.
в мускуле, правда для 1 таблицы будет нечто подобное
PHP код:

CREATE TABLE test.users (
  
ids int(5NOT NULL AUTO_INCREMENT,
  
login varchar(15) DEFAULT '0',
  
password varchar(15) DEFAULT '0',
  
PRIMARY KEY (ids)
)
ENGINE INNODB
AUTO_INCREMENT 
7
AVG_ROW_LENGTH 
5461
CHARACTER SET utf8
COLLATE utf8_general_ci
;

SELECT 
  ids
,
  
login,
  CASE     
  
WHEN ids IN (7,8THEN
  
'недоступно'
  
ELSE password    
  END 
AS password 
FROM users 

то есть для юзверей 7 и 8 пароля не будет видно

Fudji 05.07.2014 13:00

Re: Скрыть значение если id юзера не равен 1
 
Цитата:

Сообщение от epmak (Сообщение 368829)
добавь в запрос 2 таблицы

PHP код:

$qr_result mysql_query("select t1.user, t2.Datw... from  table1 t1, table2 t2 WHERE t1.index = t2.uindex"); 

как пример.
в мускуле, правда для 1 таблицы будет нечто подобное
PHP код:

CREATE TABLE test.users (
  
ids int(5NOT NULL AUTO_INCREMENT,
  
login varchar(15) DEFAULT '0',
  
password varchar(15) DEFAULT '0',
  
PRIMARY KEY (ids)
)
ENGINE INNODB
AUTO_INCREMENT 
7
AVG_ROW_LENGTH 
5461
CHARACTER SET utf8
COLLATE utf8_general_ci
;

SELECT 
  ids
,
  
login,
  CASE     
  
WHEN ids IN (7,8THEN
  
'недоступно'
  
ELSE password    
  END 
AS password 
FROM users 

то есть для юзверей 7 и 8 пароля не будет видно

Сломал мне мозг.
А зачем
PHP код:

$qr_result mysql_query("select t1.user, t2.Datw... from  table1 t1, table2 t2 WHERE t1.index = t2.uindex"); 

если можно
PHP код:

$db_table_to_show1 'users';
$qr_result1 mysql_query("select * from " $db_table_to_show1


epmak 05.07.2014 13:03

Re: Скрыть значение если id юзера не равен 1
 
можно и 500 запросов делать. а зачем, если в 1 можно уложить?

Fudji 05.07.2014 13:17

Re: Скрыть значение если id юзера не равен 1
 
Ладно суть не в этом, как мне засунуть в мой код проверку на id?
Мне нужно как то написать условие
if залазит в таблицу user смотрит колонку id = 1
echo '<td>' . $data['Tema'] . '</td>';
else
echo '<td>' . $a . '</td>';
ВОт это как сделать, при этом остаться в одном массиве while

epmak 05.07.2014 13:23

Re: Скрыть значение если id юзера не равен 1
 
у тебя 2 варианта, либо в запросе самом вписать конкретно циферки, либо выбирать данные из всех таблиц в 1 запрос и на выходе их фильтровать.

Fudji 05.07.2014 13:29

Re: Скрыть значение если id юзера не равен 1
 
Как написать 1 запрос, который будет смотреть сразу в 2 таблицы и user и form?
Желательно с правильным синатаксисом.

PROGRAMMATOR 05.07.2014 13:43

Re: Скрыть значение если id юзера не равен 1
 
SELECT u.*, f.* FROM users u, form f WHERE f.user_id = u.id
Code: SQL
Далее смотрите сами, что там с названиями полей связи.


Текущее время: 19:35. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot