Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Php de Excel den bilgileri Mysql atmak
#1
abim excelde bulunan bilgileri mysql atmak için nasıl bir yol izlemeliyiz....

şöyle mesela bizde optik okuyucu var... onda okuttugumuz bilgileri.. internete koyup.. (mesela deneme sonuçlarını) öğrencilerin öğrenmelerini istiyorumm... bunun için ne yapmam lazım...

asıl istediğim optik okuyucudan mysql'e atmak.. ama o iş biraz zor gibi geldiğinden. .

excel den bilgileri mysqle nasıl atcaz.... benim aklımda olan...

bir tane gözat olcak... ordan excel dosyasını gözattan alcaz... alınca excelin sutunları ve satırları çıkcak... ordan her sutunu birtane mysql alanına eşliycez ve kaydedecek.. bilgigileri bu nasıl olcak.. bunu bir nebze phpmyadminde yapabiliyorz.. ama bu biraz profosyonel iş oldugu iöçin sıradan biri yapamaz Smile bana kullanışlı bir php lazım...

önemli bir bilgi benim için yardım ederseniz..
Ara
Cevapla
#2
optik okuyucudan direk mysqle atamazsın, onun icin, optik okuyucunun kendu okuma programını kullanarak, önce excel ya da csv formatına döndürmen lazım..
excel sart degil, ama csv lazım..
excel de olsa zaten, önce csv formatında kaydetmen gerekiyor,

csv yaptıktan sonra iki yöntem var,
1- phpmyadminden (versiyon 2.8 ve sonrası) import etmek, bu kolay direk ordan yeri var...
bunu yapmak icin, csv dosyasini, senin bilgilerine gore, alan isimlerini yazmak lazım, ad, soyad gibi,,


2- csv den import edecek programi, php ile kendin yazmak,
bu da asırı zor sayılmaz ama kolay da degil, soyleki,
programin, once dosyadan satir satir okuyacak, bu kolu, file() fonksiyonu ile okuyabilirsin, sonra her satirini, implode/ explode komutlari ile alanlarina ayiracaksin,
sonra da bu alanlari, mysqle kaydedeceksin... yaparsin sanirim...
Ara
Cevapla
#3
evet abi ben programını yazdım... ama bi sorun var...

yatıgım su..
gözat yapıyorum... excelde csv olarak kaydedilmiş dosyayı alıyorumm... gönderdiğince exceli aynen texbox kutularına atıyor.. bunda sonrası ise databaseye kaydettmek..ama bir döngü kuramadım... name= kısmına nasıl bir değişken kurmam lazım.. kodlar şöle
Kod:
<?php
ini_set('error_reporting', E_ALL^E_NOTICE);
$dosya=$_GET["dosya"];
$baglan=fopen($dosya,'r');
if (! $baglan) { echo "olmadı"; exit();}else {echo"oldiii<br>";}
echo'<form action="deneme.php" method="GET" enctype="text/plain">';
$i=0;
$k=3;
echo"<table>";
while (!feof($baglan)){
$satir=fgetcsv($baglan,filesize($dosya),";");

echo '<td><input type="text" maxlength="5"  name=    size=3 value="'.$satir[0].'"  align="center"></td>';
echo '<td><input type="text" maxlength="5"  name=    size=18 value="'.$satir[1].'"  align="center"></td>';
echo '<td><input type="text" maxlength="5"  name=    size=15 value="'.$satir[2].'"  align="center"></td>';
while (isset($satir[$k])){
echo '<td><input type="text" maxlength="5" size=3 name=  value="'.$satir[$k].'" align="center"></td>';
$k++;
}
$k=3;
echo"</tr>";
$i++;
}
echo'<input type="submit" value="gönder">';
echo"</table>";
echo"</form>";
?>


abi bu kod.. exceldeki tüm verileri textboxlara atıyor.. bunları döngü içersinde atmamız lazım...

name= ?? oraya ne yazmamlazım
Ara
Cevapla
#4
abi ben exceldeki dosyaları mysqle atan bir program yaptım.. bende localhosta çalışıyor.. ama internet alanında çalışmıyo... neden acaba

kod

Kod:
ini_set('error_reporting', E_ALL^E_NOTICE);
$dosya=$_GET["dosya"];
$baglan=fopen($dosya,'r');
if (! $baglan) { echo "olmadı"; exit();}else {echo"oldiii<br>";}
echo'<form action="ercansonuc.php" method="GET" enctype="text/plain">';
$i=0;
$k=0;
echo"<table>";
while (!feof($baglan)){
$satir=fgetcsv($baglan,filesize($dosya),";");

while (isset($satir[$k])){
echo '<td><input type="text" name="'.$k.$i.'"  value="'.$satir[$k].'" ></td>';
$k++;
}
$k=0;
echo"</tr>";
$i++;
}
echo'<input type="submit" value="gönder">';
echo"</table>";
echo"</form>";

hata


Kod:
Warning: fopen(): Unable to access C:\\Documents and Settings\\KITMIR\\Desktop\\Kitap1.csv in /home/ercanyektas/public_html/ercanekle.php on line 4

Warning: fopen(C:\\Documents and Settings\\KITMIR\\Desktop\\Kitap1.csv): failed to open stream: No such file or directory in /home/ercanyektas/public_html/ercanekle.php on line 4
Ara
Cevapla
#5
internette, yazdığın program ordaki makinede calısıyor. orda da c:\ diye biyer yok... ondan dosyayı alamıyor...
orda calısması icin, dosyayı upload eden kod yazman lazım. dosyayı senin bilgisayardan almalı, internette kendine yazmalı...
dosya upload konularına bak..

bir de, sen, dosyayı okuduktan sonra, niye textbox icine yazıyorsun, yani niye forma yazıyorsun ?
direk dbye eklesene...


Kod:
<?php
ini_set('error_reporting', E_ALL^E_NOTICE);
$dosya=$_GET["dosya"];
$baglan=fopen($dosya,'r');
if (! $baglan) { echo "olmadı"; exit();}else {echo"oldiii<br>";}
echo'<form action="deneme.php" method="GET" enctype="text/plain">';
$i=0;

while (!feof($baglan)){
$satir=fgetcsv($baglan,filesize($dosya),";");

while (isset($satir[$k])){
   // buraya sadece, satırı alanlarına ayrıstırıp dbye ekleyen kod yazılcak... böylece, programı cagırınca, tek seferde ekler dbye... öbür türlü.. her seferinde form cıkar, sen eklersin elle...
$k++;
}

$i++;
}
echo'<input type="submit" value="gönder">';
echo"</table>";
echo"</form>";
?>
Ara
Cevapla
#6
diretk yazdırmamamın nedeni ön izleme olması bakımından... csv den alan bilgileri... textboxlara atıyorum.. orda önizleme bakıyo eğer yanlış bir kısım varsa düzenlemesi için... textboxta olunca kendi düzenler... orda sonununda kayit var.. kayit der sonuc biter... dosya upload bakamda.. normalde benim local hosta çalışıyor.. orda c ver... internete attıgımda... sonuçta benim c den atıyor değil mi?
Ara
Cevapla
#7
internete attığında, sen php dosyanı atıyorsun, excel dosyasını atmıyorsun,

orda calıstığında, orda da c de arıyor ama bulamıyor, orda sunucuda c yokki...

bunu dosya upload ile cözebilirsin...

kendi bilgisayarında da olsa, upload ederek kod yazarsan sorun kalmaz...
Ara
Cevapla
#8
Aksam deneyem olmazsa başınızı yerim artık Smile
Ara
Cevapla
#9
csv yi mysql e atıyorum. türkçe karakter problemi var.

php kodlamam uft8
veri tabanı utf8
eğer csv yi uft8 yaparsam sıkıntı olumuyor.

. ama excelde bir dosyayı csv kaydet diyince. atmıyor. o csv yi sağ tık yapıp utf8 e çevir diyip. ondan sonra import etmek gerekiyor. buda basit kullanıcılar için zor bişi. yani adam excelden csv yapacak at. diyecek iş bitetcek.

php de bir dosyayı utf8 yapmak gibi bir kod varmı yardım ederseniz sevinirim
Ara
Cevapla
#10
"php de bir dosyayı utf8 yapmak gibi bir kod varmı yardım ederseniz sevinirim"
Böyle bir kod var mı bilmilyorum,

Ama, excel csv yi csv olarak kaydedince, zaten utf8 olmalı. zaten text olarak kaydeder.
sen de bu dosyayı direk okuyabilmen lazım php ile.
denemeler yapmak lazım
Ara
Cevapla


Hızlı Menü:


Şu anda bu konuyu okuyanlar: 1 Ziyaretçi


10tl.net Destek Forumu -

Online Shopping App
Online Shopping - E-Commerce Platform
Online Shopping - E-Commerce Platform
Feinunze Schmuck Jewelery Online Shopping