Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для StreetX
32 / 24 / 0
Регистрация: 09.10.2012
Сообщений: 180

Как правильно составить вывод из бд через запятую и оператор if

24.11.2012, 21:05. Показов 1697. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно такой код, подключение работает, можете сами подключится и как то это сделать, у меня получилось не все...
В коде есть комментарии как нужно сделать

Кликните здесь для просмотра всего текста
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
56
57
58
59
60
<?php
// данные доступа к базе данных
$db_host="84.23.33.140";   // обычно не нужно изменять
$db_user="anonimys";    // имя пользователя БД
$db_password="12345678";    // пароль БД
$db_name = "CubeCore";  // имя БД
 
 
$ConnectDB = mysql_connect("$db_host", "$db_user", "$db_password");    
mysql_select_db("$db_name");
 
//ок подключился :)
$i=0;      //magic
$data = mysql_query("SELECT * FROM region_cuboid",$ConnectDB);  
   
$row = mysql_fetch_array($data[$i]); {     
while($row = mysql_fetch_array($data)) {     
$region_id = $row['region_id'];
$world_id = $row['world_id'];
$min_x = $row['min_x'];
$min_y = $row['min_y'];
$min_z = $row['min_z'];
$max_x = $row['max_x'];
$max_y = $row['max_y'];
$max_z = $row['max_z'];
//и до сюда работает, а потом чудеса, я запутался ><
//тут типо мне нужно сделать что бы из таблицы "region_players" брались имена пользователей к регину "$region_id". Именя делятся на 2 типа это Owner=1 - типо админ и Owner=0 - не админ :) и вся эта бодяга выводилась в строку 51 и 53
$dbrguserid = mysql_query("SELECT * FROM region_players WHERE region_id= $region_id",$ConnectDB);     
$rowdbrguserid = mysql_fetch_array($dbrguserid);     
$userid = $rowdbrguserid['user_id'];  
$usernameowner = $rowdbrguserid['owner'];
 
//ну как бе пользователи в виде ID поэтому мы, тобишь я написал вот так для вывода Имени:
$dbrgusername = mysql_query("SELECT * FROM user WHERE  id= $userid",$ConnectDB);     
$rowuser = mysql_fetch_array($dbrgusername);     
$username = $rowuser['name'];  
 
// if ($usernameowner==1){$Owner=$usernameowner} else {$Member=$usernameowner}  magic... Как правильно записать?
 
echo "<hr><br>
регион: $world_id <br>
В файл:
<br>Начало<br><br>
&nbsp&nbsp&nbsp$region_id:<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsptype: cuboid<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspmin: {x: $min_x, y: $min_y, z: $min_z}<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspmax: {x: $max_x, y: $max_y, z: $max_z}<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsppriority: 0<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspflags: {}<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspowners:<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspplayers: [$Owner, $Owner]<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspmembers:<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspplayers: [$Member, $Member]<br>
<br>Конец<br>";
 
$i++;    
}    
}    
   mysql_close($ConnectDB);
?>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.11.2012, 21:05
Ответы с готовыми решениями:

Вывод на экран через запятую
Добрый день, стоит задача, которую не получается решить. Существует регистрационная форма на сайте с полем станции метро, по умолчанию в...

Вывод чисел через запятую
Что надо написать , что бы числа выводились через запятую

Вывод массива выборки через запятую
Товарищи, нужна помощь) $names=&quot;SELECT name FROM data WHERE age = 32&quot;; $query_names=mysql_query($names) or die(mysql_error()); ...

5
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
25.11.2012, 01:10
Цитата Сообщение от StreetX Посмотреть сообщение
PHP
1
2
3
4
5
6
$min_x = $row['min_x'];
$min_y = $row['min_y'];
$min_z = $row['min_z'];
$max_x = $row['max_x'];
$max_y = $row['max_y'];
$max_z = $row['max_z'];
зачем это присваивание вообще? потом в переменных запутаетесь - а массив всегда можно вывести и посмотреть что в нем есть.
А по поводу остального - не особо понял суть проблемы..
0
 Аватар для StreetX
32 / 24 / 0
Регистрация: 09.10.2012
Сообщений: 180
25.11.2012, 02:45  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
зачем это присваивание вообще? потом в переменных запутаетесь - а массив всегда можно вывести и посмотреть что в нем есть.
А по поводу остального - не особо понял суть проблемы..
не знаю, мне было так проще

Добавлено через 3 минуты
Вообщем мне надо что бы из таблицы region_players выводились имена и делились они на две группы Owner и member
и вписывались в строку 51 для owner и 53 строку для member
я вроде кое как сделал, но проблема в том что выводятся только только один айди, а их может быть больше и если больше одного айди то он не выводит остальные

Добавлено через 15 минут
Вот как теперь из этого сделать:

Кликните здесь для просмотра всего текста
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
56
57
58
<?php
 
$db_host="84.23.33.140";   
$db_user="anonimys";    
$db_password="12345678"; 
$db_name = "CubeCore"; 
 
$ConnectDB = mysql_connect("$db_host", "$db_user", "$db_password");    
mysql_select_db("$db_name");
 
$data = mysql_query("SELECT * FROM region_cuboid",$ConnectDB);  
 
$row = mysql_fetch_array($data); {     
while($row = mysql_fetch_array($data)) {     
$region_id = $row['region_id'];
$world_id = $row['world_id'];
$min_x = $row['min_x'];
$min_y = $row['min_y'];
$min_z = $row['min_z'];
$max_x = $row['max_x'];
$max_y = $row['max_y'];
$max_z = $row['max_z'];
 
$dbrguserid = mysql_query("SELECT * FROM region_players WHERE region_id= $region_id",$ConnectDB);  
$rowdbrguserid = mysql_fetch_array($dbrguserid[$i]);
while($rowdbrguserid = mysql_fetch_array($dbrguserid)) {
 
if($rowdbrguserid['owner']==1) $Owner = $rowdbrguserid['user_id'];  else $Member = $rowdbrguserid['user_id']; 
 
//ну как бе пользователи в виде ID поэтому мы, тобишь я написал вот так для вывода Имени:
 
 
//$dbrgusername = mysql_query("SELECT * FROM user WHERE  id= $userid",$ConnectDB);   
//$rowuser = mysql_fetch_array($dbrgusername);     
//while($rowuser = mysql_fetch_array($dbrgusername)) {
//$username = $rowuser['name'];  }
}
 
echo "<hr><br>
регион: $world_id <br>
В файл:
<br>Начало<br><br>
&nbsp&nbsp&nbsp$region_id:<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsptype: cuboid<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspmin: {x: $min_x, y: $min_y, z: $min_z}<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspmax: {x: $max_x, y: $max_y, z: $max_z}<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsppriority: 0<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspflags: {}<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspowners:<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspplayers: [$Owner, $Owner]<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspmembers:<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspplayers: [$Member, $Member]<br>
<br>Конец<br>";
 
$i++;    
}}
   mysql_close($ConnectDB);
?>


1) вместо ID писало имена
2) если там не одно имя то оно его писало через запятую

Добавлено через 22 минуты
Кликните здесь для просмотра всего текста
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
56
57
<?php
 
$db_host="84.23.33.140";   
$db_user="anonimys";    
$db_password="12345678"; 
$db_name = "CubeCore"; 
 
$ConnectDB = mysql_connect("$db_host", "$db_user", "$db_password");    
mysql_select_db("$db_name");
 
$data = mysql_query("SELECT * FROM region_cuboid",$ConnectDB);  
 
$row = mysql_fetch_array($data); {     
while($row = mysql_fetch_array($data)) {     
$region_id = $row['region_id'];
$world_id = $row['world_id'];
$min_x = $row['min_x'];
$min_y = $row['min_y'];
$min_z = $row['min_z'];
$max_x = $row['max_x'];
$max_y = $row['max_y'];
$max_z = $row['max_z'];
$i=0;  
$dbrguserid = mysql_query("SELECT * FROM region_players WHERE region_id= $region_id",$ConnectDB);  
$rowdbrguserid = mysql_fetch_array($dbrguserid[$i]); {
while($rowdbrguserid = mysql_fetch_array($dbrguserid)) {
$userid = $rowdbrguserid['user_id'];  
//ну как бе пользователи в виде ID поэтому мы, тобишь я написал вот так для вывода Имени:
 
 
$dbrgusername = mysql_query("SELECT * FROM user WHERE  id= $userid",$ConnectDB);   
$rowuser = mysql_fetch_array($dbrgusername[$i]);    { 
while($rowuser = mysql_fetch_array($dbrgusername)) {
$username = $rowuser['name'];  
if($rowdbrguserid['owner']==1) $Owner = $rowuser['name'];  else $Member = $rowuser['name']; 
}}}}
 
echo "<hr><br>
регион: $world_id <br>
В файл:
<br>Начало<br><br>
&nbsp&nbsp&nbsp$region_id:<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsptype: cuboid<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspmin: {x: $min_x, y: $min_y, z: $min_z}<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspmax: {x: $max_x, y: $max_y, z: $max_z}<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsppriority: 0<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspflags: {}<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspowners:<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspplayers: [$Owner, $Owner]<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspmembers:<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspplayers: [$Member, $Member]<br>
<br>Конец<br>";
 
$i++;    
}}
   mysql_close($ConnectDB);
?>

1) вместо ID писало имена
2) если там не одно имя то оно его писало через запятую
Code
1
2
3
Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in test.php on line 25
 
Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in test.php on line 32
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
25.11.2012, 03:35
Цитата Сообщение от StreetX Посмотреть сообщение
PHP
1
$rowdbrguserid = mysql_fetch_array($dbrguserid[$i]); {
а что это за $i и скобка в конце?
Цитата Сообщение от StreetX Посмотреть сообщение
PHP
1
2
В файл: <br>Начало<br><br> &nbsp&nbsp&nbsp$region_id:<br> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsptype: cuboid<br> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspmin: {x: $min_x, y: $min_y, z: $min_z}<br> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspmax: {x: $max_x, y: $max_y, z: $max_z}<br> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsppriority: 0<br> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspflags: {}<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspowners:<br> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspplayers: [$Owner, $Owner]<br> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspmembers:<br> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspplayers: [$Member, $Member]<br> <br>Конец<br>";
а пробелы эти для чего?
0
 Аватар для StreetX
32 / 24 / 0
Регистрация: 09.10.2012
Сообщений: 180
25.11.2012, 22:37  [ТС]
Цитата Сообщение от alpex Посмотреть сообщение
а что это за $i и скобка в конце?
Эт я не знаю
Цитата Сообщение от alpex Посмотреть сообщение
а пробелы эти для чего?
А что бы копировать было удобно в yml файл

Добавлено через 8 часов 51 минуту
Ап! еще актуально, нужно что бы выводило больше 1 ника если есть ...
0
 Аватар для StreetX
32 / 24 / 0
Регистрация: 09.10.2012
Сообщений: 180
02.12.2012, 20:48  [ТС]
Дальше не знаю как сделать...
Кликните здесь для просмотра всего текста
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
<?php
 
$db_host="84.23.33.140";   
$db_user="anonimys";    
$db_password="12345678"; 
$db_name = "CubeCore"; 
 
$ConnectDB = mysql_connect("$db_host", "$db_user", "$db_password");    
mysql_select_db("$db_name");
$data = mysql_query("SELECT * FROM region_cuboid, region_players WHERE region_cuboid.region_id=region_players.region_id",$ConnectDB);  
while($row = mysql_fetch_array($data)) {     
$region_id = $row['region_id'];
$world_id = $row['world_id'];
$min_x = $row['min_x'];
$min_y = $row['min_y'];
$min_z = $row['min_z'];
$max_x = $row['max_x'];
$max_y = $row['max_y'];
$max_z = $row['max_z'];
 
 
$dbrgusername = mysql_query('SELECT name FROM user WHERE id='.$row['user_id'].'',$ConnectDB);   
while($rowuser = mysql_fetch_array($dbrgusername)) 
$name = $rowuser['name'];
if($row['owner']==1) $Owner = $name;  else $Member = $name; 
 
 
 
 
echo "<hr><br>
регион: $world_id <br>
ранг: " . ++$rank . "<br>
В файл:
<br>Начало<br><br>
&nbsp&nbsp&nbsp&nbsp$region_id:<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsptype: cuboid<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspmin: {x: $min_x, y: $min_y, z: $min_z}<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspmax: {x: $max_x, y: $max_y, z: $max_z}<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsppriority: 0<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspflags: {}<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspowners:<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspplayers: [$Owner]<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspmembers:<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspplayers: [$Member]<br>
<br>Конец<br>";
 
$i++;    
}
   mysql_close($ConnectDB);
?>


Добавлено через 8 минут
Изменить это
PHP
1
if($row['owner']==1) $Owner = $name;  else $Member = $name;
На это
PHP
1
2
if($row['owner']==1) $Owner = $name;  else $Owner = "пуфто-1"; 
if($row['owner']==0) $Member = $name;   else $Member = "пуфто-0";
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.12.2012, 20:48
Помогаю со студенческими работами здесь

Вывод ссылок через запятую в dataGridView
доброе время суток нужна помощь на данном этапа есть такой код foreach (var imgs in img) { ...

Вывод содержимого массива через запятую
Подскажите, пожалуйста, почему не работает? Необходимо вывести содержание папки через запятую. Код &lt;?php $featured1_dir =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru