Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Csv Import co tu nie działa?
Forum PHP.pl > Forum > Przedszkole
Quarr
Witam wszystkich, wyklawiaturowałem sobie oto taki kod, niby prosty a jednak!
Co tu jest źle, że nie zmienia wartości w MySQL


Kod
if(isset($_POST['sub']))
   {
     $filename=$_POST['plik'];
     $handle = fopen("$filename", "r");

     echo "<table border=\"2px\" width=\"300px\">
    <tr><td width=\"100px\">Nazwa</td><td width=\"100px\">Ilosc</td><td width=\"100px\">Kod towaru</td></tr></table><table>";
    
     while (($data = fgetcsv($handle, 3000, ";", ",", "\\")) !== FALSE)
     {
    $kod = $data[0];
        $ilosc = $data[1];
      $cena = $data[2];

    echo "<table border=\"2px\" width=\"300px\">
    
    <tr><td width=\"100px\">" . $kod . "</td><td width=\"100px\">" . $ilosc ."</td><td width=\"100px\">" . $cena ."</td></tr></table>";

     $zapytanie = "UPDATE ps_product  SET `quantity` = '$ilosc', `price` = '$cena'  WHERE `id_cennik_offline` = '$kod'";
     $wyslij = mysql_query($zapytanie) or die ("Nie załadowano" . mysql_error() );
     if($wyslij) { echo "Zmieniono";} else {echo "Nie zmieniono"; }

     }
     fclose($handle);
}
?>


Z góry dziękuję za odpowiedzi.
ixox
Sprawdzałeś czy w tablicy $data masz poprawne dane?
rocktech.pl
Witam.

Zerknij tu http://dev.mysql.com/doc/refman/5.1/en/load-data.html.

A jak się uprzesz zrobić to w PHP to użyj http://www.php.net/manual/en/splfileobject.fgetcsv.php.
Quarr
Tak dane w data są poprawne jest to csv oddzielany przecinkami
1 kod 2 ilosc 3 cena
ZZZZ123, 345, 45.090

Dzięki za linki.

A teraz może opisze dokładniej.
Skrypt ten ma z pliku csv 10 linijek oddzielonych "," wpisać do bazy danych.

1 Klikasz dodaj plik
dodaje bo go widzi

2 klikasz wstaw
wstawia ponieważ daje komunikat zmieniono

3 wchodząc w bazę nie widać zmian
what a śmoc
ixox
Sprawdź tą funkcją. Zwróci ci ilość zmienionych wierszy.

Zapytanie jest ok. Na pewno istnieje już taki kod w bazie?
Quarr
Oczywiście rekord już w bazie istnieje, może po prostu xamp nawala przeinstaluje go i zobaczę czy coś się zmienia.

Niekiedy mam wrażenie że człowiek się pierwszy raz uczy. Najprostsze rzeczy a zaskakują.
erix
Jeśli chodzi o CSV, to polecałbym zewnętrzne biblioteki. Wbudowana w PHP funkcja czasem lubi zastrajkować.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.