Forum forum.webPC.pl Strona Główna  
  forum.webPC.pl
FAQ  FAQ   Szukaj  Szukaj   Użytkownicy  Użytkownicy   Grupy  Grupy
 
Rejestracja  ::  Zaloguj Zaloguj się, by sprawdzić wiadomości
 
Warning: preg_match_all(): No ending delimiter '#' found in /home/web5/domains/webpc.pl/public_html/forum/includes/bbcode.php on line 569 Warning: preg_replace(): No ending delimiter '#' found in /home/web5/domains/webpc.pl/public_html/forum/includes/bbcode.php on line 222
Forum forum.webPC.pl Strona Główna --> PHP, MySQL oraz inne bazy danych --> Przekazywanie danych z MySql POMOCY

Napisz nowy temat  Odpowiedz do tematu
 Przekazywanie danych z MySql POMOCY Zobacz poprzedni temat :: Zobacz następny temat --> 
Autor Wiadomość
Kidler_5
PostWysłany: Sro Maj 31, 2006 12:13 pm    Temat postu: Przekazywanie danych z MySql POMOCY Odpowiedz z cytatem

Nowy

Dołączył: 31 Maj 2006
Posty: 1

Witam, mam problem. Tworze dosyc nietypowego Smile klienta do bazy danych w mysql. A mianowicie jest to klient programu obslugujacego parafie (tzn ksiegi wieczyste). Stworzylem baze danych w mysql i nie moge odczytac zawartosci danych, ani jej edytowac. Natomiast dodawanie danych z poziomu przegladarki mi sie udaje. Nie wiem co robie zle - czy nie przekazuje funkcjom odpowiednich parametrow, nie mam pojecia. Prosze pomozcie. Oto kod bazy danych:
Kod:

DROP DATABASE if exists plebania;

CREATE DATABASE plebania;

use plebania;


CREATE TABLE I_komunia
(
    id_I_komunia int unsigned not null auto_increment primary key,
    imie char(20) not null,
    nazwisko char(30) not null,
    data_ur char(12) not null,
    data_I_komunii char(12) not null,
    miejsce_I_komunii char(25) not null,
    imie_swiadka char(20) not null,
    nazwisko_swiadka char(30) not null,
    wiek char(3) not null
) type InnoDB;


CREATE TABLE admin
(
    nazwa_uz char(16) not null primary key,
    haslo char(40) not null
);

grant select, insert, update, delete
on parafia.* to Ks_Walter@localhost identified by 'kamienslaski';


A to sa funkcje, ktore powinny odczytywac wpisy z bazy i pokazac je na stronce. Nie wklejalem tutaj funkcji typu: tworz_stopke_html.php czy takich prostych bo to nie ma za bardzo znczenia. Funkcje umieszczone sa w roznych plikach - nazwy tych plikow sa wpisane przed fragmentami kodow. Oto kod tych funkcji:
Kod:

funkcje_bazy.php
<?php

function lacz_bd()
{
   $wynik = new mysqli('localhost','ksiadz','kamienslaski','parafia');
   if(!$wynik)
      return false;
   $wynik->autocommit(TRUE);
   return $wynik;
}

function wynik_bd_do_tablicy($wynik)
{
   $tablica_wyn = array();
   
   for($licznik=0; $rzad=$wynik->fetch_assoc(); $licznik++)
      $tablica_wyn[$licznik]=$rzad;
      
   return $tablica_wyn;
}
?>

funkcje_wyswietl.php

function wyswietl_I_komunia($I_komunia)
{
  //wy¶wietlenie wszystkich wpisow z przekazanej tablicy
  if (!is_array($I_komunia))
  {
     echo '<br />Brak wpisów w tej Księdze Wieczystej.<br />';
  }
  else
  {
    //stworzenie tabeli
    echo '<table width = \"100%\" border = 0>';
   
    //stworzenie wiersza tabeli dla każdego wpisu w ksiedze komunijnej
    foreach ($I_komunia as $rzad)
    {
      $url = 'pokaz_I_komunia.php?id_I_komunia='.($rzad['id_I_komunia']);
      echo '<tr><td>';
      $nazwisko =  $rzad['nazwisko'].','.$rzad['imie'];
      tworz_html_url($url, $tytul);
      echo '</td></tr>';
    }
    echo '</table>';
  }
  echo '<hr />';
}

function wyswietl_dane_I_komunia($I_komunia)
{
  // wy¶wietlenie wszystkich danych konkretnej ksi±żki
  if (is_array($I_komunia))
  {
    echo '<table><tr>';
    echo '<td><ul>';
    echo '<li><b>Imie:</b> ';
    echo $I_komunia['imie'];
    echo '<li><b>Nazwisko:</b> ';
    echo $I_komunia['nazwisko'];
    echo '<li><b>Data urodzenia:</b> ';
    echo $I_komunia['data_ur'];
    echo '<li><b>Data I Komunii:</b> ';
    echo $I_komunia['data_I_komunii'];
    echo '<li><b>Miejsce I Komunii:</b> ';
    echo $I_komunia['miejsce_I_komunii'];
    echo '<li><b>Imie swiadka:</b> ';
    echo $I_komunia['imie_swiadka'];
    echo '<li><b>Nazwisko swiadka:</b> ';
    echo $I_komunia['nazwisko_swiadka'];
    echo '<li><b>Wiek swiadka:</b> ';
    echo $I_komunia['wiek'];
    echo '</ul></td></tr></table>';
  }
  else
    echo 'Wpisy tej księgi nie mog± zostać wy¶wietlone w tym momencie.';
  echo '<hr />';
}

funkcje_edycji.php

function pobierz_I_komunia($id_I_komunia)
{
   // zapytanie bazy danych o ksi±żki w danej kategorii
   if (!$id_I_komunia || $id_I_komunia=='')
     return false;
   
   $lacz = lacz_bd();
   $zapytanie = "select * from I_komunia";
   $wynik = @$lacz->query($zapytanie);
   if (!$wynik)
     return false;
   $ilosc_I_komunia = @$wynik->num_rows;
   if ($ilosc_I_komunia ==0)
      return false;
   $wynik = wynik_bd_do_tablicy($wynik);
   return $wynik;
}

function pobierz_dane_I_komunia($id_I_komunia)
{
  // zapytanie bazy danych o wszystkie dane konkretnej ksi±żki
  if (!$id_I_komunia || $id_I_komunia=='')
     return false;

   $lacz = lacz_bd();
   $zapytanie = "select * from I_komunia";
   $wynik = @$lacz->query($zapytanie);
   if (!$wynik)
     return false;
   $wynik = @$wynik->fetch_assoc();
   return $wynik;
}

funkcje_admin.php
function wyswietl_form_I_komunia($I_komunia = '')
{
 
  $edycja = is_array($I_komunia);

  // większosc formularza to czysty HTML z pewnymi fragmentami PHP
?>
  <form method='post'
        action="<?php echo $edycja?'edycja_I_komunia.php':'dodaj_I_komunia.php';?>">
  <table border='0'>
  <tr>
    <td>ID:</td>
    <td><input type='text' name='id_I_komunia'
         value="<?php echo $edycja?$I_komunia['id_I_komunia']:''; ?>" /></td>
  </tr>
  <tr>
    <td>Imię:</td>
    <td><input type='text' name='imie'
         value="<?php echo $edycja?$I_komunia['imie']:''; ?>" /></td>
  </tr>
  <tr>
    <td>Nazwisko:</td>
    <td><input type='text' name='nazwisko'
         value="<?php echo $edycja?$I_komunia['nazwisko']:''; ?>" /></td>
   </tr>
   <tr>
    <td>Data urodzenia:</td>
    <td><input type='text' name='data_ur'
         value="<?php echo $edycja?$I_komunia['data_ur']:''; ?>" /></td>
   </tr>
   <tr>
    <td>Data I Komunii:</td>
    <td><input type='text' name='data_I_komunii'
         value="<?php echo $edycja?$I_komunia['data_I_komunii']:''; ?>" /></td>
   </tr>
   <tr>
    <td>Miejsce I Komunii:</td>
    <td><input type='text' name='miejsce_I_komunii'
         value="<?php echo $edycja?$I_komunia['miejsce_I_komunii']:''; ?>" /></td>
   </tr>
   <tr>
    <td>Imię ¶wiadka:</td>
    <td><input type='text' name='imie_swiadka'
         value="<?php echo $edycja?$I_komunia['imie_swiadka']:''; ?>" /></td>
   </tr>
   <tr>
    <td>Nazwisko ¶wiadka:</td>
    <td><input type='text' name='nazwisko_swiadka'
         value="<?php echo $edycja?$I_komunia['nazwisko_swiadka']:''; ?>" /></td>
   </tr>
   <tr>
    <td>Wiek ¶wiadka:</td>
    <td><input type='text' name='wiek'
         value="<?php echo $edycja?$I_komunia['wiek']:''; ?>" /></td>
   </tr>
     
   <tr>
      <td <?php if (!$edycja) echo 'colspan=2'; ?> align='center'>
         <?php
            if ($edycja)
             // potrzebny jest stary isbn, aby znaleĽć książkę w bazie danych
             // jeżeli isbn jest uaktualniany
             echo '<input type=hidden name=staryid_I_komunia
                    value="'.$I_komunia['id_I_komunia'].'" />';
         ?>
        <input type='submit'
               value="<?php echo $edycja?'Uaktualnienie':'Dodanie'; ?> księgi" />
        </form></td>
        <?php
           if ($edycja)
           { 
             echo '<td>';
             echo '<form method=post action="usun_I_komunia.php">';
             echo '<input type=hidden name=isbn
                    value="'.$I_komunia['id_I_komunia'].'" />';
             echo '<input type=submit
                    value="Usuń wpis" />';
             echo '</form></td>';
            }
          ?>
         </td>
      </tr>
  </table>
  </form>
 
<?php 
}

function uakt_I_komunia($staryid_I_komunia, $id_I_komunia, $imie, $nazwisko, $data_ur, $data_I_komunii,
                        $miejsce_I_komunii, $imie_swiadka, $nazwisko_swiadka, $wiek)
// zmiana danych wpisu
// nowe dane w argumentach
{
   $lacz = lacz_bd();

   $zapytanie = "update I_komunia
             set id_I_komunia='$id_I_komunia',
             imie ='$imie',
             nazwisko = '$nazwisko',
             data_ur = '$data_ur',
             data_I_komunii = '$data_I_komunii',
             miejsce_I_komunii = '$miejsce_I_komunii'
             imie_swiadka = '$imie_swiadka',
             nazwisko_swiadka = '$nazwisko_swiadka',
             wiek = '$wiek',
             where id_I_komunia='$staryid_I_komunia'";

   $wynik = @mysqli_query($lacz, $zapytanie);
   if (!$wynik)
     return false;
   else
     return true;
}


function usun_I_komunia($id_I_komunia)
// Usuwa wpis o danym id z bazy danych
{
   $lacz = lacz_bd();

   $zapytanie = "delete from I_komunia
             where id_I_komunia='$id_I_komunia'";
   $wynik = @mysqli_query($lacz,$zapytanie);
   if (!$wynik)
     return false;
   else
     return true;
}

pokaz_I_komunia.php
<?php
  include ('funkcje_parafia.php');
  session_start();

  $id_I_komunia = $_GET['id_I_komunia'];

  // pobranie danych z bazy danych
  $I_komunia = pobierz_dane_I_komunia($id_I_komunia);
  tworz_naglowek_html($I_komunia['nazwisko']);
  wyswietl_dane_I_komunia($I_komunia);

  // ustawienie URL-a dla przycisku „Konfiguracja”
  $cel = 'indeks.php';
  // jeżeli zalogowany jako administrator, pokaż ł±cze do edycji ksi±żki
  if( sprawdz_uzyt_admin() )
  {
    wyswietl_przycisk("edycja_I_komunia_form.php?id_I_komunia=$id_I_komunia", 'edycja-produktu', 'Edycja Produktu');
    wyswietl_przycisk('admin.php', 'menu-admin', 'Menu administratora');
    wyswietl_przycisk($cel, 'kontynuuj', 'Kontynuacja');
  }
  else
  {
    wyswietl_przycisk($cel, 'kontynuacja', 'Kontynuacja zakupów');
  }
 
  tworz_stopke_html();
?>

edycja_I_komunia_form.php

<?php

// doł±czenie plików funkcji dla tej aplikacji
require_once('funkcje_parafia.php');
session_start();

tworz_naglowek_html('Edycja wpisów');
if (sprawdz_uzyt_admin())
{
  if ($I_komunia = pobierz_dane_I_komunia($HTTP_GET_VARS['id_I_komunia']))
  {
    wyswietl_form_I_komunia($I_komunia);
  }
  else
    echo 'Odczytanie danych niemożliwe.<br />';
  tworz_html_url('admin.php', 'Powrót do menu administratora');
}
else
  echo 'Brak autoryzacji do ogl±dania obszaru administracyjnego.';

tworz_stopke_html();

?>

edycja_I_komunia.php

<?php

// doł±czenie plików funkcji dla tej aplikacji
require_once('funkcje_parafia.php');
session_start();

tworz_naglowek_html('Uaktualnienie danych');
if (sprawdz_uzyt_admin())
{
  if (wypelniony($HTTP_POST_VARS))
  {
    $staryid_I_komunia = $HTTP_POST_VARS['staryid_I_komunia'];
    $id_I_komunia = $HTTP_POST_VARS['id_I_komunia'];
    $imie = $HTTP_POST_VARS['imie'];
    $nazwisko = $HTTP_POST_VARS['nazwisko'];
    $data_ur = $HTTP_POST_VARS['data_ur'];
    $data_I_komunii = $HTTP_POST_VARS['data_I_komunii'];
    $miejsce_I_komunii = $HTTP_POST_VARS['miejsce_I_komunii'];
    $imie_swiadka = $HTTP_POST_VARS['imie_swiadka'];
    $nazwisko_swiadka = $HTTP_POST_VARS['nazwisko_swiadka'];
    $wiek = $HTTP_POST_VARS['wiek'];


    if(uakt_I_komunia($staryid_I_komunia, $id_I_komunia, $imie, $nazwisko, $data_ur,
                      $data_I_komunii, $miejsce_I_komunii, $imie_swiadka, $nazwisko_swiadka, $wiek))
      echo 'Ksi±żka została uaktualniona.<br />';
    else
      echo 'Ksi±żka nie mogła zostać uaktualniona.<br />';
  }
  else
    echo 'Formularz niewypełniony. Proszę spróbować ponownie.';
  tworz_html_url('admin.php', 'Powrót do menu administratora');
}
else
  echo 'Brak autoryzacji do ogl±dania tej strony.';

tworz_stopke_html();

?>


Jezeli by mogl ktos pomoc, a z opisu tego nie wynika to jasno, to moge przeslac wszystkie pliki i skrypt na maila - moze by to ktos sprobowal uruchomic i wtedy by wylapal blad. Prosze o pomoc i z gory dziekuje.

Z tego co doszedlem to nie dziala mi przkazywanie parametru "id_I_komunia" czyli glownego klucza tabeli I_komunia w MySql-u. Jezeli recznie ustawie ten parametr, to edycja chodzi i usuwanie tez - choc wtedy powyzsze skrypty przybieraja calkiem inna postac. No ale reczne ustawianie id nie ma sensu Sad
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Admin
PostWysłany: Sro Maj 31, 2006 7:31 pm    Temat postu: Odpowiedz z cytatem

Admin strony i forum

Dołączył: 17 Kwi 2005
Posty: 708
Skąd: Reda

Wyslij mi te pliki na admin@webpc.pl - zrobie Ci to, ale dopiero w sobote.

Nie zapomnij o zrzucie bazy danych...
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora
Wyświetl posty z ostatnich:   
Napisz nowy temat  Odpowiedz do tematu Strona 1 z 1

Forum forum.webPC.pl Strona Główna --> PHP, MySQL oraz inne bazy danych --> Przekazywanie danych z MySql POMOCY
Skocz do:  



Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
 
 


DAJ Glass (1.0.5) template by Dustin Baccetti
EQ graphic based off of a design from www.freeclipart.nu
Powered by phpBB Š 2001, 2002 phpBB Group