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

Форум MySQL

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

 

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

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

тема: Несколько запросов в одном.
 
 автор: Binura   (08.09.2007 в 13:20)   письмо автору
 
 

I. Как сделать ТАКОЕ?
1. Записываем в таблицу1 запись, например, $msg в поле msg
2. Получаем id (первычный ключ) от сообщения, которое только что записали в табл1.
3. Записываем в таблицу2 этот ID, в поле id_msg

II. как сделать вывод из таблиц?
все наоброт
1. Получаем из таблице2 id_msg
2. Получаем из таблицы1 сообщение, where id=id_msg (id_msg - мы получили из 2ой таблицы)


III. Что лучше использовать при обновлении update или insert? говорят update медленный.

IV. Стоит ли использовать DELAYED. какие + дает?
и вообще для чего он?

мне для чата....

   
 
 автор: Trianon   (08.09.2007 в 15:48)   письмо автору
 
   для: Binura   (08.09.2007 в 13:20)
 

<?php
$userfrom 
$_SESSION['id_user'];
$userto intval($_POST['id_to']);
$msg "'".mysql_escape_string($_POST['msg'])."'";
$sql "INSERT INTO $table_messages (userfrom, postdatetime, msg)
        VALUES (
$userfrom, NOW(), $e_msg)";
$res mysql_query($sql);
$id mysql_insert_id();

$sql "INSERT INTO $table_events (id_msg, userfrom, userto)
        VALUES (
$id$userfrom$userto)";
$res mysql_query($sql);
$id mysql_insert_id();


Вы чат делаете?
Интересно :)

   
 
 автор: Trianon   (08.09.2007 в 15:54)   письмо автору
 
   для: Binura   (08.09.2007 в 13:20)
 


"SELECT 
    te.id, te.userfrom, te.userto, 
    tm.id, tm.msg, tm.postdatetime
  FROM $table_event AS te
    LEFT JOIN $table_message AS tm ON te.id_msg = tm.id
 WHERE te.id > $last_event"

   
 
 автор: Trianon   (08.09.2007 в 15:56)   письмо автору
 
   для: Binura   (08.09.2007 в 13:20)
 

Для добавления строк используйте Insert
Для изменения - update.
И не думайте об оптимизации раньше, чем она потребуется....
Пишите естественно.

   
 
 автор: Binura   (08.09.2007 в 21:18)   письмо автору
 
   для: Trianon   (08.09.2007 в 15:56)
 

ооо, спасибо. =)

а можно записывать одним запросом? вот как Вы используете в SELECT...

что означает te. tm. ? table_event, table_message....
никак не пойму, как использовать такие запросы ...

   
 
 автор: Trianon   (08.09.2007 в 22:03)   письмо автору
 
   для: Binura   (08.09.2007 в 21:18)
 

как у Вас таблицы называются, Вы же не написали... я и поставил переменные.
Это полезно кстати. Проще добавлять несколько проектов к одной базе.
$table_message = 'chat_massages';
$table_event = 'chat_events';

   
 
 автор: Binura   (09.09.2007 в 09:13)   письмо автору
 
   для: Trianon   (08.09.2007 в 22:03)
 

эхх. видать надо еще покупать руководство по mysql5/
Все равно большое спасибо... =)

тему можно закрыть...

   
Rambler's Top100
вверх

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