Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [php/mysql] Edycja rekordu
buliyo
post
Post #1





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 9.01.2006

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


Ogolnie mam jakies tam wzgledne pojecie o tym jak to ma dzialac.. ciezko mi to tylko zakodowac..
chcialbym zrobic liste z warunkiem za pomoca kodu..
  1. <?php
  2. $zapytanie = "select * from klucze where wydawca like "J.Koz" order by data";
  3. $wykonaj = mysql_query ($zapytanie);
  4. while($wiersz=mysql_fetch_array ($wykonaj)) {
  5. echo "<b>Klucz Produktu:</b> ".$wiersz['klucz']."<br>
  6. <b>".$wiersz['data']."</b> ".$wiersz['odbiorca']."<br>
  7. ";
  8. }
  9.  
  10. ?>

chcialebym aby tak wyswietlane linie w petli byly linkami do powiedzmy pliku edit.php w ktorym zmienna rekordu bedzie generowana na podstawie odbiorcyi daty gdzyz w tabeli nie mam pola id..
w pliku edit jak sie domyslam bedzie formularz ktory bedzie zczytywal dane z bazy.. tylko jak pozniej nadpisac rekord nie dodajac nowego? prosze o pomoc..
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Nie jestem pewien, co chcesz zrobić, ale...

  1. <?php
  2. $zapytanie="UPDATE klucze SET pole='$wartosc' WHERE wydawca=jakis_wydawca"
  3. ?>


Po prostu masz kilka podstawowych zapytań do bazy:
SELECT
UPDATE
DELETE


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
buliyo
post
Post #3





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 9.01.2006

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


a jak zrobic aby byl jeden plik edit.php i w nim za pomoca zmiennej wczytywane bylyby rekordy..?
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Z tego, co zrozumiełem, to chcesz, aby pole ID w bazie danych było 'symulowane' zmienną zawartą w kodzie programu.
Czy nie lepiej uprościć sobie życie i stworzyć pole ID w bazie?
Sam bardzo czesto dodaję pola id w tabelach, co do których nie jestem pewien, czy nie będę musiał skorzystac z takiego dobrodziejstwa.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
buliyo
post
Post #5





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 9.01.2006

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


szczerze to wlasnie przeszukuje fora w celu znalezeinia polecenia MYSQL ktore doda mi pole id z autonumeracja..
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #6





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




oj!
Easy tiger.
Coś takiego to najlepiej zrobić przy tworzeniu bazy danych.
Najprościej zrobić to w phpMyAdmin. Masz ten program na serwerze?


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
buliyo
post
Post #7





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 9.01.2006

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


mam i wlasnie nie potrafie w nim wklepac polecenia ktore doda mi kolumne do tabeli.. a wiem ze mozna to zrobic jakos..
nie chce mi sie od nowa zbytnio pisac calej tabeli bo troche tych pol jest..
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #8





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Poszukaj dobrze. Jest tam opcja (gdy przeglądasz strukturę tabeli) 'wstaw [...] ' za/przed/na koncu/na poczatku

No cóż. Musisz się nauczyć obsługi tej dość prostej aplikacji do zarządzania bazą.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
buliyo
post
Post #9





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 9.01.2006

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


faktycznie jest! sorrki!
a jak ustawic tam aby pole automatycznie przybieralo jakas wartosc liczbowa?
autoinkrementacja to sie nazwya bodajrze winksmiley.jpg

Ten post edytował buliyo 27.05.2006, 15:20:54
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #10





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




tak. Unique oraz Autoincrement


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
buliyo
post
Post #11





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 9.01.2006

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


oki mam juz plik proba.php
ktory wyswietla mi linki do pliku edit.php?rekord=$numer_id_rekordu
co moge zrobic dalej?snitch.gif

Ten post edytował buliyo 27.05.2006, 16:01:30
Go to the top of the page
+Quote Post
krzyszbi
post
Post #12





Grupa: Zarejestrowani
Postów: 251
Pomógł: 13
Dołączył: 15.09.2005

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


  1. <?php
  2. echo '<a href="edit_form.php?rekord='.$wiersz['id'].'">'.$wiersz['data'].' '.$wiersz['klucz'].'</a><br />';
  3. ?>

niezaszkodzi przeczytać

Ten post edytował krzyszbi 27.05.2006, 16:23:03


--------------------
Everything should be made as simple as possible, but not simpler. - A.Eainstein
Go to the top of the page
+Quote Post
buliyo
post
Post #13





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 9.01.2006

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


chcialbym aby po kliknieciu w http://e24.net.pl/klucze/edit.php?rekord=1
ladowalo do formularza dane rekordu o numerze id=1
a nastepnie nadpisywalo go a nie tworzylo nowy.. prosze pomozcie..
Go to the top of the page
+Quote Post
krzyszbi
post
Post #14





Grupa: Zarejestrowani
Postów: 251
Pomógł: 13
Dołączył: 15.09.2005

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


plik edit_form.php
  1. <?php
  2. $zapytanie = "select * from klucze where id=".$_GET['id'];
  3. //nieufaj zmiennym z $_GET $_POST trzeba filtrować
  4. $wykonaj = mysql_query ($zapytanie);
  5. $wiersz= mysql_fetch_array($wykonaj )
  6. echo'<form action="edit.php" method="post">';
  7. echo'<input type="hidden" name="pole_id" value="'.$_GET['id'].'" />'; 
  8. //pole niewidocznie w formularzu 
  9. echo'<input type="text" name="pole_klucz" value="'.$wiersz['klucz'].'" />';
  10. //i podobnie na każde pole jakie cipotrzeba zmienić
  11. echo'<input type="submit" value="zamień" />';
  12. ?>

edit.php
  1. <?php
  2. $zapytanie = "UPDATE klucze SET pole_klucz='".$wiersz['klucz']."' where id=".$_POST['id'];
  3. //kolejne pola oddzielasz przecinkami
  4. //i dalej wykonujesz zapytanie i sprawdzasz czy się powiodło
  5. ?>

więcej info po EN

Ten post edytował krzyszbi 27.05.2006, 16:22:34


--------------------
Everything should be made as simple as possible, but not simpler. - A.Eainstein
Go to the top of the page
+Quote Post
buliyo
post
Post #15





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 9.01.2006

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


Parse error: parse error, unexpected T_ECHO in /klucze/form_edit.php on line 10
Go to the top of the page
+Quote Post
krzyszbi
post
Post #16





Grupa: Zarejestrowani
Postów: 251
Pomógł: 13
Dołączył: 15.09.2005

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


  1. <?php
  2. $wiersz= mysql_fetch_array($wykonaj );
  3. ?>

mój błąd (pisane z palca - brak średnika) ale cos takiego powinieneś się sam nauczyć jak to rozpoznawać i naprawiac


--------------------
Everything should be made as simple as possible, but not simpler. - A.Eainstein
Go to the top of the page
+Quote Post
buliyo
post
Post #17





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 9.01.2006

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


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /klucze/form_edit.php on line 9

troche mnie przerasta ten kod i nie moge go do konca zrozumiec sad.gif

Ten post edytował buliyo 27.05.2006, 17:07:17
Go to the top of the page
+Quote Post
krzyszbi
post
Post #18





Grupa: Zarejestrowani
Postów: 251
Pomógł: 13
Dołączył: 15.09.2005

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


to może wklej go i struktóre bazy
bo tak z kosmosu to ja nie dowiem co może być źle sad.gif


--------------------
Everything should be made as simple as possible, but not simpler. - A.Eainstein
Go to the top of the page
+Quote Post
buliyo
post
Post #19





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 9.01.2006

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


  1. CREATE TABLE `klucze` (
  2. `klucz` varchar(150) NOT NULL DEFAULT '',
  3. `data` varchar(25) NOT NULL DEFAULT '',
  4. `wydawca` varchar(150) NOT NULL DEFAULT '',
  5. `odbiorca` varchar(150) NOT NULL DEFAULT '',
  6. `nazwa` varchar(150) NOT NULL DEFAULT '',
  7. `kod` varchar(15) NOT NULL DEFAULT '',
  8. `miasto` varchar(100) NOT NULL DEFAULT '',
  9. `ulica` varchar(100) NOT NULL DEFAULT '',
  10. `email` varchar(50) NOT NULL DEFAULT '',
  11. `www` varchar(150) NOT NULL DEFAULT '',
  12. `nip` varchar(25) NOT NULL DEFAULT '',
  13. `telefon` varchar(15) NOT NULL DEFAULT '',
  14. `id` int(11) NOT NULL AUTO_INCREMENT,
  15. PRIMARY KEY (`klucz`,`wydawca`,`odbiorca`),
  16. UNIQUE KEY `id` (`id`),
  17. KEY `klucz` (`klucz`,`wydawca`,`odbiorca`)
  18. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=7 ;


form_edit.php
  1. <?php
  2. $connection = @mysql_connect('xxx', 'xxx', 'xxx')
  3. or die('Brak połączenia z serwerem MySQL');
  4. $db = @mysql_select_db('xxx', $connection)
  5. or die('Nie mogę połączyć się z bazą danych');
  6. $zapytanie = "select * from klucze where id=".$_GET['id'];
  7. //nieufaj zmiennym z $_GET $_POST trzeba filtrować
  8. $wykonaj = mysql_query ($zapytanie);
  9. $wiersz= mysql_fetch_array($wykonaj);
  10. echo'<form action="edit.php" method="post">';
  11. echo'<input type="hidden" name="pole_id" value="'.$_GET['id'].'" />'; 
  12. //pole niewidocznie w formularzu 
  13. echo'<input type="text" name="pole_klucz" value="'.$wiersz['klucz'].'" />';
  14. //i podobnie na każde pole jakie cipotrzeba zmienić
  15. echo'<input type="text" name="pole_odbiorca" value="'.$wiersz['odbiorca'].'" />';
  16. //i podobnie na każde pole jakie cipotrzeba zmienić
  17. echo'<input type="submit" value="zamień" />';
  18. ?>

edit.php
  1. <?php
  2. $connection = @mysql_connect('xxx', 'xxx', 'xxx')
  3. or die('Brak połączenia z serwerem MySQL');
  4. $db = @mysql_select_db('xxx', $connection)
  5. or die('Nie mogę połączyć się z bazą danych');
  6. $zapytanie = "UPDATE klucze SET pole_klucz='".$wiersz['klucz']."', pole_odbiorca='".$wiersz['odbiorca']."' where id=".$_POST['id'];
  7. //kolejne pola oddzielasz przecinkami
  8. //i dalej wykonujesz zapytanie i sprawdzasz czy się powiodło
  9. ?>
Go to the top of the page
+Quote Post
krzyszbi
post
Post #20





Grupa: Zarejestrowani
Postów: 251
Pomógł: 13
Dołączył: 15.09.2005

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


plik lista.php
  1. <?php
  2. //najpierw połączenie z bazą
  3. $zapytanie = "select * from klucze where wydawca like 'J.Koz' order by data ";
  4. $wykonaj = mysql_query ($zapytanie);
  5. //echo mysql_errno() . ": " . mysql_error();
  6.  
  7. while($wiersz=mysql_fetch_array ($wykonaj)) 
  8. {
  9. //print_r($wiersz);
  10. echo '<a href="edit_form.php?id='.$wiersz['id'].'">'.$wiersz['klucz'].' '.$wiersz['odbiorca'].'</a><br />';
  11. }
  12.  
  13. ?>

edit_form.php
  1. <?php
  2. //polączenie z bazą
  3. $zapytanie = "select * from klucze where id=".$_GET['id'];
  4. //nieufaj zmiennym z $_GET $_POST trzeba filtrować
  5. $wykonaj = mysql_query ($zapytanie);
  6. $wiersz= mysql_fetch_array($wykonaj);
  7. echo'<form action="edit.php" method="post">';
  8. echo'<input type="hidden" name="id" value="'.$_GET['id'].'" />'; 
  9. //pole niewidocznie w formularzu 
  10. echo'<input type="text" name="pole_klucz" value="'.$wiersz['klucz'].'" />';
  11. //i podobnie na każde pole jakie cipotrzeba zmienić
  12. echo'<input type="text" name="pole_odbiorca" value="'.$wiersz['odbiorca'].'" />';
  13. //i podobnie na każde pole jakie cipotrzeba zmienić
  14. echo'<input type="submit" value="zamień" />';
  15. ?>

edit.php
  1. <?php
  2. //najpierw połączenie z bazą
  3. echo$zapytanie = "UPDATE klucze SET klucz='".$_POST['pole_klucz']."', odbiorca='".$_POST['pole_odbiorca']."' where id=".$_POST['id'];
  4. $wynik = mysql_query ($zapytanie);
  5. echo mysql_errno() . ": " . mysql_error();
  6. //kolejne pola oddzielasz przecinkami
  7. //i dalej wykonujesz zapytanie i sprawdzasz czy się powiodło
  8. echo '<br /><a href="lista.php">lista</a><br />';
  9. ?>

kodik działa

Ten post edytował krzyszbi 27.05.2006, 17:43:22


--------------------
Everything should be made as simple as possible, but not simpler. - A.Eainstein
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 20.08.2025 - 08:09