Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сделать новую таблицу из результирующей таблицы
 
 автор: FBI   (18.03.2006 в 21:54)   письмо автору
 
 

есть таблица=) с помощью while откуда выводются несколько циферок =) потом с помощью этих циферок из другой таблице выводются коментарии .. каждый циферки свой коммент...) потом.. все эти комментарии которые вывелись.. должны засунуться в другую таблицу... в неё должно вставится комментарий и циферка.. соответствующая этому комменту..=) я знаю как это сделать...=) но не до конца...=) незнаю как запихнуть в таблицу комментарии с циферками)) короче сам не до конца понял что написал.. ) но мне надо это сделать..) вот кусок кода=) ..


$gw_opit_001 = 0;

$sql_10 = mysql_query("SELECT * FROM 'gwboius' WHERE 'idgwboiz' = '$zapros_329[idboi]'");
if($sql_10){
while($sql_11 = mysql_fetch_array($sql_10)){

if($sql_11[nomkomgw] != $win_k AND $sql_11 != 3){
$sql_12="SELECT * FROM 'gameuser' WHERE 'id' = '$sql_11[idgwuserz]'";
$result_12=mysql_query($sql_12);
$zapros_12=mysql_fetch_array($result_12);
}

if($sql_11[nomkomgw] == $win_k){
$sql_1200="SELECT * FROM 'gameuser' WHERE 'id' = '$sql_11[idgwuserz]'";
$result_1200=mysql_query($sql_1200);
$zapros_1200=mysql_fetch_array($result_1200);
}

$gwlose_001 = $zapros_12[gwlose]+1;

$sql_901="UPDATE 'gameuser' SET 'health' = '0', 'gwlose' = '$gwlose_001' WHERE 'id' = '$zapros_12[id]' LIMIT 1";
$result_901=mysql_query($sql_901);

$gwlose_002 = <<<HERE
Вы проиграли в командном бою. Победа за $zapros_1200[userx],&nbsp;
HERE;

$query_304 = "INSERT INTO 'gamelog' ('tomessagelog', 'messagelog', 'datemesslog') VALUES ('$zapros_12[id]', '$gwlose_002', NOW())";
$resul_304 = MYSQL_QUERY($query_304);

$gw_opit_001 += $zapros_12[level];
}
}


где строчка :

Вы проиграли в командном бою. Победа за $zapros_1200[userx],&nbsp;

вот $zapros_1200[userx] ... это вроде должно вывестись все комментарии ... и в таблицу я вставляю $gwlose_002 ... но вставляется не так как надо))

   
 
 автор: cheops   (18.03.2006 в 22:04)   письмо автору
 
   для: FBI   (18.03.2006 в 21:54)
 

Чего-то не понятно ничего... нужно из результатов получить новую таблицу?

   
 
 автор: FBI   (18.03.2006 в 22:10)   письмо автору
 
   для: cheops   (18.03.2006 в 22:04)
 

нет=) вот есть таблица gameuser ... в ней несколь человек ...) у них есть ID и Ник... )) так..) ещё есть таблица gwboius ... там есть ID каких-то человек ... ) из gwboius выводются все ID что там есть...) по этим ID в таблице gameuser находются их ники..) и надо чтобы все эти ники вывелись тут

Вы проиграли в командном бою. Победа за $zapros_1200[userx],&nbsp;
... и чтобы эта строчка... уже с никами (например Вы проиграли в командном бою. Победа за Вася, Петя, Лёша) вставилась в таблицу gamelog ... )

   
 
 автор: FBI   (18.03.2006 в 23:39)   письмо автору
 
   для: FBI   (18.03.2006 в 21:54)
 

нуу...ээ...а... кто нить поможет?=) или что нужно не поняли?))

   
 
 автор: Евгений Петров   (19.03.2006 в 00:02)   письмо автору
 
   для: FBI   (18.03.2006 в 23:39)
 

А че нибудь типа такого не подойдет?
<?
  
unset($users);
  
$query mysql_query("SELECT gameuser.userx FROM gameuser,gwboius WHERE gameuser.id = gwboius.id");
  while(
$fetch mysql_fetch_array($query))
    
$users[] = $fetch['userx'];

  echo 
"Вы проиграли в командном бою. Победа за ".implode(",",$users);
?>

   
 
 автор: FBI   (19.03.2006 в 00:13)   письмо автору
 
   для: Евгений Петров   (19.03.2006 в 00:02)
 

неа.=) не подойдёт=) ктому же.. как сделать чтобы на странице отображалась надпись "Вы проиграли в командном бою. Победа за Вася, Петя, Лёша " я знаю=) я не знаю как эту надпись в бд запихнуть=)

   
 
 автор: Евгений Петров   (19.03.2006 в 00:15)   письмо автору
 
   для: FBI   (19.03.2006 в 00:13)
 

Т.е. не знаете???
INSERT INTO tbl SET field = '$str'
...

   
 
 автор: FBI   (19.03.2006 в 00:22)   письмо автору
 
   для: Евгений Петров   (19.03.2006 в 00:15)
 

ну вот я делаю так=)


$gwlose_002 = <<<HERE
Вы проиграли в командном бою. Победа за $zapros_1200[userx],&nbsp;
HERE;

$query_304 = "INSERT INTO 'gamelog' ('tomessagelog', 'messagelog', 'datemesslog') VALUES ('$zapros_12[id]', '$gwlose_002', NOW())";
$resul_304 = MYSQL_QUERY($query_304);


и вставляется в таблицу очень много строк...
добавляется в таблицу столько строк сколько и ID ... ) так и должно..) но.. добавляются вот такие строки..)

1 - Вы проиграли в командном бою. Победа за Вася,
1 - Вы проиграли в командном бою. Победа за Петя,
1 - Вы проиграли в командном бою. Победа за Лёша,

4 - Вы проиграли в командном бою. Победа за Вася,
4 - Вы проиграли в командном бою. Победа за Петя,
4 - Вы проиграли в командном бою. Победа за Лёша,

и т.д. а надо чтобы ...
1 - Вы проиграли в командном бою. Победа за Вася, Петя, Лёша,
4 - Вы проиграли в командном бою. Победа за Вася, Петя, Лёша,

(где цифры это id)

   
 
 автор: Евгений Петров   (19.03.2006 в 00:49)   письмо автору
 
   для: FBI   (19.03.2006 в 00:22)
 

Так давайте по порядку. У вас структура таблиц какая? И что в каждой таблице хранится?

   
 
 автор: FBI   (19.03.2006 в 00:59)   письмо автору
 
   для: FBI   (18.03.2006 в 21:54)
 

вот кусок кода=)


<?
$gw_opit_001 
0

$sql_10 mysql_query("SELECT * FROM 'gwboius' WHERE 'idgwboiz' = '$zapros_329[idboi]'"); 
if(
$sql_10){ 
while(
$sql_11 mysql_fetch_array($sql_10)){ 

if(
$sql_11[nomkomgw] != $win_k AND $sql_11 != 3){ 
$sql_12="SELECT * FROM 'gameuser' WHERE 'id' = '$sql_11[idgwuserz]'"
$result_12=mysql_query($sql_12); 
$zapros_12=mysql_fetch_array($result_12); 


if(
$sql_11[nomkomgw] == $win_k){ 
$sql_1200="SELECT * FROM 'gameuser' WHERE 'id' = '$sql_11[idgwuserz]'"
$result_1200=mysql_query($sql_1200); 
$zapros_1200=mysql_fetch_array($result_1200); 


$gwlose_001 $zapros_12[gwlose]+1

$sql_901="UPDATE 'gameuser' SET 'health' = '0', 'gwlose' = '$gwlose_001' WHERE 'id' = '$zapros_12[id]' LIMIT 1"
$result_901=mysql_query($sql_901); 

$gwlose_002 = <<<HERE 
Вы проиграли в командном бою
Победа за $zapros_1200[userx],&nbsp
HERE

$query_304 "INSERT INTO 'gamelog' ('tomessagelog', 'messagelog', 'datemesslog') VALUES ('$zapros_12[id]', '$gwlose_002', NOW())"
$resul_304 MYSQL_QUERY($query_304); 

$gw_opit_001 += $zapros_12[level]; 

}
?>


есть таблица gameuser там id и ники игроков=) ....
есть таблица gwboius там id боёв и id кто участвовал=)

из таблицы gwboius выводятся все id кто участвовал..
потом.. по этим id в таблице gameuser ищется их ники=)

и всё... потом в таблицу gamelog должно вставится сообещние

"Вы проиграли в командном бою. Победа за Здесь ники игроков которые участвовали в бое..."

это ссобщение должно вставится в gamelog , в gamelog есть id игроков и mess сообщения... и это сообщение должно вставиться в нескольких экземплярах... только с разными id ... т.е. с теми id которые участвовали в бое..=)

устал уже писать=)) целыми днями пишу=))

   
 
 автор: Евгений Петров   (19.03.2006 в 01:02)   письмо автору
 
   для: FBI   (19.03.2006 в 00:59)
 

Вы мой код пробовали запускать? Что выводит?

   
 
 автор: FBI   (19.03.2006 в 01:10)   письмо автору
 
   для: Евгений Петров   (19.03.2006 в 01:02)
 


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/s/smska.hut1.ru/WWW/gw.php on line 7530




7529 - $query = mysql_query("SELECT * FROM gameuser,gwboius WHERE gameuser.id = gwboius.id");
7530 - while($fetch = mysql_fetch_array($query)){
7531 - $users[] = $fetch['userx'];

   
 
 автор: Евгений Петров   (19.03.2006 в 01:12)   письмо автору
 
   для: FBI   (19.03.2006 в 01:10)
 

Нет вы не поняли создайте отдельный скрипт и в нем запустите то что я написал. (только не забудьте к mysql подключится) Вы мой запрос уже изменили, а ещё не известно в каком месте вы вставили этот кусок.

   
 
 автор: FBI   (19.03.2006 в 01:19)   письмо автору
 
   для: Евгений Петров   (19.03.2006 в 01:12)
 

Нет ... Все равно ничего не работает ... =)

   
 
 автор: Евгений Петров   (19.03.2006 в 01:27)   письмо автору
 
   для: FBI   (19.03.2006 в 01:19)
 

Че пишет?

   
 
 автор: FBI   (19.03.2006 в 01:31)   письмо автору
 
   для: Евгений Петров   (19.03.2006 в 01:27)
 

Тоже самое, что и писало =)


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/ska.ru/WWW/gw.php on line 3
 

2 - $query = mysql_query("SELECT * FROM gameuser,gwboius WHERE gameuser.id = gwboius.id"); 
3 - while($fetch = mysql_fetch_array($query)){ 
4 - $users[] = $fetch['userx']; 

   
 
 автор: Евгений Петров   (19.03.2006 в 01:39)   письмо автору
 
   для: FBI   (19.03.2006 в 01:31)
 

Только звездочку замените на
gameuser.userx
и перед 3 трокой вставьте
echo mysql_error();

   
 
 автор: FBI   (19.03.2006 в 02:05)   письмо автору
 
   для: Евгений Петров   (19.03.2006 в 01:39)
 


Unknown column 'gwboius.id' in 'where clause'
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/ska.hut1.ru/WWW/1.php on line 15

Warning: implode(): Bad arguments. in /home/ska.hut1.ru/WWW/1.php on line 18
Вы проиграли в командном бою. Победа за 


12 - unset($users);
13 - $query = mysql_query("SELECT gameuser.userx FROM gameuser,gwboius WHERE gameuser.id = gwboius.id");
14 - echo mysql_error();
15 - while($fetch = mysql_fetch_array($query))
16 - $users[] = $fetch['userx'];

  echo "Вы проиграли в командном бою. Победа за ".implode(",",$users);

   
 
 автор: cheops   (19.03.2006 в 12:50)   письмо автору
 
   для: FBI   (19.03.2006 в 02:05)
 

А в таблице gwboius есть поле id?

   
 
 автор: FBI   (19.03.2006 в 13:21)   письмо автору
 
   для: cheops   (19.03.2006 в 12:50)
 

нету=) там есть idgwuserz =)

   
 
 автор: Евгений Петров   (19.03.2006 в 16:54)   письмо автору
 
   для: FBI   (19.03.2006 в 13:21)
 

Поэтому я Вас структуру таблиц и спрашивал
Замените запрос на
SELECT gameuser.userx FROM gameuser,gwboius WHERE gameuser.id = gwboius.idgwuserz

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования