Nacteni souboru,vytvoreni Tabulky v DB,zapis do DB – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Nacteni souboru,vytvoreni Tabulky v DB,zapis do DB – MySQL – Fórum – Programujte.comNacteni souboru,vytvoreni Tabulky v DB,zapis do DB – MySQL – Fórum – Programujte.com

 

lubík
~ Anonymní uživatel
16 příspěvků
18. 11. 2012   #1
-
0
-

Dobrý den řeším problém se zápise do DB zapíše se jen část souboru 3 řádky z 20. soubor je  spoluzaci.csv(office soubor-tabulky) který chci samozřejmě zapsat celý a nahrát ho do DB scriptem a ne pomoci phpadmina který na to má podporu, na tomto souboru si svůj script zkouším, později chci do DB nahrát přes 11 000 řádků (složení řádku je asi- čísla,znaky+čísla,znaky,čísla,znaky+čísla,komentáře- cca 60znaků na řádku) pokud zkouším otevřít soubor a procházet ho po řádku a očišťovat řádek od přebytečných znaků tak se mi to celkem daří ale když přidám i zápis řádku do DB tak už se nic neděje ostatní funguje ale zápis do DB se nezdaří prosím o radu . V bodech naznačuji co bych od scriptu chtěl a přikládám i kód předem děkuji

1)připojení kDB

2)vybrat DB (název DB přijde z formuláře)

3)vytvořit tabulku (nazev tabulky přijde z formuláře)

4)otevrit originalni soubor ze kterého načtu a zapíšu do DB(nazev souboru přijde z formuláře)

5)vytvořit kopii originálnáho souboru

6)otevřu originál a procházím po řádku,(začíná cyklus)

7)řádek očišťuji od přebytečných znaků(cyklus pokračuje)

8)ocištěný řádek chci vložit do tabulky v DB(cyklus pokračuje)- zde je problém z 20 řádků mi zapíše jeden a jen

částečně, také se zapíšou dva řádky které jsou prázdné-

9)ještě chci očištěný řádek  zapsat do záložního souboru(cyklus končí)

10)nakonec zobrazím záložní soubor a konec scriptu

<?php
//formular
 $stranka= $_POST['idsite'];
 $user= $_POST['iduser'];
 $nazev_db= $_POST['nazev_db'];
 $nazev_table= $_POST['nazev_table'] ;
 $nazev_sesitu= $_POST['nazev_sesitu'];
          //pripojeni k serveru
  
$link = mysql_connect('lokalhost', 'toor', 'pwdhes');
if (!$link) {
    die('spojeni se nenavazalo: ' . mysql_error());
}

            //vybrat DB
 $db_selected = mysql_select_db($nazev_db, $link);
if (!$db_selected) {
    die ('databáze nebyla nalezena <br /> ' . mysql_error());
} 
             // VYTVORENI TABULKY 

 $sql = "CREATE TABLE lucik
 (
  $nazev_table TEXT NOT NULL 
 )";
if( mysql_query($sql, $link)) {
    echo "vytvoření tabulky se zdařilo <br />"; 
} else {
    echo 'chyba vytvoreni tabulky'.mysql_error(). "\n" ;
    }
      
            // VLOZENI HODNOT DO SLOUPCU V TABULCE 
   $sesit_zaloha= "zaloha".$nazev_sesitu;  //nazev zalozniho souboru
   $vytvor_zalohu= fopen ($sesit_zaloha,"w+");//vytvoreni zaloz. souboru
     if (file_exists($sesit_zaloha))
       {
        fclose($vytvor_zalohu);//prozatim zavrit     
       }
      else
       {
      echo " vytvoreni zalozni kopie souboru se nezdarilo ";
           exit;
       }
          //pokud existuje originalni soubor tak ho prochazet po radcich
  if (file_exists($nazev_sesitu)) {
          
     $soubor=fopen($nazev_sesitu, "r"); //otevrit original
    $vytvor_zalohu= fopen ($sesit_zaloha,"w");//otevrit kopii
             //pokud jsou otevreny soubory
    if($soubor && $vytvor_zalohu){
      while (!feof($soubor)){   //dokud neni konec souboru
       $radek = fgets($soubor,10000);  //radek souboru                      
       $radek= str_replace(";"," ",$radek);//ocistit  radek
       $radek= str_replace("\"","",$radek); //ocistit radek
       trim($radek);          //ocistit
       $zapis_celek=$radek;  //odradkovat
               //vlozit do tabulky a sloupce                            
                   
mysql_query("INSERT INTO `lucik` ('$nazev_table') VALUES ('$zapis_celek')") 
                or die (mysql_error());
                    
        //zapsat ocistene do zalohy
        $zapis_do_zalohy = fwrite($vytvor_zalohu,$zapis_celek);
         } //konec while
                    
   }//konec vnoreny if
                
   else {
    print("Soubor ".$nazev_sesitu." se nepodařilo otevřít pro čtení.");
               exit;
  } //konec else (vnoreny if )
} //konec if
else {
      print("Soubor ".$nazev_sesitu." neexistuje.");
      exit;
} //konec else
           
readfile($sesit_zaloha) ;  //zobrazit ocistenou zalohu
fclose($vytvor_zalohu);
fclose($soubor);
?>
Nahlásit jako SPAM
IP: 89.103.94.–
lubík
~ Anonymní uživatel
16 příspěvků
18. 11. 2012   #2
-
0
-

vyřešeno, určoval jsem název tabulky do který se má zapsat, pomocí proměnný ale nefungovalo to, až když jsem ten název zapsal ručně tak se to rozjelo
 

Nahlásit jako SPAM
IP: 89.103.94.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 2 hosté

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý