İçindekiler
Bazı web projeleri, ürün, satış, kullanıcı ve haber listeleri gibi büyük veri listelerinin yönetilmesini gerektirir.Birçok kişi bu verileri bir e-tabloda çevrimdışına almayı daha kolay buluyor.
Bu öğreticinin amacı, programdan bağımsız olarak, Excel veya Libreoffice veya kullanıcıya sunulan başka bir seçenek olsun, içe aktarmayı gerçekleştirebilmektir.
Bir MySQL veritabanı oluşturduktan sonra, onu bilgilerle doldurmanız gerekir. Veritabanı verileri genellikle virgülle sınırlı bir dosyada veya CSV'de bulunur ve MySQL veritabanına aktarılması gerekir. Bu, PHP'nin bir CSV dosyasından içe aktarmayı ve bir MySQL veritabanına aktarmayı kolaylaştıran yerleşik işlevlerini kullanan çok basit bir iştir.
Bu durumda bir servis ve bilgisayar parçaları fiyat listemiz var.
[renk = # 0000cd] `fiyatlar` YOKSA TABLO OLUŞTURUN ([/ color]
[renk = # 0000cd] `id` int (10) NULL DEĞİL AUTO_INCREMENT, [/ color]
[renk = # 0000cd] `kavram` varchar (255) DEFAULT NULL, [/ color]
[renk = # 0000cd] "fiyat" ondalık (10,2) VARSAYILAN BOŞ, [/ renk]
[renk = # 0000cd] BİRİNCİL ANAHTAR (`id`) [/ color]
[renk = # 0000cd]) MOTOR = MyISAM VARSAYILAN KARAMETRE = utf8 AUTO_INCREMENT = 1; [/ color]
Şimdi tüm işi yapan php kodu
[renk = # 0000cd] <? // veritabanına bağlanıyoruz [/ color]
[renk = # 0000cd] $ connect = mysql_connect ('localhost', 'kullanıcı', 'şifre'); [/ color]
[color = # 0000cd] if (! $ connect) {[/ color]
[color = # 0000cd] die ('MySQL'e bağlanılamıyor:'. mysql_error ()); [/ color]
[renk = # 0000cd]} [/ renk]
[renk = # 0000cd] $ connectdb = mysql_select_db ('Hizmetler', $bağlan); [/ color]
[color = # 0000cd] // Formdan gelen csv dosyasını yüklüyoruz [/ color]
[renk = # 0000cd] move_uploaded_file ($ _ FILES ["file"] ["tmp_name"], $ upload_dir. "/". $ FILES ["file"] ["tmp_name"]); [/ color]
[renk = # 0000cd] $ cvs = $ upload_dir. "/". $ _FILES ["dosya"] ["ad"]; [/ renk]
[color = # 0000cd] // satır 0'dan başlayan dosyadaki satır sayısını sayacaktır [/ color]
[renk = # 0000cd] $ satır = 0; [/ renk]
[renk = # 0000cd] $ fp = fopen ($ cvs. "", "r"); [/ color]
[color = # 0000cd] while (! feof ($ fp)) {// Dosyayı satır satır okudum [/ color]
[renk = # 0000cd] $ satır ++; [/ renk]
[color = # 0000cd] // Başlıkları olduğu için ilk satırı atlıyorum ve onları veritabanına eklemekle ilgilenmiyorum [/ color]
[renk = # 0000cd] if ($ satır> 1) {[/ renk]
[color = # 0000cd] // Okuduğum satırı patlatarak ayırıyorum ve ayrıldığını belirtiyorum; [/ color]
[renk = # 0000cd] $ data = patlat (";", fgets ($ fp)); [/ color]
[renk = # 0000cd] $ kimlik = $ veri [0]; [/ renk]
[renk = # 0000cd] $ kavram = $ veri [1]; [/ renk]
[renk = # 0000cd] $ fiyat = $ veri [2]; [/ renk]
[color = # 0000cd] $ sorgu = "Fiyatlara GİRİN (id, konsept, fiyat) DEĞERLER ($ data [0], '$ data [1]', '$ data [2]')"; [/ color]
[renk = # 0000cd] mysql_query ($ sorgu, $ bağlantı); [/ renk]
[renk = # 0000cd] // while döngüsünün sonu [/ renk]
[renk = # 0000cd]} [/ renk]
[renk = # 0000cd]} [/ renk]
[color = # 0000cd] // dosyayı kapat [/ color]
[renk = # 0000cd] fclose ($ csv); [/ renk]
[color = # 0000cd] echo "İçe aktarma tamamlandı!!"; [/ color]
[renk = # 0000cd] mysql_close ($ connect); [/ color]
[renk = # 0000cd]?> [/ renk]
Ayrıca bu betiği kullanabilir ve daha esnek hale getirerek kullanıcının dosyayı html biçiminde kaydetmesini sağlayabilirsiniz.
[renk = # 0000cd] [/ renk]
[renk = # 0000cd] [/ renk]
[renk = # 0000cd] [/ renk]
ve böylece CSV dosyalarını yükleyebilir ve bu CSV dosyasındaki verileri herhangi bir mysql veritabanına veya hatta tek bir dosyadan birkaçına aktarabilirsiniz. Bu script ile yapılabilecek ve istenilen şekilde kullanabileceğiniz bir çok ayar bulunmaktadır.