ja dolacze sie do pytania (poszerze je troche:)
jak dobrze przygotowac kopie bazy zeby pozniej w latwy i bezpieczny sposob mozna bylo z niej odzyskac dane (bo po to jest kopia zapasowa).
jak parsowac taka kopie?
# ----------------------------------------------------;
CREATE TABLE `branza` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cluster` int(11) DEFAULT '0',
`name` varchar(50) NOT NULL DEFAULT '0',
`level` int(10) UNSIGNED NOT NULL DEFAULT '0',
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=72 DEFAULT CHARSET=utf8;
INSERT INTO `branza` VALUES
('47', '47', 'BIURO', '0'),
('48', '47', 'BHP - artykuły, sprzęt', '1'),
('50', '47', 'Biurowe artykuły', '1'),
('51', '47', 'Komputery - sprzedaż', '1'),
('52', '47', 'Komputery - części, akcesoria', '1'),
('53', '47', 'Komputery - serwis, usługi', '1'),
('54', '47', 'Komputery - oprogramowanie', '1'),
('55', '47', 'Multimedialne systemy, technologie', '1'),
('56', '47', 'Kserokopiarki - serwis, materiały eksploatacyjne', '1'),
('57', '47', 'Kursy, szkolenia', '1'),
('58', '47', 'Meble - biurowe', '1'),
('60', '47', 'Papiernicze artykuły - detal', '1'),
('61', '47', 'Sklepy - wyposażenie', '1'),
('62', '47', 'Stemple, datowniki, pieczątki', '1'),
('63', '63', 'BUDOWNICTWO', '0'),
('64', '64', 'DOM i OGRÓD', '0'),
('65', '65', 'FINANSE i UBEZPIECZENIA', '0'),
('67', '67', 'INSTYTUCJE i URZĘDY', '0'),
('68', '68', 'MOTORYZACJA i TAXI', '0');
INSERT INTO `branza` VALUES
('69', '69', 'NAUKA', '0'),
('70', '70', 'ODZIEŻ i TEKSTYLiA', '0'),
('71', '71', 'PRZEMYSŁ i ENERGETYKA', '0');
# ----------------------------------------------------;
CREATE TABLE `dzial` (
`dzial_id` int(11) NOT NULL AUTO_INCREMENT,
`dzial_nazwa` varchar(32) NOT NULL,
PRIMARY KEY (`dzial_id`),
KEY `dzial_id` (`dzial_id`)
) ENGINE=MyISAM AUTO_INCREMENT=62 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
zrobilem
<?php
?>
kazdy element tablicy powinien byc zapytaniem, ale gdy w tresci jest srednik to sie sypie. przygladalem sie parserowi sql ktory jest w phpmyadmin - kobyla straszna, naprawde jest to wszystko konieczne?
co do pytania autora to tworzenie kopii tabel jest stosunkowo proste
<?php
function arch_tabela1($tabela){
$nl = $this->define_crlf();
$wynik = '';
/*$wynik .= '#;'.$nl;
$wynik .= '# Struktura tabeli `'.$tabela.'`;'.$nl;
$wynik .= '#;'.$nl.$nl;*/
$dane1 = $this->sql->getone_assoc('SHOW CREATE TABLE '.$tabela);
$wynik .= $dane1['Create Table'].';';
$wynik .= $nl.$nl;
/*$wynik .= '#;'.$nl;
$wynik .= '# Dane tabeli `'.$tabela.'`;'.$nl;
$wynik .= '#;'.$nl.$nl;*/
$zap2 = $this->sql->query('SELECT * FROM '.$tabela);
$wiersz = '';
$i=0;
while($dane2 = $this->sql->fetch_assoc($zap2)){
$i++;
if($i>1
&& $i%20
== 0
) $wiersz = substr($wiersz,0,-4).';'.$nl; if($i==1 || $i%20 == 0) $wiersz .= 'INSERT INTO `'.$tabela.'` VALUES '.$nl;
$wiersz .='(';
foreach($dane2 as $klucz=>$war) $wiersz .= '''.$war.'', ';
$wiersz = substr($wiersz, 0
, -2
); $wiersz .='), '.$nl;
}
if($i>0){
$wynik .= ';'.$nl.$nl;
}
$wynik .= '# ----------------------------------------------------;'.$nl.$nl;
return $wynik;
}#koniec arch_tabela
?>
tylko tak jak pisalem, nie wiem czy to jest dobre do pozniejszego importu.