Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Edytor Zapytan
smarcz
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 12.05.2005

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


Witam!

Jak zrobić prosty edytor SQL pod PHP - chciałbym dołączać pliki txt z gotowymi tabelami i importować je do bazy coś jak PHPMyAdmin - problem w tym, że nie bardzo rozumiem dlaczego jak wczytuje plik txt do zapytania mysql_query(tekst pliku) nie budują mi się tabele - ale tylko w przypadku kiedy plik zawiera więcej niż jedną tabele

kod zamieszczony w pliku np:
  1. # Host: localhost
  2. # Database: default
  3. # Table: 'aktywacja'
  4. #
  5. CREATE TABLE `aktywacja` (
  6. `id` mediumint(11) NOT NULL AUTO_INCREMENT,
  7. ... ...
  8. PRIMARY KEY (`id`,`idaktywacji`)
  9. ) TYPE=MyISAM;
  10.  
  11. # Host: localhost
  12. # Database: default
  13. # Table: 'ip_dane'
  14. #
  15. CREATE TABLE `ip_dane` (
  16. `znacznik` int(10) UNSIGNED NOT NULL DEFAULT '0',
  17. ... ...
  18. PRIMARY KEY (`znacznik`)
  19. ) TYPE=MyISAM;


Z góry dzięki za wszelkie podpowiedzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
smarcz
post
Post #2





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 12.05.2005

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


Spieszę z odpowiedzią na postawione przez siebie pytanie. Może się komuś przyda, kto będzie tego poszukiwał.

Człowiek czasem zamiast stosować najprostsze elementy poszukuje skomplikowanych rozwiązań co w moim przypadku zaowocowało prawie dniem straconej pracy - stosując wrażenia regularne do rozwikłania problemu który można wykonać w 10 minut.

Tak więc aby wykonać multi zapytanie mysql_query() w php 4 - np.: z importowanego pliku - ja posłużyłem się wklejonym tekstem sql do zmiennej - taki tekst należy rozdzielić na osobne pojedyńcze zapytania.

Zakładam że wyeksportowany plik sql ma postać:

  1. # Database: test
  2. # Table: 'test_aktywacja'
  3. #
  4. CREATE TABLE `test_aktywacja`
  5. ( ... ) TYPE=MyISAM;
  6.  
  7.  
  8. # Database: test1
  9. # Table: 'test_aktywacja1'
  10. #
  11. CREATE TABLE `test_aktywacja1`
  12. ( ... ) TYPE=MyISAM;
  13.  
  14.  
  15. # Database: test2
  16. # Table: 'test_aktywacja2'
  17. #
  18. CREATE TABLE `test_aktywacja2`
  19. ( ... ) TYPE=MyISAM;


na końcu każdego pliku widnieje średnik. Należy zastosować rozwiązanie - zwracam uwagę na ostatni element stworzonej tablicy - należy się go pozbyć - jest pusty:

  1. <?php
  2. $dziel = explode(";", $create_db);
  3.  
  4. /********* Element wyłączony ******************
  5. echo '<pre>';
  6. var_export( $dziel );//tablica funcji
  7. echo '</pre>';
  8. ***********************************************/
  9.  
  10. $koniec = array_pop($dziel);//usuwam ostatni pusty element tablicy i wstawiam do $koniec
  11.  
  12. foreach($dziel as $tworz){
  13.  
  14. $sql = eregi_replace("^.*$", "$tworz;", $tworz);
  15. echo"<br>$sql<hr>";
  16.  
  17. $w = mysql_query($sql);
  18.  
  19. if(!$w){echo "<br>Nie udało się utwożyć <strong>$name</strong><br>";}
  20. }
  21. ?>
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: 15.10.2025 - 05:22