Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] edycja danych, nie wszystkich
em-ba
post
Post #1





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


Witam, posiadam formularz rejestracyjny, który składa się z tak jakby dwóch..
Pierwszy ma inne pola niż drugi ale posiadają także wspólne..
Nie wiem jak przy edycji danych wyciągać tylko te pola, które w bazie są wypisane przez użytkownika..

Może taki przykład bardziej będzie jasny:
1.Podczas rejestracji użytkownik w jednym formularzu podaje pola: aaa, ccc
drugi użytkownik w drugim formularzu podaje pola: bbb, ccc

2.W bazie pola są umieszczone odpowiednio kolejno: aaa, bbb, ccc

Jak i czy w ogóle istnieje taka możliwość, żeby użytkownikowi do edycji były wyciągane tylko te pola, które podał przy rejestracji?
Czyli np. jeden użytkownik, który uzupełnił pola aaa i ccc - może edytować tylko te a nie wszystkie?

  1. <?php
  2. $user=$_SESSION['login'];
  3. mysql_connect ('localhost', 'root', 'krasnal') or die ("nie udało sie połączyć");
  4. mysql_select_db('x') or die ("Nie mozna zlokalizowac bazy danych");
  5.  
  6. $dane = mysql_query ("SELECT * FROM `uzytkownicy` WHERE login='$login'");
  7. $dane2 = mysql_fetch_array($dane);
  8.  
  9. '<div>
  10.  <form action="?mod=akt" method="POST">
  11. <fieldset>
  12. <legend><b>Dane:</b></legend>
  13. <div>
  14. <div id="md">
  15. <div>
  16. <label for="aaa">aaa:</label>
  17. <input id="aaa" name="aaa" class="text" type="text" maxlength="30" value="'.$dane2['aaa'].'" />
  18. </div>
  19. <div>
  20. <label for="bbb">bbb:</label>
  21. <input id="bbb" name="bbb" class="text" type="text" maxlength="30" value="'.$dane2['bbb'].'" />
  22. </div>
  23. <div>
  24. <label for="ccc">ccc:</label>
  25. <input id="ccc" name="ccc" class="text" type="text" maxlength="30" value="'.$dane2['ccc'].'" />
  26. </div>
  27.  
  28. <div>
  29. <input id="submit" name="send" class="submit" type="submit" value="Zapisz"/>
  30. </div>
  31. </div>
  32. </div>
  33. </fieldset>
  34. </form>
  35. </div>';
  36.  $mod = $_GET['mod'];
  37.  $aaa = $_POST['aaa'];
  38.  $bbb = $_POST['bbb'];
  39.  $ccc = $_POST['ccc'];
  40.  
  41. if($mod == akt){
  42. $dane = "UPDATE `uzytkownicy`
  43.  SET `aaa`='$aaa',`bbb`='$bbb',`ccc`='$ccc'
  44.  WHERE login ='$login'";
  45.  mysql_query ($dane) or die(mysql_error());
  46.  print '<div><span style="color: red; font-weight: bold;"><br>Nadpisano dane</span><br></div>';
  47.  }
  48. ?>


Ten post edytował em-ba 9.05.2008, 11:22:32
Powód edycji: Warto, obok książek o programowaniu, posiadać książkę o ortografii.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
ayeo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Możesz po prostu dodawać do bazy dodatkowe kolumny z id autora np aaa, aaa_author_id Potem sprawdzasz tylko id i tyle


--------------------
Go to the top of the page
+Quote Post
em-ba
post
Post #3





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


myslałem o czymś takim.. ze sprawdza po loginie, które pola sa puste - i tych nie wyswietla.. ale nie wiem czy tak da rade zrobić.. zeby nie wyswietlalo w formularzu tych pol, które nie są wypełnione..
Go to the top of the page
+Quote Post
ayeo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


  1. <?php
  2. if($row['aaa'] != "")
  3. {
  4. echo "<input..........
  5. }
  6. ?>


Tylko musisz jeszcze sprawdzać czy formularz nie jest wyświetlany pierwszy raz, np przy rejstracji. Wtedy wyświetlasz całość (dodaj sobie ten warunek).


--------------------
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 Aktualny czas: 20.08.2025 - 11:50