Witam,
mam taki programik ktory zaczytuje z pliku txt gdzie wiersz wyglada:
1234;0
Wrzucam go do talebi w bazie o nazwie temporia.
Potem biore kazdy wpisany rekord do tabli temporia i sprawdzam czy istnieje
tabela o nazwie zlozonej z numeru pobranego w pliku np: 100 i litery t co ma dać
efekt np:: t_100. Jesli tabela istnieje to ma zrobic insert, przekopiowac wiersz
dla tego rekordu z temporii do np.: t_100. A jesli nie istnieje to ma zalozyc tabele
i wtedy do niej dopiero wrzucic odpowiedni rekord.
Nie wyrzuca mi zadnych bledow a tabela nie powstaje. Niestety nie wiem czemu.
Siedze juz ktoras z kolei godzine i brakuje mi pomyslow.
<?
// --------------------Łącze sie z baza-------------------------
$connect = mysql_connect('localhost', 'root', 'root' ) or die( mysql_error() );
$select = mysql_select_db( 'czujnik' ) or die( mysql_error() );
// --------------------Definiuje plik do importu-------------------------
$filename = "import.txt";
if (!file_exists("import.txt")) die ('zla nazwa pliku');
if (!is_writeable("import.txt")) die ('brak praw zapisu');
$fd = @fopen($filename,"r") or die("error");
// --------------------Sprawdzam czy plik do importu istnieje----------------------
if($fd == null) { echo("Blad serwera: nie mozna otworzyc pliku : $filename"); return; }
// ----------Czytam 9 pierwszych znakow aby wiedziec czy byl juz zaczytywany-------
$str = "";
$str = fread($fd, 9);
fclose($fd);
// ----Jezeli nie byl to czyszcze tablice tymczasowa, ładuje plik, ustawiam date na teraz---
if($str <> "Zaczytany")
{
mysql_query ("Delete From Czujnk.temporia");
$wynik = mysql_query( "LOAD DATA INFILE '\\\import.txt' INTO TABLE temporia FIELDS Terminated BY ';' ");
mysql_query( "UPDATE czujnik.temporia SET data_modyfikacji=NOW()");
// --------------------Sprawdzam czy tabela dla danego obiektu istnieje ------------------
$wynik2=mysql_list_tables('czujnik');
for ($i = 0; $i < mysql_num_rows($wynik2); $i++)
{
$czy_istnieje=mysql_tablename($wynik2, $i);
if ($czy_istnieje == 't_".$numer."')
{
$wynik1 = mysql_query("SELECT Numer,Akcja_akt,Data_modyfikacji FROM temporia where numer='".$numer."'");
while ($row = mysql_fetch_array($wynik1))
{
$numer = $row['numer'];
$akcja_akt = $row['Akcja_akt'];
$data = $row['Data_modyfikacji'];
$wynik=mysql_query("INSERT INTO 't_".$numer."' (`id_m`,`Numer`,`Akcja`,`Data_zmiany`) VALUES ('','".$numer."','".$akcja_akt."','".$data."')");
}
}
else
{
$wynik1 = mysql_query("SELECT Numer,Akcja_akt,Data_modyfikacji FROM temporia");
while ($row = mysql_fetch_array($wynik1))
{
$numer = $row['numer'];
$akcja_akt = $row['Akcja_akt'];
$data = $row['Data_modyfikacji'];
$wynik=mysql_query("CREATE TABLE 't_".$numer."'(id_m int(10) not null auto_increment,Numer int(4) not null, Akcja int(1) not null,Data_zmiany datetime,Primary key(id_m)");
$wynik=mysql_query("INSERT INTO 't_".$numer."' (`id_m`,`Numer`,`Akcja`,`Data_zmiany`) VALUES ('','".$numer."','".$akcja_akt."','".$data."')");
$szukanie_tab= "NIE_MA_TABLICY";
print ("$szukanie_tab");
}
}
}
mysql_free_result($wynik2);
mysql_free_result($wynik1);
mysql_free_result($wynik);
$fd = @fopen($filename,"w");
$new_data = "Zaczytany.\r\n";
fwrite($fd,$new_data);
fclose($fd);
}
?>