Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Update rekordów
todziu
post 16.08.2006, 11:09:33
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 16.08.2006

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


WItam - jestem tutaj raczkujacy wiec prosze o wyrozumialosc - wiec tak mam tabele z nastepujacymi polami id, data, godz, nr_zgl, osoba, opis i chciabym teraz uaktualnic jeden z wierszy w tej bazie poprzez formularz z lista rozwijana np. wybieram sobie z listy rozwijanej (z kolumny) nr_zgl wartosc i wyswietlaja mi sie wszystkie wartosci z kolumn (id, data, godz, nr_zgl, osoba, opis) z danego wiersza które mozna zmienic - ja moge sie do tego zabrac, powiem tak iz samo uaktualnienie w bazie nie jest klopotem problem to formularz w ktotym jest pole rozwijane i przekazanie zmiennej do php - dzieki za jakakolwiek pomoc
Go to the top of the page
+Quote Post
skowron-line
post 16.08.2006, 12:09:54
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


nie wiem czy dobrze zrozumialem ale jesli chcesz to zrobic to przy wyciaganiu z bazy wrzucasz to w <input> i edytujesz co chcesz a po nacisnieciu submita robisz updata


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
todziu
post 16.08.2006, 13:44:17
Post #3





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 16.08.2006

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


mam taki kod:
  1. <?php
  2. include("config.php");
  3. print("<body bgcolor="black" text="chartreuse">");
  4. $link = mysql_connect($url, $log, $pas)
  5. or die ("<code><B>STATUS:</B><br>BLAD !!! Nie mozna nawiazac polaczenia<br>sprawdz ustawienia i polacz ponownie");
  6. mysql_select_db ($baza) or die ("Nie mozna wybrać bazy danych");
  7.  
  8. $zapytanie="select id, nr_zgl from zgloszenie";
  9. $wykonaj = mysql_db_query($baza, $zapytanie);
  10. <form action="$php_self">
  11.  <table border=1 >
  12. <tr>
  13. <td>nazwa</td><td></td></tr>";
  14.  while(list($id,$nr_zgl)= mysql_fetch_array($wykonaj))
  15.  {
  16.  echo" <tr> <td>$nr_zgl</td> <td><input type=radio name=id value=$id></td></tr> ";
  17.  }
  18.  echo"
  19. </table>
  20. <input type="submit" value=pokaz>
  21. </form>";
  22. ?>

A chcialbym to samo zrobic na liscie rozwijanej
Go to the top of the page
+Quote Post
artur81
post 16.08.2006, 13:45:00
Post #4





Grupa: Zarejestrowani
Postów: 252
Pomógł: 2
Dołączył: 4.12.2004
Skąd: Skierniewice

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


chyba bez ajaxa nie da rady
robisz funckję pobierającą w bazy nr_zgloszenie i ładującgo go do list (w php) i do tej listy podpinasz funkcję js ktora za pomocą ajaxa będzie przekazywała nr_zgloszenie do serwera i będzie odbierać formularz z wypełnionymi polami i wstawiać go na stronę. Ja to tak widzę
  1. <?php
  2. //tutaj połaćzenia z bazą , nagłówki etc.
  3. $wynik=mysql_query("select id, nr_zgl from zgloszenie");
  4. echo '<select name = "lista" onchange="twoja_funkcja_do_komunikacji_z_serwerem()">';
  5. while ($r= mysql_fetch_assoc($wynik)) {
  6.  $id=$r['id'];
  7.  $nr_zgl=$r['nr_zgl'];
  8. echo '<option value="'.$id.'">'.$nr_zgl.'</option>';
  9. }
  10. echo '</select>';
  11.  
  12. ?>

Pisane z ręki ale powinno być ok, poza tym to nie temat na bazy danych wg mnie.

Ten post edytował artur81 16.08.2006, 13:51:17


--------------------
Go to the top of the page
+Quote Post
todziu
post 16.08.2006, 13:51:25
Post #5





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 16.08.2006

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


O shit teraz mi zabiles klina - nie wiem co to "ajaxa" i nie za bardzo znam js ale cos pomysle - czyli mowisz ze nie da sie w ten sposob co opisalem wybrac jeden wiersz z listy rozwijanej i go wczytac do pol input ?
Go to the top of the page
+Quote Post
skowron-line
post 16.08.2006, 13:57:40
Post #6





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


robisz tak jak ci pokazal @Artur81 tylko ze ja bym zrobil
  1. <?php
  2. echo"<select name=od onchange="self.location.href = this.value">
  3. <option>link.php?site=edit&id=$id>$id</option>":
  4. ?>

a na stronie edit robisz wyciaganie z bazy
  1. SELECT * FROM tabela WHERE id = $_GET['id'];

wrzucasz do inputow i po temacie


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
todziu
post 16.08.2006, 14:38:31
Post #7





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 16.08.2006

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


ok dzieki - zaraz to wrzuce i przetestuje

powiedzcie mi co zrobilem nie tak w tej linijce kodu :
$wynik=mysql_query("select * from zgloszenie where id = $_GET['id']");
bo w logach wywala mi parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /var/www/htdocs/baza/baza1/zmien.php on line 35" title="Zobacz w manualu php" target="_manual
Go to the top of the page
+Quote Post
skowron-line
post 16.08.2006, 14:41:41
Post #8





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


tak ma byc $_GET[id]


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
todziu
post 16.08.2006, 15:01:54
Post #9





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 16.08.2006

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


ok nastepne pytanko :-D mam kod php :

$wynik=mysql_query("select id, nr_zgl from zgloszenie");
$wykonaj = mysql_db_query($baza, $wynik);

//wybieranie zlecenia z bazy
echo "<form action=\"$php_self\">";
echo "<select name=od onchange=\"self.location.href = this.value\">";
while ($r= mysql_fetch_assoc($wynik))
{
$id=$r['id'];
$nr_zgl=$r['nr_zgl'];
echo '<option value="'.$id.'">'.$nr_zgl.'</option>';
}
echo "</select>";
echo "<input type=\"submit\" value=\"Dodaj\">";
echo "</form>";

Wszystko pieknie ladnie w liscie rozwijanej pojawiaja sie wartosci z danego pola ale jak wybiore obojetnie jaka wartosc z listy automatycznie przechodzi mi do strony o numerze id rekordu ktory wybralem (wybralem wartosc o numerze id=5)

Not Found
The requested URL /baza/baza1/'.5.' was not found on this server.

co moze byc przyczyna ?
Go to the top of the page
+Quote Post
skowron-line
post 16.08.2006, 16:10:57
Post #10





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


zamien to :
  1. <?php
  2. echo '<option value="'.$id.'">'.$nr_zgl.'</option>';
  3. ?>

na
  1. <?php
  2. echo '<option value=link.php?site=edit&id="'.$id.'">'.$nr_zgl.'</option>';
  3. ?>

a automatycznie przechodzi bo masz opcje onchange jak ja usuniesz to bedziesz musial robic jak robiles ale dorzucic submita na koniec

edit:
P.s. wrzucaj kod w odpowiednie znaczniki

Ten post edytował skowron-line 16.08.2006, 16:11:54


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
My4tic
post 16.08.2006, 18:13:46
Post #11





Grupa: Zarejestrowani
Postów: 260
Pomógł: 0
Dołączył: 4.08.2005

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


Cytat(skowron-line @ 16.08.2006, 12:57 ) *
robisz tak jak ci pokazal @Artur81 tylko ze ja bym zrobil
  1. <?php
  2. echo"<select name=od onchange="self.location.href = this.value">
  3. <option>link.php?site=edit&id=$id>$id</option>":
  4. ?>

a na stronie edit robisz wyciaganie z bazy
  1. SELECT * FROM tabela WHERE id = $_GET['id'];

wrzucasz do inputow i po temacie


Takie rozwiązanie nie bedzie chyba zbyt dobre.

Temat: SQL Injection Insertion


--------------------
Załóż konto na dropbox.
Go to the top of the page
+Quote Post
skowron-line
post 17.08.2006, 08:07:26
Post #12





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


dla lekturki sql-injection (zeby nie bylo)

Ten post edytował skowron-line 17.08.2006, 08:07:42


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
todziu
post 17.08.2006, 14:08:13
Post #13





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 16.08.2006

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


no to jeszcze raz od poczatku - cos nie wychodzi albo ja zle przepisuje :-)

KOD:
  1. <?php
  2. echo "<form action="$php_self">";
  3. echo "<select name=od onchange="self.location.href = this.value">";
  4. while ($r= mysql_fetch_assoc($wynik))
  5. {
  6. $id=$r['id'];
  7. $nr_zgl=$r['nr_zgl'];
  8.  // echo '<option value="'.$id.'">'.$nr_zgl.'</option>';
  9.  echo '<option value=link.php?site=edit&id="'.$id.'">'.$nr_zgl.'</option>';
  10.  }
  11. //echo "</select>";
  12. echo "<input type="submit" value="Dodaj">";
  13. echo "</form>";
  14. ?>


do tej pory jest OK - lista rozwijana w ktorej umieszczone sa numery zgloszen z danej kolumny ale jezeli wybiore obojetnie jaka pozycje w liscie to przekierowuje http://jakistamadres/link.php?site=edit&id=%225%22 - pytanie moje brzmi co mam umiescic w tym pliku link.php bo za bardzo juz sie zakrecilem smile.gif wiem ze odczyt wiersza o numerze = zmiennej id - tylko pytanie JAK - dzieki
Go to the top of the page
+Quote Post
My4tic
post 17.08.2006, 16:25:29
Post #14





Grupa: Zarejestrowani
Postów: 260
Pomógł: 0
Dołączył: 4.08.2005

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


W ogole sie za to zle zabierasz.

Po co przekazujesz w value jakies url'e? Jak chcesz przekazac dane z formularza do pliku link.php to wpisz ścieżke do link.php w action.

  1. <?php
  2. echo "<form method="POST" action="link.php">";
  3. ?>


zamiast jakiegoś przekombinowanego:

  1. <?php
  2. echo "<select name=od onchange="self.location.href = this.value">";
  3. ?>


zrób:

  1. <?php
  2. echo "<select name=od onchange="submit()">";
  3. ?>


zamiast :

  1. <?php
  2. while ($r= mysql_fetch_assoc($wynik))
  3. {
  4. $id=$r['id'];
  5. $nr_zgl=$r['nr_zgl'];
  6. echo '<option value=link.php?site=edit&id="'.$id.'">'.$nr_zgl.'</option>';
  7.  }
  8. ?>


po prostu:

  1. <?php
  2. while ($r= mysql_fetch_assoc($wynik)) {
  3.  echo '<option value="'.$r['id'].'">'.$r['nr_zgl'].'</option>';
  4. }
  5. ?>


do tego dodaj jedno pole:

  1. <input type="hidden" name="site" value="edit">



Teraz do pliku link.php trafią wszystkie dane w tablicy $_POST

Ten post edytował My4tic 17.08.2006, 16:26:30


--------------------
Załóż konto na dropbox.
Go to the top of the page
+Quote Post
todziu
post 20.08.2006, 20:07:16
Post #15





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 16.08.2006

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


OK My4tic - jakbys mogl zerknac na ten kodzik:

plik1.php
  1. <?php
  2. echo "<form action="link.php" method="POST">";
  3. echo "<select name=od onchange="submit()">";
  4. while ($r= mysql_fetch_assoc($wynik))
  5.  
  6.  {
  7.  echo '<option value="'.$r['id'].'">'.$r['nr_zgl'].'</option>';
  8.  }
  9.  
  10. echo "</form>";
  11. ?>


plik2.php
  1. <?php
  2. $ident=$_POST['id'];
  3. $link = mysql_connect($url, $log, $pas);
  4. mysql_select_db ($baza);
  5. $zapyt = "SELECT * FROM zgloszenie WHERE id = $ident ";
  6. $wykonaj = mysql_db_query($baza, $zapyt);
  7. echo "rekord $ident";
  8. ?>


A w logach mi wywala blad Undefined index: id jak jest przekazywana do pliku2.php - co moze byc przyczyna


Ma ktos jakis nowy pomysl ?
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:23