Mam następującą tabelę zawierającą jeden wiersz:
CREATE TABLE IF NOT EXISTS `tbl_config_porz` ( `id` tinyint(3) UNSIGNED NOT NULL AUTO_INCREMENT, `config_tyt_nip` varchar(20) CHARACTER SET utf8 NOT NULL, `config_tyt_akt_normatywny` text COLLATE utf8_polish_ci NOT NULL, `config_tyt_rodzaj_naleznosci` text COLLATE utf8_polish_ci NOT NULL, `config_tyt_inna_podstawa` text COLLATE utf8_polish_ci NOT NULL, `config_tyt_nazwa_banku` tinytext COLLATE utf8_polish_ci NOT NULL, `config_tyt_nr_rachunku` varchar(30) CHARACTER SET utf8 NOT NULL, `config_tyt_upomnienie_brak` text COLLATE utf8_polish_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=2 ;
Przy użyciu pętli foreach wrzucam do tabeli tymczasowej tbl_config_tmp_porz wszystkie wiersze z tabeli tbl_config_porz:
$res=mysql_query("SELECT * FROM tbl_config_porz") or die($res."<br/>Błąd zapytania typu select: <br/>".mysql_error()); $rd=mysql_query("DELETE FROM tbl_config_tmp_porz") or die($rd."<br/>Błąd zapytania typu delete: <br/>".mysql_error()); foreach ($row as $key => $val) { if ($key!="id") { $ri=mysql_query("INSERT INTO tbl_config_tmp_porz (config_key,config_value,config_descr) values ('".$key."','".$val."','".$row_desc[$key]."');"); } }
W wyniku otrzymuję w tabeli tymczasowej tbl_config_tmp_porz to co chciałem, lecz wiersze są zdublowane:
(421, '1', '999 12 19 997', 'Numer NIP jednostki pobierany do tytułów wykonawczych', ''), (422, 'config_tyt_nip', '999 12 19 997', 'Numer NIP jednostki pobierany do tytułów wykonawczych', ''), (423, '2', 'Art.95-102 ustawy z dnia 28 sierpnia 2001r. - Kodeks postępowania w sprawach o wykroczenia <BR>(Dz.U. z 2008r., Nr 133, poz. 848 z późn. zm.)', 'Akt normatywny pobierany do tytułów wykonawczych', ''), (424, 'config_tyt_akt_normatywny', 'Art.95-102 ustawy z dnia 28 sierpnia 2001r. - Kodeks postępowania w sprawach o wykroczenia <BR>(Dz.U. z 2008r., Nr 133, poz. 848 z późn. zm.)', 'Akt normatywny pobierany do tytułów wykonawczych', ''), (425, '3', 'Grzywna nałożona w drodze mandatu karnego w postępowaniu w sprawach o wykroczenia.', 'Rodzaj należności pobierany do tytułów wykonawczych', ''), (426, 'config_tyt_rodzaj_naleznosci', 'Grzywna nałożona w drodze mandatu karnego w postępowaniu w sprawach o wykroczenia.', 'Rodzaj należności pobierany do tytułów wykonawczych', ''), (427, '4', 'Art.100 ustawy z dnia 28 sierpnia 2001r. - Kodeks postępowania w sprawach o wykroczenia<BR>(Dz.U. z 2008r., Nr 133, poz. 848 z późn. zm.)', 'Inna podstawa pobierana do tytułów wykonawczych', ''), (428, 'config_tyt_inna_podstawa', 'Art.100 ustawy z dnia 28 sierpnia 2001r. - Kodeks postępowania w sprawach o wykroczenia<BR>(Dz.U. z 2008r., Nr 133, poz. 848 z późn. zm.)', 'Inna podstawa pobierana do tytułów wykonawczych', ''), (429, '5', 'Bank Spółdzielczy w XXXXX<BR>filia w Łodzi', 'Nazwa banku pobierana do tytułów wykonawczych', ''), (430, 'config_tyt_nazwa_banku', 'Bank Spółdzielczy w XXXXX<BR>filia w Łodzi', 'Nazwa banku pobierana do tytułów wykonawczych', ''), (431, '6', '99 9999 0002 0090 0772 XXXX 00', 'Nr rachunku bankowego pobierany do tytułów wykonawczych', ''), (432, 'config_tyt_nr_rachunku', '99 9999 0002 0090 0772 XXXX 00', 'Nr rachunku bankowego pobierany do tytułów wykonawczych', ''), (433, '7', '§ 13 pkt 3a, Rozp. MF z dn. 22.11.2001r (Dz.U. z 2001r. nr 137, poz. 1541)', 'Podstawa prawna braku upomnienia pobierana do tytułów wykonawczych', ''), (434, 'config_tyt_upomnienie_brak', '§ 13 pkt 3a, Rozp. MF z dn. 22.11.2001r (Dz.U. z 2001r. nr 137, poz. 1541)', 'Podstawa prawna braku upomnienia pobierana do tytułów wykonawczych', ''),
Jak wykluczyć zbędne elementy tablicy, by uniknąć dublowania wierszy w tabeli wynikowej ?