Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php + mysql] UPDATE rekordów
Piotrwusek
post
Post #1





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

Ostrzeżenie: (20%)
X----


To jest struktura tabeli

  1. -- Struktura tabeli dla `plan_poniedzialek`
  2. --
  3.  
  4. CREATE TABLE `plan_poniedzialek` (
  5. `8` varchar(20) NOT NULL DEFAULT '',
  6. `850` varchar(20) NOT NULL DEFAULT '',
  7. `945` varchar(20) NOT NULL DEFAULT '',
  8. `1040` varchar(20) NOT NULL DEFAULT '',
  9. `1130` varchar(20) NOT NULL DEFAULT '',
  10. `1240` varchar(20) NOT NULL DEFAULT '',
  11. `1315` varchar(20) NOT NULL DEFAULT '',
  12. `1430` varchar(20) NOT NULL DEFAULT '',
  13. `1520` varchar(20) NOT NULL DEFAULT ''
  14. ) ENGINE=MyISAM DEFAULT CHARSET=latin2;
  15.  
  16. --
  17. -- Zrzut danych tabeli `plan_poniedzialek`
  18. --
  19.  
  20. INSERT INTO `plan_poniedzialek` VALUES ('---', '---', '---', '---', '---', '---', '---', '---', '---');


Jak zrobić zmianę rekordu 1 czyli pierwsze ---

POD PHP 4 w php

Ten post edytował Piotrwusek 11.07.2007, 17:41:42
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
flv
post
Post #2





Grupa: Zarejestrowani
Postów: 130
Pomógł: 1
Dołączył: 29.06.2007

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


Dorób do tej tabeli klucz główny i odwołuj się do wartości klucza w klauzuli WHERE, i nie zadawaj pytań na które odpowiedź znajdziesz w każdym kursie dla początkujących.
Go to the top of the page
+Quote Post
Piotrwusek
post
Post #3





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

Ostrzeżenie: (20%)
X----


a jak dodac ten klucz
Go to the top of the page
+Quote Post
Qvazar
post
Post #4





Grupa: Zarejestrowani
Postów: 41
Pomógł: 3
Dołączył: 28.10.2005

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


  1. -- Struktura tabeli dla `plan_poniedzialek`
  2. --
  3.  
  4. CREATE TABLE `plan_poniedzialek` (
  5.  
  6. `id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  7.  
  8. `8` varchar(20) NOT NULL DEFAULT '',
  9. `850` varchar(20) NOT NULL DEFAULT '',
  10. `945` varchar(20) NOT NULL DEFAULT '',
  11. `1040` varchar(20) NOT NULL DEFAULT '',
  12. `1130` varchar(20) NOT NULL DEFAULT '',
  13. `1240` varchar(20) NOT NULL DEFAULT '',
  14. `1315` varchar(20) NOT NULL DEFAULT '',
  15. `1430` varchar(20) NOT NULL DEFAULT '',
  16. `1520` varchar(20) NOT NULL DEFAULT ''
  17. ) ENGINE=MyISAM DEFAULT CHARSET=latin2;
  18.  
  19. --
  20. -- Zrzut danych tabeli `plan_poniedzialek`
  21. --
  22.  
  23. INSERT INTO `plan_poniedzialek` VALUES ('---', '---', '---', '---', '---', '---', '---', '---', '---');
Go to the top of the page
+Quote Post
Piotrwusek
post
Post #5





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

Ostrzeżenie: (20%)
X----


dzięki i jak mam teraz sie do niego odności
Go to the top of the page
+Quote Post
Qvazar
post
Post #6





Grupa: Zarejestrowani
Postów: 41
Pomógł: 3
Dołączył: 28.10.2005

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


Pole id będzie zwiekszało się o 1 przy każdym dodaniu rekordu. Odczytując pola '850', '945', itd odczytujesz również pole id. Potem jeśli chcesz zmienić coś w danym rekordzie odwołujesz się do danego pola id, tzw. klucza, np UPDATE ..... SET ..., ..., WHERE id = $id; - zmieną $id przyjmuję wartość odczytanego wcześniej pola id danego wiersza.
Go to the top of the page
+Quote Post
Piotrwusek
post
Post #7





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

Ostrzeżenie: (20%)
X----


ale rekord zawsze będzie jeden nigdy więcej
Go to the top of the page
+Quote Post
Qvazar
post
Post #8





Grupa: Zarejestrowani
Postów: 41
Pomógł: 3
Dołączył: 28.10.2005

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


jestem na czat-onet.pl pokój towarzyski ~qvazar
Go to the top of the page
+Quote Post
Piotrwusek
post
Post #9





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

Ostrzeżenie: (20%)
X----


pomocy probuje zrobić Skrypt Plan lekcji ale mi nie wychodzi pomożecie nawet a internecie nie mogę znaleść jestem na gg 1350463


Witam.

Odczytuje dane z formularza, łącze z bazą danych (wszystko widoczne w kodzie), ale potem nie wiem jak zmienić rekord w polu np 8

mam taki kod
  1. <?php
  2. $ptt9=$_POST['pit9']; // odczytuje dane z formularza
  3. mysql_connect('host', 'user', 'haslo') or die ("Nie masz uprawnień"); // łączę z bazą danych
  4.  
  5. mysql_select_db("kwserwer_5"); // wybieram bazę danych
  6. UPDATE plan_poniedzialek SET pole='$ppt9' ;
  7. mysql_close(); // kończę połączenie z bazą danych
  8. ?>


coś robie żle

pokaże wam strukturę tabeli

  1. REATE TABLE `plan_poniedzialek` (
  2. `8` varchar(20) NOT NULL DEFAULT '',
  3. `850` varchar(20) NOT NULL DEFAULT '',
  4. `945` varchar(20) NOT NULL DEFAULT '',
  5. `1040` varchar(20) NOT NULL DEFAULT '',
  6. `1130` varchar(20) NOT NULL DEFAULT '',
  7. `1240` varchar(20) NOT NULL DEFAULT '',
  8. `1315` varchar(20) NOT NULL DEFAULT '',
  9. `1430` varchar(20) NOT NULL DEFAULT '',
  10. `1520` varchar(20) NOT NULL DEFAULT ''
  11. )

Pomożecie??
Go to the top of the page
+Quote Post
uli
post
Post #10





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

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


Twoim problemem jest niezrozumienie filozofii bazy.

Tabela powinna mieć klucz, o którym jest w postach powyżej. Nie ma znaczenia, czy rekord będzie jeden czy 100000. Ma być ID i tyle.

  1. Struktura tabeli dla `plan_poniedzialek`
  2.  
  3. CREATE TABLE `plan_poniedzialek` (
  4.  
  5. `id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  6.  
  7. `8` varchar(20) NOT NULL DEFAULT '',
  8. `850` varchar(20) NOT NULL DEFAULT '',
  9. `945` varchar(20) NOT NULL DEFAULT '',
  10. `1040` varchar(20) NOT NULL DEFAULT '',
  11. `1130` varchar(20) NOT NULL DEFAULT '',
  12. `1240` varchar(20) NOT NULL DEFAULT '',
  13. `1315` varchar(20) NOT NULL DEFAULT '',
  14. `1430` varchar(20) NOT NULL DEFAULT '',
  15. `1520` varchar(20) NOT NULL DEFAULT ''
  16. ) ENGINE=MyISAM DEFAULT CHARSET=latin2;


Przy takiej bazie id jest Twoim identyfikatorem.

Jeśli masz jeden rekord to operacje na nim będą proste:

Wybranie wszystkich pól:

  1. SELECT * FROM plan_poniedzialek WHERE id=1


Edycja np pola 8:

  1. UPDATE plan_poniedzialek SET 8=$wartowść_do_dodania' WHERE id=1


Poza tym:
  1. <?php
  2. mysql_select_db("kwserwer_5"); // wybieram bazę danych
  3. UPDATE plan_poniedzialek SET pole='$ppt9' ;
  4. mysql_close(); // kończę połączenie z bazą danych
  5. ?>


taki kod nie ma prawa działać. Powinno być:

  1. <?php
  2. mysql_select_db("kwserwer_5"); // wybieram bazę danych
  3. $zapytanie = "UPDATE plan_poniedzialek SET pole='$ppt9' WHERE id=1";
  4. $wykonaj = mysql_query($zapytanie);
  5. mysql_close(); // kończę połączenie z bazą danych
  6. ?>


Poczytaj kurs php i mysql.

Ten post edytował uli 12.07.2007, 11:57:53
Go to the top of the page
+Quote Post
Piotrwusek
post
Post #11





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

Ostrzeżenie: (20%)
X----


zmieniłem strukturę tabeli tak jak kazałeś i nawet dowiedziałem sie że liczba nie może być kolumną to wyszło mi tak i wszystko chodzi

  1. CREATE TABLE `plan_poniedzialek` (
  2. `id` bigint(20) NOT NULL DEFAULT '1',
  3. `pierwsza` varchar(20) NOT NULL DEFAULT '',
  4. `druga` varchar(20) NOT NULL DEFAULT '',
  5. `trzecia` varchar(20) NOT NULL DEFAULT '',
  6. `czwarta` varchar(20) NOT NULL DEFAULT '',
  7. `piata` varchar(20) NOT NULL DEFAULT '',
  8. `szusta` varchar(20) NOT NULL DEFAULT '',
  9. `siodma` varchar(20) NOT NULL DEFAULT '',
  10. `osma` varchar(20) NOT NULL DEFAULT '',
  11. `dziewiata` varchar(20) NOT NULL DEFAULT '',
  12. PRIMARY KEY (`id`)
  13. ) ENGINE=MyISAM DEFAULT CHARSET=latin2;
  14.  
  15. --
  16. -- Zrzut danych tabeli `plan_poniedzialek`
  17. --
  18.  
  19. INSERT INTO `plan_poniedzialek` VALUES (1, '---', '---', '---', '---', '---', '---', '---', '---', '---');
Go to the top of the page
+Quote Post
flv
post
Post #12





Grupa: Zarejestrowani
Postów: 130
Pomógł: 1
Dołączył: 29.06.2007

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


Nalegam żebyś jednak dokładnie przeczytał jakiś kurs php + mysql, nie musisz ręcznie wpisywać każdego id, nadaj tej kolumnie właściwość auto_increment tak jak podał poprzednik. Swoją drogą to ten temat przypomina raczej ogłoszenia matrymonialne...

Ten post edytował flv 12.07.2007, 12:41:29
Go to the top of the page
+Quote Post

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: 4.10.2025 - 00:45