Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 2.424 pregleda

Najnovija ↓

INSERT u bazu podataka. 21.07.2010. u 01:59 · pre 198 meseci #1
Imam bazu podataka koja ima tri tablice, members, pm_recipients , personal_messages.
Sql dump sa postavio ovdje http://pastebin.com/UEy3weUf i kao attacment.

U tablici members nalaze se podaci o članovima.
Trebam unjeti podatke u tablicu pm_recipients , personal_messages .

Malim pogledom u strukturu tablica vidimo da se u tablici "personal_messages" nalaze podaci o privatnim porukama, njihov sadržaj , naslov , od koga je poruka i slično.
U tablici "pm_recipients" nalaze se podaci o tome kome je poruka namjenjena.

Želim da unesem podatke u tablicu "personal_messages", potrebni su samo polja "subject" i "body", polje "id_member" što predstavlja
primarni ključ iz tablice "members" .
Prilikom unosa nije mi poznat taj "id_member" već "member_name". Šo znaći da treba pročitati koji je to id s obzirom na "member_name".

Drugi unos treba da ide u tablicu "pm_recipients". potrebno je unjeti polja "id_pm" što predstavlja primarni ključ "id_pm" iz predhodno unjetog polja u tablicu "personal_messages".

Malo je sve ovo presloženo pa nažalost bojim se da možda netko i neće shvatiti što želim . Nastojat ću dat dodatna objašnjenja ako bude nejasno.



Re: INSERT u bazu podataka. 21.07.2010. u 08:37 · pre 198 meseci #2
Ovo nisam testirao ali bi trebalo da radi. Vidi INSERT...SELECT u dokumentaciji.

Code:

INSERT INTO personal_messages (subject, body, id_member)
SELECT "ovdesubject", "ovdebody", id_member
FROM members
WHERE member_name = "membername"


Nakon što se gornji query izvrši, koristiš mysql_insert_id() ako koristiš PHP, ili ekvivalentnu funkciju u jeziku koji koristiš, i normalno insertuješ u pm_recipients.
Potpis
"Common sense is not so common." - Voltaire
Re: INSERT u bazu podataka. 22.07.2010. u 15:26 · pre 198 meseci #3
Kada mi je SQl upit ovakav , onda radi .

Code:
$sql_pm = "INSERT INTO {$db_prefix}pm_recipients (`id_pm`, `id_member`,`labels`,`bcc`,`is_read`,`is_new`,`deleted`)
VALUES ($last_id, '2'  , '-1','0', '0', '1', '0') " ;


a kada ga malo modificiram onda mi prijavi grešku u sintaksi.


Code:
$member="tirkiz"
$sql_pm = "INSERT INTO {$db_prefix}pm_recipients (`id_pm`, `id_member`,`labels`,`bcc`,`is_read`,`is_new`,`deleted`)
VALUES ($last_id, id_member FROM {$db_prefix}members WHERE member_name = '$member'  , '-1','0', '0', '1', '0') " ;


/* Može li netko pomoći. */
Re: INSERT u bazu podataka. 22.07.2010. u 17:21 · pre 198 meseci #4
Code:

$sql_pm = "INSERT INTO {$db_prefix}pm_recipients (`id_pm`, `id_member`,`labels`,`bcc`,`is_read`,`is_new`,`deleted`)

ovo je ok

Code:

VALUES ($last_id, id_member FROM {$db_prefix}members WHERE member_name = '$member'  , '-1','0', '0', '1', '0') " ;


ovo ne valja .. ne moze VALUES FROM WHERE

mozda si hteo

Code:

SELECT $last_id, id_member , '-1','0', '0', '1', '0' FROM {$db_prefix}members WHERE member_name = '$member' " ;


tako ce da radi

dakle
Code:

$sql_pm = "INSERT INTO {$db_prefix}pm_recipients (`id_pm`, `id_member`,`labels`,`bcc`,`is_read`,`is_new`,`deleted`)
SELECT $last_id, id_member , '-1','0', '0', '1', '0' FROM {$db_prefix}members WHERE member_name = '$member' " ;

Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme