Witam. Mam nastepujacy problem. Musze stworzyc wlasny prosty generator tabel w bazie. Zrobilem to w nastepujacy sposob:
W pierwszym pliku mam formularz w ktorym wpisuje nazwe tabeli i ile mam miec pol.
Na kolejnej stronie automatycznie w zaleznosci od ilosci pol generuje sie odpowiednia liczba pol w formularzu w ktorym wpisuje nazwy kolumn w tworzonej tabeli. Nastepnie zostaje stworzona tabela i przechodze do kolejnego pliku ktory jest odpowiedzialny za wpisanie danych. Wszystkie potrzebne zmienne przekazuje w ukrytych polach formularzy. Oto moja czesci pliku wypelnij.php Pojawiaja mi sie nazwy kolumn oraz pola do wpisania danych.
  1. <?php
  2. $tabela = $_POST['nazwa_tabeli'];
  3. $pola = $_POST['pola'];
  4.  
  5. $fields = mysql_list_fields ('generator' , $tabela);
  6. $columns = mysql_num_fields ( $fields );
  7.  
  8.  
  9. echo $fields;
  10.  
  11. //if ( $_POST['liczba'] != 1 )
  12. //{
  13.  
  14. for ( $i = 0 ; $i < $columns ; $i ++) {
  15.  
  16.  echo mysql_field_name ( $fields , $i ) . &#092;"n\" ;
  17.  $rekordy[$i] = mysql_field_name ( $fields , $i );
  18.  
  19. }
  20.  
  21. //}
  22. echo &#092;"<form action=\"wypelnij1.php\" method=\"post\"><table><tr><td>\";
  23. echo &#092;"<INPUT TYPE=\"hidden\" NAME=\"kolumny\" VALUE=\"$columns\">\";
  24. echo &#092;"<INPUT TYPE=\"hidden\" NAME=\"tabela\" VALUE=\"$tabela\">\";
  25. echo &#092;"<INPUT TYPE=\"hidden\" NAME=\"pola\" VALUE=\"$pola\">\";
  26.  
  27. for ( $z = 0 ; $z < $columns ; $z ++) 
  28. {
  29.  
  30. echo &#092;"<input type='text' name=\"wpisz[]\" size='15'>\";
  31. }
  32. echo '<input type=\"submit\" name=\"ok\" value=\"okey\" class=\"kolor\">';
  33. echo '</td></tr></table></form>';
  34. ?>
Nastepnie przechodze do pliku wypelnij1.php w ktorym nastepuje zapisanie danych do bazy Wyglada on tak
  1. <?php
  2.  
  3. $tabela = $_POST['tabela'];
  4. $pola = $_POST['pola'];
  5. $fields = mysql_list_fields ( 'generator' , $tabela);
  6.  
  7. $columns = mysql_num_fields ( $fields );
  8.  
  9. $zapytanie = &#092;" INSERT INTO \".$tabela.\" (\";
  10. for ( $i = 0 ; $i < $columns ; $i ++) 
  11. {
  12. echo mysql_field_name ( $fields , $i ) . &#092;"n\" ;
  13. $rekordy[$i] = mysql_field_name ( $fields , $i );
  14.  
  15.  
  16.  
  17. if ( $rekordy[$i] != $rekordy[$columns-1])
  18. {
  19. $zapytanie .= &#092;" `\".$rekordy[$i].\"` , \";
  20. }
  21. else
  22. {
  23. $zapytanie .= &#092;" `\".$rekordy[$i].\"` \";
  24. }
  25.  
  26. //echo $_POST['wpisz'][$i];
  27.  
  28. }
  29. $zapytanie .= &#092;" ) VALUES ( \";
  30.  
  31. for ( $z = 0 ; $z < $columns ; $z++) 
  32. {
  33. if ( $_POST['wpisz'][$z] == $_POST['wpisz'][0] )
  34. {
  35.  
  36. $zapytanie .= &#092;" '' , \";
  37.  
  38. }
  39. else
  40. {
  41. if ( $_POST['wpisz'][$z] != $_POST['wpisz'][$columns-1] )
  42. {
  43. $zapytanie .= &#092;" '\".$_POST['wpisz'][$z].\"' , \";
  44. }
  45. else
  46. {
  47. $zapytanie .= &#092;" '\".$_POST['wpisz'][$z].\"' \";
  48. }
  49. }
  50. }
  51. $zapytanie .= &#092;" ) \";
  52. echo '<br>'.$zapytanie;
  53. $wynik = mysql_query($zapytanie);
  54. if ($wynik)
  55. {
  56. echo 'jest wpis do bazy';
  57.  
  58. echo &#092;"<form action=\"wypelnij.php\" method=\"post\"><table><tr><td>\";
  59. echo &#092;"<INPUT TYPE=\"hidden\" NAME=\"tabela\" VALUE=\"$tabela\">\";
  60. echo &#092;"<INPUT TYPE=\"hidden\" NAME=\"pola\" VALUE=\"$pola\">\";
  61.  
  62. echo '<input type=\"submit\" name=\"ok\" value=\"okey\" class=\"kolor\">';
  63. echo '</td></tr></table></form>';
  64.  
  65. }
  66. else
  67. {
  68. echo 'blad!!!!!!';
  69. }
  70.  
  71.  
  72. ?>
Po poprawnym zapsie do bazy wracam na strone wypelnij.php za pomoca formularza przekazujac odpowiednie dane i wtedy pojawiaja sie na tej stronie nastepujace WARNINGI:

mysql_list_fields(): Unable to save MySQL query result in /home/public_html/strona/wypelnij.php on line 209

mysql_num_fields(): supplied argument is not a valid MySQL result resource in /home/public_html/strona/wypelnij.php on line 210

Cos jest zle w tym miejscu
$fields = mysql_list_fields ( 'generator' , $tabela);

$columns = mysql_num_fields ( $fields );

Prosze o pomoc i ewentualne podpowiedzi bo nie moge poradzic sobie z tym problemem. Z gory dziekuje za odpowiedzi