Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] edycja danych
Forum PHP.pl > Forum > Przedszkole
em-ba
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. ?>
ayeo
Możesz po prostu dodawać do bazy dodatkowe kolumny z id autora np aaa, aaa_author_id Potem sprawdzasz tylko id i tyle
em-ba
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..
ayeo
  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).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.