Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] formularz + php
98256
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 24.03.2008

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


Witam wszystkich smile.gif,
mam trywialny problem, otóż potrzebuję przeneiść informację z formularza do bazy MySQL, a w zasadzie to zmienić dane w bazie przez wyslanie przes skrypt informacji, ale zacznijmy po koleji smile.gif

baza MySQL:
tabelka instalacje:
id
id_klienta
koszt
roz_faktura (tu sa zapisywane "1" dla nie rozliczonej faktury oraz "2" dla rozliczonej)

tabelka rfaktur:
id (1 , 2)
nazwa (faktura nierozliczona , faktura rozliczona)

teraz przejdzmy do skryptow:

plik 'klienci.php'
(..) fragment ktory wyswietla szczegoly o danym kliencie, przejdzmy do szczegolow rozliczonej faktury:

  1. <?php if($v['Koszt_instalacji']!=""){ ?>
  2.       <tr><th>Koszt instalacji:</th><td ><?=$v['koszt'];?> zł</td></tr>
  3. <?php } ?>
  4.                        
  5. <?php if($v['roz_faktura']!=""){ ?>
  6.    <tr><th>Faktura montażowa:</th>
  7.       <td > <?
  8.                 switch ($v['roz_faktura']) {
  9.                    case 1:
  10.                       echo "<form action='?id=klienci&a=updateRozFaktura' method='post'>
  11.                                   <input type='checkbox' name='roz_faktura' value='2' />Wystawiona FVAT
  12.                                   <input type='submit' value='Rozlicz'>
  13.                                </form> ";
  14.                     break;
  15.                     case 2:
  16.                       echo "Rozliczono";
  17.                     break;
  18.                 }
  19.               ?>
  20.      </td></tr>
  21. <?php } ?>


jak widac action jest do <form action='?id=klienci&a=updateRozFaktura' method='post'> wiec zagladnijmy tam:

  1. <?php
  2. if($_GET['a'] == 'updateRozFaktura'){
  3.    
  4.    if($klienci->updateRozFaktura($_POST)){
  5.        echo " <div>Faktura została rozliczona! </div>";
  6.    }
  7.    else
  8.        echo "<div>Nie można zapisac ... Blad bazy danych ... :|</div>";
  9. }
  10. ?>


tak jak pokazuje funkcja: $klienci->updateRozFaktura rowniez zagladniemy do pliku 'klienci.class.php'

  1. <?php
  2. function updateRozFaktura($kid){
  3.        
  4.        $sql = "update Instalacje set roz_faktura='2' where Id_Klienta='{$kid}'";
  5.        
  6.        if($this->db->sql_query($sql)) return true;
  7.        else return false;    
  8.    }
  9. ?>


nom i cos tu zle zrobilem, prawdopodobnie z przeniesieniem rozpoznawania klienta po 'kid'

i teraz pytanie jak to zrobic azeby:
jezeli w bazie jest w polu roz_faktura bedzie 1 to w szczegolach klienta powinien sie ukazac maly formularz w celu rozliczenia faktury, a jezeli bedzie 2 to poprostu bedzie wyswietlane 'rozliczono' - jak narazie to dziala
tylko tu jest gdzies blad przy przenoszeniu informacji miedzy formularzem a baza sql.
Prosze o sugestje i pomoc.

pozdrawiam Grzesiek...
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 13:38