Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapisywanie do bazy wyniku z pliku csv
Spyder
post
Post #1





Grupa: Zarejestrowani
Postów: 269
Pomógł: 7
Dołączył: 12.10.2006
Skąd: Newcastle Upon Tyne

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $row = 0;
  3. $handle = fopen("invoice.csv", "r");
  4. while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
  5.  
  6. $row++;
  7. $num = count($data);
  8. for ($x=0; $x < $num; $x++) {
  9.  
  10. }
  11.  
  12.  
  13.  
  14.  
  15.  
  16. $update = mysql_query ("INSERT INTO items VALUES ( 
  17.  'ddd', 
  18. '".$data[0]."', 
  19. '".$data[1]."', 
  20. '".$data[2]."', 
  21. '".$data[3]."', 
  22. '".$data[4]."', 
  23. '".$data[5]."', 
  24. '".$data[6]."')
  25.  ")or DIE(mysql_error());
  26.  
  27.  
  28. }
  29. ?>


Witam ta funkcja pobiera mi dane z pliku csv i wpisuje do bazy tylko wpisuje wszystko co jest w csv jak to przerobic aby wpisala mi raz ostatnia linie (rzad ) z pliku csv. Z gory dzieki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Spyder
post
Post #2





Grupa: Zarejestrowani
Postów: 269
Pomógł: 7
Dołączył: 12.10.2006
Skąd: Newcastle Upon Tyne

Ostrzeżenie: (0%)
-----


Tak tylko w moim przypadku data[0] - data[6] to kolumny czyli plik csv wyglada tak id imie nazwisko data... i te kolumny sa brane wpisywane do bazy kazdy wiersz to 6 imputow.T co napisales wiswietli mi pierwsza dana ostatniego wiersza tak ?
  1. <?php
  2. $data = array();
  3. $x = 0;
  4. if ($file = fopen("invoices.csv")) {
  5. foreach($file as $l) {
  6. $record = explode("\t", $l);
  7. $data[$x]["id"] = time() + $x;
  8. $data[$x]["clientid"] = trim($record[0]);
  9. $data[$x]["clientname"] = htmlspecialchars(trim(str_replace('"','',$record[1])), ENT_QUOTES);
  10. $data[$x]["invoiceid"] = trim($record[2]);
  11. $data[$x]["invoicedate"] = substr(trim($record[3]), 0, strpos(trim($record[3]), " "));
  12. $data[$x]["nettotal"] = trim($record[4]);
  13. $data[$x]["taxtotal"] = trim($record[5]);
  14. $data[$x++]["grosstotal"] = trim($record[6]);
  15. }
  16. }
  17. $message = "";
  18. foreach($data as $d) {
  19. if ($d["clientid"] != "" && $d["invoiceid"] != "") {
  20. mysql_query("delete from items where customer_id = '" . $d["clientid"] . "' and invoice_id = '" . $d["invoiceid"] . "'");
  21. mysql_query("insert into items (id, customer_id, customer_name, invoice_id, invoice_date, net, tax, price) values (" . $d["id"] . ", '" . $d["clientid"] . "', '" . $d["clientname"] . "', '" . $d["invoiceid"] . "', '" . $d["invoicedate"] . "', " . $d["nettotal"] . ", " . $d["taxtotal"] . ", " . $d["grosstotal"] . ")") or die(mysql_error() . "<br/>insert into items (id, customer_id, customer_name, invoice_id, invoice_date, net, tax, price) values (" . time() . ", '" . $d["clientid"] . "', '" . $d["clientname"] . "', '" . $d["invoiceid"] . "', '" . $d["invoicedate"] . "', " . $d["nettotal"] . ", " . $d["taxtotal"] . ", " . $d["grosstotal"] . ")");
  22. $message .= "Client ID: " . $d["clientid"] . "\nInvoice ID: " . $d["invoiceid"] . "\n\n";
  23. }
  24. }
  25. ?>
Tylko cos mi nie chce mi wpisac do bazy....

Ten post edytował Spyder 15.08.2007, 12:07:53
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 05:05