Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
jak przejsc z pliku txt do bazy danych? - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Początkujący webmaster (https://www.webmastertalk.pl/forum-poczatkujacy-webmaster)
+--- Wątek: jak przejsc z pliku txt do bazy danych? (/thread-jak-przejsc-z-pliku-txt-do-bazy-danych)



jak przejsc z pliku txt do bazy danych? - gregov0 - 27-01-2011

Witam. Mam problem i nie wiem od czego zacząć. Mam skrypt do prowadzenia testu-quizu oparty na pliku tekstowym, a chciałbym aby takowy działał przy pomocy bazy MySql.

Kod PHP:
<?php
$pytania 
file("test.txt");

$k5 "Ocena bardzo dobra";
$k4 "Ocena dobra";
$k3 "Ocena dostateczna";
$k2 "Ocena dopuszczajaca!";
$k1 "Ocena niedostateczna";

$f $_POST["f"];
$wyniki $_POST["wyniki"];
srand((double)microtime()*1000000);

if (
$wyniki>0) {
  
$ile count($pytania); $dobre=0;
  for (
$o=0$o<$ile ;$o++) if ($f[$o]==1$dobre++;
  
$srednia sprintf("%2d",($dobre/$ile)*100);
  echo 
"<center>Poprawne odpowiedzi: $dobre z $ile. ";
  echo 
"Zaliczone $srednia procent testu.<p>";
  if (
$srednia<25) echo $k1;
  if (
$srednia>=25 && $srednia<50) echo $k2;
  if (
$srednia>=50 && $srednia<75) echo $k3;
  if (
$srednia>=75 && $srednia<99) echo $k4;
  if (
$srednia==100) echo $k5;
  echo 
"</center>";
  echo 
"<center><input type=submit value=\" zakoncz \"script language=\"javascript\"onClick=\"zamknijOkno()\"></script></center>"


} else {
  echo 
"<form action=\"index.php\" method=\"post\">";
  echo 
"<input type=\"hidden\" name=\"wyniki\" value=\"1\" />";
  
$ile count($pytania);
  for(
$i=0;$i<$ile;$i++) {
    
$nr array_rand($pytania);
    
$tmp $pytania[$nr];
    
$pytania[$nr] = $pytania[count($pytania)-1];
    
$pytania[count($pytania)-1] = $tmp;
    
$pyt explode("`"array_pop($pytania));
    echo 
"<p><b>"; echo $i+1; echo ". $pyt[0] </b><br>";
    for (
$b=1;$b<=count($pyt)-1;$b++)
      
$odp[]="<input type=radio name=\"f[$i]\"
               value=\"
$b\" />$pyt[$b]<br />";
    
$ileodp=count($odp);
    for(
$io=0;$io<$ileodp;$io++) {
      
$nr=array_rand($odp);
      
$tmp=$odp[$nr];
      
$odp[$nr]=$odp[count($odp)-1];
      
$odp[count($odp)-1]=$tmp;
      echo 
array_pop($odp);
    }
  }
  echo 
"<center><br><input type=submit value=\" sprawdz \" /></br></center></form>";
  
}
?>
pytania i odpowiedzi sa w pliku tekstowym

Kod:
Stolica polski jest?`warszawa`krakow`gniezno`kalisz
2+2=?`4`2`3`5
4+8=?`12`10`23`3
gdzie poprawna odpowiedź jest zaraz za pytaniem, pytania i odpowiedzi są oddzielane znacznikiem " ' " .

Moze mi ktos podpowiedziec jak ma wyglądać kod php który się połączy z bazą i wyciagnie pytania i odpowiedzi tak aby się zintegrował z pozostałym kodem w skrypcie. Dodam jeszce ze test bedzie umieszczony na mojej stronie na ktorej mam juz zastosowane logowanie i rejestracje . Mam tez do tego logowania baze danch z jedna tabela, i teraz niewiem czy utworzyc nowa tabele osobno do testu czy opierac sie na tej samej poniewaz głownym zal witryny jest to ze przykladowa osoba wchodzi na strone loguje sie rozwiazuje test i po rozwiazaniu wynik zapisuje sie do bazy .
Prosze o podpowiedz i pomoc jak to zrealizowac?

Pozdrawiam.


RE: jak przejsc z pliku txt do bazy danych? - mateo - 27-01-2011

Napisz pętle, która oddzieli pytanie od odpowiedzi, kolejną która rozdzieli odpowiedzi i dodaj do odpowiednich kolumn w tabeli. Jedno pytanie i odpowiedź traktuj jako jeden rekord.


RE: jak przejsc z pliku txt do bazy danych? - www.skrypty.pro - 27-01-2011

możesz również zrobić dwie tabele pytania i tabele odpowiedzi. Realizujesz to w taki sposób że w tabeli pytania masz id pytania i treść pytania. A w tabeli odpowiedzi również musisz mieć id pytania robisz kolumnę z id pytania (by wiedzieć jakie pytanie jest do jakiej odpowiedzi) kolumnę z treścią odpowiedzi i jeszcze jedną która będzie zliczać ilość wyborów danej odpowiedzi. Co do kodu to powinno Ci to pomóc http://wortal.php.pl/Wortal/Artykuly/PHP/Podstawy/Tutorial-PHP-MySQL


RE: jak przejsc z pliku txt do bazy danych? - Kartofelek - 27-01-2011

"Moze mi ktos podpowiedziec jak ma wyglądać kod php który się połączy z bazą i wyciagnie pytania i odpowiedzi tak aby się zintegrował z pozostałym kodem w skrypcie."

;]


RE: jak przejsc z pliku txt do bazy danych? - gregov0 - 29-01-2011

odswiezam temat bo nadal sie z tym mecze i niemoge znalesc rozwiazania


RE: jak przejsc z pliku txt do bazy danych? - mateo - 29-01-2011

To pokaż jak wyglądają postępy w pracy.