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:
include("config.php"); $name = $_POST['name']; $www = $_POST['www']; $cost = $_POST['cost']; $date = $_POST['date']; $text = $_POST['text']; $client_id = $_POST['client_id']; if($name and $client_id) { $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')"); } else { }
Wyświetlam je w taki sposób:
include("config.php"); $sql = "SELECT `project_id`, `project_name` FROM `projects`;"; $projects_list = '<option value="" selected="selected"></option>'; $projects_list .= '<option value="'.$dane[0].'"'; $projects_list .= '>'.$dane[2].'</option>'; } $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"; $projects_display = '<h2>Projekty</h2>'; $projects_display .= '<div> <span>Nazwa: </span> '.$dane2[2].' <br /> <span>WWW:</span> '.$dane2[4].' <br /> <span>Opis: </span> '.$dane2[3].' <br /> <span>Status:</span> '.$dane2[6].' <br /> <span>Data Ukończenia:</span> '.$dane2[7].' <br /> <span>Koszt:</span> '.$dane2[5].' <br /> <span>Klient:</span> '.$dane2[8].' <br /><br /> </div>'; }
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:
<?php include("get_clients.php"); ?>
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:
<form action="add_project.php" method="post"> <ul> <li><input type="text" name="name" /><span>nazwa projektu *</span></li> <li><input type="text" name="www" /><span>strona WWW</span></li> <li><input type="text" name="cost" /><span>koszt</span></li> <li><input type="text" name="date" /><span>data ukończenia (rrrr-mm-dd)</span></li> <li> <select name="client_id" size="1" class="form"> <?php include("get_clients.php"); ?> </select><span>klient *</span> </li> <li><textarea rows="" cols="" name="text" class="text"></textarea><span>opis</span></li> </ul> <br style="clear:both;" /> <div class="left"> <input type="submit" value="" class="add" /> </div> <?php if ($_GET['add_project'] == 1) { echo "<div class=\"left confirm\"> Projekt został dodany </div>" ; } elseif ($_GET['add_project'] == 2) { echo "<div class=\"left error\"> Pola z gwiazdkami * są wymagane<br /> nazwa projektu / klient </div>" ; } ?> </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?