dzieki za zainteresowanie
wypisałem:
mysql_select_db('sam');
echo mysql_errno() . ": " . mysql_error(). "\n";
mysql_select_db('sam');
mysql_query('SELECT *
FROM stany'); echo mysql_errno() . ": " . mysql_error() . "\n";
i wyświetla 0: baza i tabela jest.
może lepiej jak przeslę cały kod njpierw plik; nazwa: RAP_M_Xl2005_Bluszczańska74_w1.txt treść:
Cytat
05.11.25 00:20/5 RAP. ZA UBIEGLY MIESIAC-'Bluszczanska A' 334
Zuzycie energi od pocz. mies. 000283.5GJ
Przyrost od pocz. miesiaca dla lokalu:
Nr. Woda zimna: Woda ciepla: Woda oligoc.: Cent.o.:
1 0001.079 0000.886 0000.055 0000.875
2 0008.176 0006.997 0001.019 0001.538
3 0003.552 0005.426 0000.000 0001.056
4 0001.764 0002.884 0000.222 0001.873
5 0001.132 0001.071 0000.209 0000.408
6 0001.031 0000.467 0000.033 0000.720
7 0001.416 0000.799 0000.033 0000.002
8 0006.054 0003.224 0000.000 0001.283
9 0001.105 0000.906 0000.000 0001.637
10 0000.645 0000.103 0000.000 0000.415
11 0000.199 0000.136 0000.000 0000.397
12 0003.771 0003.778 0000.975 0000.117
13 0000.000 0003.764 0000.000 0001.484
jest to fragment ponieważ nagłówki są różnej długości to każdy raportujący podzielnik ma swoj adnotację w specjalnej tabeli bazy danych z której pobiera wartości do obięcia. cała strona wygląda tak:
<?
require "txt/conect.txt";
connection();
$table_name = "budynki";
// $plikuzytkownika - miejsce tymczasowej lokalizacji pliku na serwerze WWW
$plikuzytkownika = $HTTP_POST_FILES['plikuzytkownika']['tmp_name'];
// $plikuzytkownika_name - nazwa pliku w systemie użytkownika
$plikuzytkownika_name = $HTTP_POST_FILES['plikuzytkownika']['name'];
// $plikuzytkownika_size - wielkość pliku w bajtach
$plikuzytkownika_size = $HTTP_POST_FILES['plikuzytkownika']['size'];
// $plikuzytkownika_type - typ pliku w systemie MIME,
$plikuzytkownika_type = $HTTP_POST_FILES['plikuzytkownika']['type'];
// $plikuzytkownika_error - kod błędu związanego z wysyłaniem pliku
$plikuzytkownika_error = $HTTP_POST_FILES['plikuzytkownika']['error'];
// plikuzytkownika_error został dodany do php 4.2.0
// ten kod można stosować z nowszymi wersjami
if ($plikuzytkownika_error > 0)
{
echo 'Wystąpił problem: '; switch ($plikuzytkownika_error)
{
case 1
: echo 'Rozmiar pliku przekroczył wartość upload_max_filesize'; break; case 2
: echo 'Rozmiar pliku przekroczył wartość max_file_size'; break; case 3
: echo 'Plik wysłany tylko częściowo'; break; case 4
: echo 'Nie wysłano żadnego pliku'; break; }
}
// umieszczenie pliku w zadanej lokalizacji
$lokalizacja = 'raporty/'.$plikuzytkownika_name;
{
{
echo 'Problem: Plik nie może być skopiowany do katalogu'; }
}
else
{
echo 'Problem: możliwy atak podczas wysyłania pliku. Nazwa pliku: '.$plikuzytkownika_name; }
echo "<h2>Szczególy uploadu raportu</h2>"; $pocieta_nazwa = "$plikuzytkownika_name";
list
($nazwa_pliku, $rozszezenie) = explode(".", $pocieta_nazwa); $data = "$nazwa_pliku";
list
($rap, $m, $miesioc_rok, $rap_budynek, $rap_wezel) = explode("_", $data); $rap_bud = $rap_budynek;
if ($rap_budynek == Bluszczańska74){$rap_budynek = "Bluszczanska74";}
elseif ($rap_budynek == Bluszczańska76){ $rap_budynek = "Bluszczanska76";}
$file = explode("2", $miesioc_rok); $rok = $file[1];
$mies = $file[0];
$rok = "2$rok";
if ($mies == l){ $miesiac = "styczeń";}
elseif ($mies == ll){ $miesiac = "luty";}
elseif ($mies == lll){ $miesiac = "marzec";}
elseif ($mies == lV){ $miesiac = "kwiecień";}
elseif ($mies == V){ $miesiac = "maj";}
elseif ($mies == Vl){ $miesiac = "czerwiec";}
elseif ($mies == Vll){ $miesiac = "lipiec";}
elseif ($mies == Vlll){ $miesiac = "sierpień";}
elseif ($mies == lX){ $miesiac = "wrzesień";}
elseif ($mies == X){ $miesiac = październik;}
elseif ($mies == Xl){ $miesiac = listopad;}
elseif ($mies == Xll){ $miesiac = grudzień;}
$sql = ("SELECT * FROM $table_name WHERE budynek ='$rap_budynek' and wezel ='$rap_wezel'") or
die("Blad w zapytaniu!"); $result = @mysql_query($sql) or
die("brak rezultatów zapytania w bazie danych."); $wiersz_nag=$wiersz['wiersze_naglowka'];
$ilosc_mieszkan=$wiersz['ilosc_mieszkan'];
}
$koniec_pliku = $wiersze_stop + 15;
echo '<table cellpadding="8" border="1"><tr><td >Pełna nazwa pliku raportu</td><td>'."$plikuzytkownika_name".'</td></tr> <tr><td >Ścieżka do pliku tymczasowego</td><td>'."$plikuzytkownika".'</td></tr>
<tr><td>Wielkość pliku raportu</td><td>'."$plikuzytkownika_size".'</td></tr>
<tr><td>Raportowany budynek</td><td>'."$rap_bud".'</td></tr>
<tr><td>Raportowany węzeł </td><td>'."$rap_wezel".'</td></tr>
<tr><td>Miesiąc rok </td><td>'."$miesiac $rok".' rok</td></tr>
<tr><td>Ilość rekordów (mieszkań) </td><td>'."$ilosc_mieszkan".'</td></tr></table>';
?>
<p style="font-size: 14px; font-style: normal; text-align: left;"> Jeżeli plik został poprawnie załadowany na serwer:<br>
<ul><li>Sprawdź czy zgadza się nazwa pliku raportu nad którym obecnie pracujesz,</li>
<li>Sprawdź czy został wykryty prawidłowy wiersz od którego zaczynają się dane li
czbowe, </li>
<li>Sprawdź czy właściwie został wybrany budynek i ewentualnie węzeł którego doty
czy raport</li>
<li>Poniżej wyświetlona została zawartość przesłanego raportu, można sprawdzić je
go treść.</li>
</ul>
</p>
<!--
<form action="index.php?go=aktualbud&sort=
<? echo "$budynek_id"; ?>" method="post" ENCTYPE="multipart/form-data" >
<input type="text" name="plik" value="
<? echo "$plikuzytkownika_name" ?>" size="15">
<input type="submit" value="Wyślij">
</form>
-->
<hr>
<?
$tekst = file($lokalizacja); array_splice($tekst, 0
, $wiersz_nag); //usuwam wiersze na początku array_splice($tekst, $ilosc_mieszkan, $koniec_pliku); //usuwam wiersze na koncu foreach ($tekst as $linia)
{
}
$wp = fopen("$lokalizacja", 'w');
$zapytanie = "LOAD DATA INFILE '". $_SERVER['DOCUMENT_ROOT'] . "/raporty/.$plikuzytkownika_name' INTO TABLE stany FIELDS TERMINATED BY ' ' LINES TERMINATED BY 'rn' (nr, woda_zimna, woda_ciepla, woda_oligoc, co )";
if ($zapytanie) echo "Tabela została wypełniona danymi z pliku<br>"; ?>
Tylko proszę się nie śmiać, że coś robię nie tak nie jestem fachowcem staram się rozwiązać problem, nie jest to żadna praca zlecona, bardziej nadgorliwość oraz próba zmierzenia się z problemem i nauki programowania w php i MySQL-u.
Jak zobaczycie, że coś robię nie tak to proszę o poradę.
Z góry dziękuję.
Pomyślałem jescse że napiszę jak wygląda tabela stany:
-- Struktura tabeli dla `stany`
--
CREATE TABLE `stany` (
`stany_id` int(6) NOT NULL AUTO_INCREMENT,
`budynek` varchar(15) NOT NULL DEFAULT 'Bluszczanska 74',
`wezel` char(3) NOT NULL DEFAULT 'o',
`nr` tinyint(3) NOT NULL DEFAULT '0',
`woda_zimna` float(5,3) NOT NULL DEFAULT '0.000',
`woda_ciepla` float(5,3) NOT NULL DEFAULT '0.000',
`woda_oligoc` float(5,3) NOT NULL DEFAULT '0.000',
`co` float(5,3) NOT NULL DEFAULT '0.000',
`data` varchar(10) NOT NULL DEFAULT '2006',
PRIMARY KEY (`stany_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=0 AUTO_INCREMENT=1 ;