Witam,

Mam pewien problem. Bawię się z napisaniem pewnego prostego systemu w którym będzie można przechowywać dane klientów oraz ich projektów, udało mi się zrobić dodawanie klientów oraz projektów do bazy, wyświetlanie ich - teraz chciał bym jeszcze aby była możliwość ich usuwania oraz edytowania, to niby nie problem, ale zaraz opiszę z czym mam kłopot. Projekty dodaję w ten sposób:

  1. include("config.php");
  2.  
  3. $name = $_POST['name'];
  4. $www = $_POST['www'];
  5. $cost = $_POST['cost'];
  6. $date = $_POST['date'];
  7. $text = $_POST['text'];
  8. $client_id = $_POST['client_id'];
  9.  
  10. if($name and $client_id) {
  11. header ("Location: ./index.php?add_project=1");
  12.  
  13. $insert = @mysql_query("INSERT INTO `projects` (`project_id`, `client_id`, `project_name`, `project_www`, `project_text`, `project_cost`, `project_status`, `project_date`) VALUES ('', '$client_id', '$name', '$www', '$text', '$cost', '1', '$date')");
  14. if($insert) echo "Rekord został dodany poprawnie";
  15. else echo "Błąd nie udało się dodać nowego rekordu";
  16.  
  17. mysql_close($connection);
  18. }
  19. else {
  20. header ("Location: ./index.php?add_project=2");
  21. }


Wyświetlam je w taki sposób:
  1. include("config.php");
  2.  
  3. $sql = "SELECT `project_id`, `project_name` FROM `projects`;";
  4. $wynik = mysql_query($sql);
  5.  
  6. $projects_list = '<option value="" selected="selected"></option>';
  7.  
  8. while ($dane = mysql_fetch_array($wynik)) {
  9. $projects_list .= '<option value="'.$dane[0].'"';
  10. $projects_list .= '>'.$dane[2].'</option>';
  11. }
  12.  
  13. $sql2 = "SELECT `projects`.`project_id`, `projects`.`client_id`, `projects`.`project_name`, `projects`.`project_text`, `projects`.`project_www`, `projects`.`project_cost`, `projects`.`project_status`, `projects`.`project_date`, `clients`.`client_name` FROM `projects`, `clients` WHERE `projects`.`client_id` = `clients`.`client_id` ORDER BY `project_id` DESC";
  14. $wynik2 = mysql_query($sql2);
  15.  
  16. $projects_display = '<h2>Projekty</h2>';
  17.  
  18. while ($dane2 = mysql_fetch_array($wynik2)) {
  19. $projects_display .= '<div>
  20. <span>Nazwa: </span> '.$dane2[2].' <br />
  21. <span>WWW:</span> '.$dane2[4].' <br />
  22. <span>Opis: </span> '.$dane2[3].' <br />
  23. <span>Status:</span> '.$dane2[6].' <br />
  24. <span>Data Ukończenia:</span> '.$dane2[7].' <br />
  25. <span>Koszt:</span> '.$dane2[5].' <br />
  26. <span>Klient:</span> '.$dane2[8].' <br /><br />
  27. </div>';
  28. }

Pierwsze zapytanie do bazy wyświetla same tytuły projektów w polu select, natomiast drugie zapytanie wyświetla już praktycznie wszystkie informacje.

Na stronie mam po prostu kod:
  1. <?php include("get_clients.php"); ?>
  2. <?php echo $clients_list; ?>

Przy czym plik get_clients.php to ten podany wyżej. Chciał bym na sam początek dodać chociaż napis Edytuj albo Usuń, przy czym usuwanie ma nie usuwać wpisu, jedynie zmieniać jego status z domyślnego 1 na 3 ... przy edytowaniu nie wiem jak rozwiązać problem z pojawieniem się nowego okna, w którym były by formularze z już wpisanymi danymi z danego edytowanego projektu, i można by było po prostu coś tam usunąć, dopisać itp, po czym zapisać i pójdzie zapytanie do bazy uaktualniające te dane ...

Formularz do dodawania projektów mam taki:
  1. <form action="add_project.php" method="post">
  2. <ul>
  3. <li><input type="text" name="name" /><span>nazwa projektu *</span></li>
  4. <li><input type="text" name="www" /><span>strona WWW</span></li>
  5. <li><input type="text" name="cost" /><span>koszt</span></li>
  6. <li><input type="text" name="date" /><span>data ukończenia (rrrr-mm-dd)</span></li>
  7. <li>
  8. <select name="client_id" size="1" class="form">
  9. <?php include("get_clients.php"); ?>
  10. <?php echo $clients_list; ?>
  11. </select><span>klient *</span>
  12. </li>
  13. <li><textarea rows="" cols="" name="text" class="text"></textarea><span>opis</span></li>
  14. </ul>
  15. <br style="clear:both;" />
  16. <div class="left">
  17. <input type="submit" value="" class="add" />
  18. </div>
  19. <?php if ($_GET['add_project'] == 1) {
  20. echo "<div class=\"left confirm\">
  21. Projekt został dodany
  22. </div>" ;
  23. }
  24. elseif ($_GET['add_project'] == 2) {
  25. echo "<div class=\"left error\">
  26. Pola z gwiazdkami * są wymagane<br />
  27. nazwa projektu / klient
  28. </div>" ;
  29. }
  30. ?>
  31. </form>

I domyślam się że ten od edytowania wyglądał by bardzo podobnie, tylko że w jaki sposób mam do niego ładować już uzupełnione pola?

No i ostatni problem ... w jaki sposób zrobić coś takiego, aby napisać tylko jeden kod do wyświetlania projektów oraz napisów edytuj / usuń obok, ale żeby każdy z tych napisów przy różnych projektach, odnosił się poprawnie do odpowiedniego?