|
|
|
|
|
|
|
|
forum.webPC.pl
|
|
|
|
Rejestracja ::
Zaloguj
|
Zaloguj się, by sprawdzić wiadomości
|
|
|
|
Przekazywanie danych z MySql POMOCY |
> Zobacz poprzedni temat :: Zobacz następny temat --> |
Autor |
Wiadomość
|
Kidler_5 |
Wysłany: Sro Maj 31, 2006 12:13 pm Temat postu: Przekazywanie danych z MySql POMOCY |
|
|
Nowy
Dołączył: 31 Maj 2006 Posty: 1
|
Witam, mam problem. Tworze dosyc nietypowego 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 |
|
Powrót do góry |
|
|
Admin |
Wysłany: Sro Maj 31, 2006 7:31 pm Temat postu: |
|
|
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 |
|
|
|
|
|
|
Strona 1 z 1 |
|
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
|
|
|
|
|
|
|
|
|
|
|