Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dodawanie i usuwanie rekordu z tabeli w bazie
mąki
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 12.05.2005

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


Mam problem, a że jestem bardzo początkujący, to nie wiem jak sobie z tym poradzić.
Odpala się tabela, przy każdych danych jest skasuj, na dole formularz dodawania danych, ale jak coś dodaje czy kasuje to nie wprowadza żadnych zmian. Kod zrobiłem na podstawie gotowca. Proszę o pomoc.

  1. <HTML>
  2. <HEAD>
  3. <META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=iso-8859-2\">
  4. <TITLE>Czytanie z bazy danych, kasowanie i dodawanie rekordów</TITLE>
  5. </HEAD>
  6. <BODY>
  7. <? // Dodawanie rekordu zrealizowano za pomocą zapytania INSERT.
  8.  // Dane są wczytywane w przygotowanym formularzu.
  9.  
  10. mysql_connect (&#092;"localhost\", \"root\", \"abc123\") or 
  11. die (&#092;"Nie można połączyć się z MySQL\");
  12. mysql_select_db (&#092;"biblioteka\") or 
  13. die (&#092;"Nie można połączyć się z bazą cwphp4\");
  14.  
  15. if ($co == 'dodaj') { // dodawanie rekordu
  16. if ($tytul && $autor && $slowa_kluczowe){ 
  17. $query = &#092;"INSERT INTO ksiazki ( id, tytul, autor, slowa_kluczowe , typ) VALUES ('', '$tytul', '$autor', '$slowo_kluczowe', '$typ');\";
  18. $wynik = mysql_query ($query);
  19. }
  20. } elseif ($co == 'skasuj') { // kasowanie
  21. $wynik = mysql_query 
  22.  (&#092;"DELETE FROM ksiazki WHERE nr = '$id';\");
  23. }
  24.  
  25. $wynik = mysql_query (&#092;"SELECT * FROM ksiazki;\") or 
  26. die (&#092;"błąd w pytaniu\");
  27.  
  28. print &#092;"<TABLE CELLPADDING=5 BORDER=2>\";
  29. print &#092;"<TR><TD><B>Id</B><TD><B>Tytul</B></TD><TD><B>autor</B></TD>\";
  30. print &#092;"<TD><B>slowa_kluczowe</B></TD><TD><B>typ</B></TD><TD><B>kasowanie</B></TD></TR>n\";
  31.  
  32. while ($rekord = mysql_fetch_array ($wynik)) {
  33. $id = $rekord[0];
  34. $tytul = $rekord[1];
  35. $autor = $rekord[2];
  36. $slowa_kluczowe = $rekord[3];
  37. $typ = $rekord[4];
  38.  
  39. print &#092;"<TR><TD>$id</TD><TD>$tytul</TD><TD>$autor</TD><TD>$slowa_kluczowe</TD><TD>$typ</TD><TD>\";
  40. print &#092;"<A HREF=\"index.php?co=skasuj&id=$id\">skasuj</A></TD></TR>n\";
  41. }
  42. print &#092;"</TABLE>\";
  43. print '<FORM METHOD=\"POST\">Nowy rekord:';
  44. print '<INPUT TYPE=\"hidden\" NAME=\"co\" VALUE=\"dodaj\"><TABLE>';
  45. print '<TR><TD>Tytul:</TD><TD><INPUT TYPE=\"text\" ';
  46. print 'NAME=\"tytul\"></TD></TR><TR><TD>Autor:</TD><TD><INPUT ';
  47. print 'TYPE=\"text\" NAME=\"autor\"></TD></TR><TR><TD>Slowa_kluczowe:</TD>';
  48. print '<TD><INPUT TYPE=\"text\" NAME=\"slowa_kluczowe\"></TD></TR>';
  49. print '<TD>TYP:</TD><TD><INPUT TYPE=\"text\" NAME=\"typ\"></TD></TR>';
  50. print '</TABLE><INPUT TYPE=\"submit\" VALUE=\"Dodaj\"></FORM>';
  51. ?>
  52.  
  53. </BODY>
  54. </HTML>


--
(IMG:http://forum.php.pl/uwaga.gif)
aleksander


Ten post edytował aleksander 13.05.2005, 11:44:11
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Po pierwsze: nie ma sensu robić kilka update na jednym wierszu. Wystarczy jeden:
przyklad: update tabela set columna1=war1,columna2=war2 where id=jakiesid
rozumiesz?Jak tak to popraw u siebie

Po drugie:skoro update'a robi na kluczu 0,znaczy że do IDC zapisujesz 0 lub bodajze nic.Najwyraźniej gdzieś źle robisz linka z IDC. Daj echo $_GET['IDC'] i zobacz czy ci dobrze je wyswietla.
POzatym widzę że robisz $_POST['IDC']. Do czego to ma byc? Przecież w tym kodzie nigdzie w formularzu nie dales pola o name=IDC. Tam zawsze bedzie nic.

troche zagmatwany ten kod, albo ja nie kumam twqego toku rozumowania
Pozdro,
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 14:56