Witam, mam skrypt do edycji tabelki (zmiany i usuwania) oraz funkcję dodawania do bazy danych.
Wszystko chodzi dobrze za wyjątkiem tego ostatniego - do bazy nie mogę dodać ani wiersza.
Dodawania chodzi przez ajaxa.

W index.php fragment kodu odpowiedzialny za powyższe wygląda następująco:
  1. echo '</table>
  2. <form action="" method="post" id="add_form">
  3. <label>Nazwa:</label><input type="text" name="nazwa" value="" /><br />
  4. <label>Cena:</label><input type="text" name="cena" value="" /><br />
  5. <input class="sub2" type="submit" value="Dodaj" />
  6. </form>';


przesyłanie danych do na serwer i do pliku php- fragment pliku custom.js:
  1. $('form#add_form').submit(function(){
  2. $.post('add.php', $(this).serialize(), function(dane) {
  3. dane = eval('('+dane+')');
  4. tabela = $('table#tab');
  5. tabela.append('<tr><td>'+dane['id']+'</td><td>'+dane['nazwa']+'</td><td>'+dane['cena']+'</td><td><form method="post"><input type="hidden" name="id" value="'+dane['id']+'" /><input class="sub" type="submit" value="Edytuj" /></form><form method="post" action=""><input type="hidden" name="id" value="'+dane['id']+'" /><input class="del" type="submit" value="" title="Usuń" /></form></td></tr>');
  6. });
  7. return false;
  8. });



i na koniec cały plik add.php:
  1. <?php
  2. if(isset($_POST['nazwa']) && isset($_POST['cena']))
  3. {
  4. define('DB_HOST','***');
  5. define('DB_USER','***');
  6. define('DB_PASS','');
  7. define('DB_NAME','***');
  8. $con=mysql_connect(DB_HOST,DB_USER,DB_PASS,true);
  9. $select_db = mysql_select_db(DB_NAME,$con);
  10. if($select_db)
  11. {
  12. mysql_query("SET NAMES utf8",$con);
  13. }
  14. else
  15. {
  16. die('Nie mozna sie polaczyc z baza danych ');
  17. }
  18. $nazwa = mysql_real_escape_string($_POST['nazwa']);
  19. $cena = mysql_real_escape_string($_POST['cena']);
  20. $query = ('INSERT INTO cennik (nazwa,cena) VALUES ("'$nazwa'","'$cena'")');
  21. mysql_query($query,$con);
  22. $lid = mysql_insert_id($con);
  23. $query2 = ('SELECT * FROM cennik WHERE `id` = "'.$lid.'"');
  24. $result = mysql_query($query2,$con);
  25. $row = mysql_fetch_assoc($result);
  26. echo json_encode(array('id'=>$row['id'],'nazwa'=>$row['nazwa'],'cena'=>$row['cena']));
  27. }
  28. ?>


Myślę, że błąd jest w pliku z javascript, ale za cholerę nie mogę tego rozwikłać, a js znam słabo.