Zadejte hledaný výraz...

SQL INSERT – Pomoc

RoyalManG
verified
rating uzivatele
(1 hodnocení)
18. 6. 2012 14:49:04
Riešil som tu dneska prerábku štruktúry databázy. Na základe nej mi vznikol nový problém so zápisom.
Mám teda tabuľku: id | event_id | group_id | user_id
pričom id je unikátne číslo každého zo záznamu, teda auto increment
event_id - sa mi vracia ID-čko práve pridaného eventu
group_id - mám z odoslaného formulára
user_id - mám rovnako z odoslaného formulára vo tvare: id,id,id,id - teda príklad s číslami 1,5,15,20
Ku každému priradím nejaké čísla, nech je to lepšie pre pochopenie
id = 1
event_id = 1
group_id = 5
user_id = 1,5,15,20
User_id potrebujem rozbiť na čiarke, aby som dostal samostatné pole čísiel a tieto dáta potom potrebujem nasledovne zapísať do tabuľky:
id | event_id | group_id | user_id
1 | 1 | 5 | 1
2 | 1 | 5 | 5
3 | 1 | 5 | 15
4 | 1 | 5 | 20
18. 6. 2012 14:49:04
https://webtrh.cz/diskuse/sql-insert-pomoc/#reply776475
smrtka
verified
rating uzivatele
(3 hodnocení)
18. 6. 2012 14:54:26
udelat jinou tabulku (ted je user_id varchar, bude to UInt)
v php to bude tak 10 min prace
jednicky v 1. sloupci jiste nebudou
18. 6. 2012 14:54:26
https://webtrh.cz/diskuse/sql-insert-pomoc/#reply776474
RoyalManG
verified
rating uzivatele
(1 hodnocení)
18. 6. 2012 15:01:19
Všetko mám nastavené na int, nie je tam žiadny varchar
18. 6. 2012 15:01:19
https://webtrh.cz/diskuse/sql-insert-pomoc/#reply776473
hm
verified
rating uzivatele
(20 hodnocení)
18. 6. 2012 15:05:12
$user_ids = explode(',',$user_ids);
foreach($user_ids as $user_id){
mysql_query("INSERT INTO tabulka (event_id,group_id,user_id) VALUES ('$event_id','$group_id','$user_id')");
}
18. 6. 2012 15:05:12
https://webtrh.cz/diskuse/sql-insert-pomoc/#reply776472
smrtka
verified
rating uzivatele
(3 hodnocení)
18. 6. 2012 15:08:12
Napsal RoyalManG;809497
Mám teda tabuľku: id | event_id | group_id | user_id
...
user_id - mám rovnako z odoslaného formulára vo tvare: id,id,id,id - teda príklad s číslami 1,5,15,20
...
Všetko mám nastavené na int, nie je tam žiadny varchar
tak to se rad necham poucit,jak jste do toho intu dostal posloupnost '1,5,15,20' ?????
18. 6. 2012 15:08:12
https://webtrh.cz/diskuse/sql-insert-pomoc/#reply776471
duben
verified
rating uzivatele
(49 hodnocení)
18. 6. 2012 15:15:00
Pokud máš vše jako int, tak do jednoho řádku nemůžeš uložit user_id = 1,5,15,20
Ukládat do user_id, více hodnot než jednu, svědčím o špatném návrhu DB, to jak to chceš zapisovat je už správně.
Pokud máš nějak uloženou hodnotu user_id = 1,5,15,20 (což musí být char, varchar, nebo text), tak to budeš buď muset pro jednorázové přelití řešit explode v php, nebo si pro to v MySQL udělat funkci. (návod třeba na http://www.programmingfacts.com/mysql-split-explode-function/)
---------- Příspěvek doplněn 18.06.2012 v 15:15 ----------
Koukám s tím PHP explode už byl rychlejší Aleš :)
18. 6. 2012 15:15:00
https://webtrh.cz/diskuse/sql-insert-pomoc/#reply776470
RoyalManG
verified
rating uzivatele
(1 hodnocení)
18. 6. 2012 15:16:13
smrtka - Áno, v tá premenná je varchar, ale do tabuľky sa budú zapisovať už jednotlivé čísla typu int tým, že ich rozdelím na čiarke!
Aleš Jiříček - vďaka, funguje to super ;-)
18. 6. 2012 15:16:13
https://webtrh.cz/diskuse/sql-insert-pomoc/#reply776469
smrtka
verified
rating uzivatele
(3 hodnocení)
18. 6. 2012 18:08:11
no nebudem se babrat v nepodstatnych vecech...
jesti se chcete vyhnout v budoucnu takovym problemum, navrhuji Vam, aby jste se naucil UML a nejakym free nastrojem si nakreslil, co chcete udelat a to jeste predtim, nez zacnete. Takoveto programovani s navrhem 'on the fly' nepatri ( teda alespon si to myslim uz i o CR trhu ) do te 'klavitni prace', jak jste psal v minulem vlaknu.
18. 6. 2012 18:08:11
https://webtrh.cz/diskuse/sql-insert-pomoc/#reply776468
Pro odpověď se přihlašte.
Přihlásit