06-12-2009, 17:36
Witajcie. Piszę sobie taki mały skrypt aktualności do CMSa, i do tej pory wszystko ładnie działało, ale właśnie znalazłem mały problem. Kod nie jest idealny, bo dopiero się uczę, a wszystko piszę "z palca", bez gotowych rozwiązań.
Chodzi o dodawanie nowych newsów. Aby wyznaczyć id_aktualnosci większe o 1 od poprzedniego, napisałem takie coś:
Później w formularzu dodałem id:
A przy wstawianiu do bazy wstawiam do jako "link". Później ten link jest na stronie wyświetlany jako "czytaj dalej" - służy do rozwinięcia newsa.
No i wszystko działa. Dodaje ładnie aktualności, wyświetla je, można edytować. Ale problem pojawia się po usunięciu jakiegoś newsa, i dodaniu kolejnego. Jeżeli było 5 newsów, usunę 3, to zostaną mi jeszcze 2. Dodaję kolejny. ID w bazie danych to oczywiście 6, ale mój skrypt przypisze id=3. I dlatego właśnie na stronie nie chce później wyświetlać newsów, lub wyświetla niewłaściwe...
Wie ktoś może jak to rozwiązać? A może w ogóle źle się za to zabieram? Pomóżcie
Chodzi o dodawanie nowych newsów. Aby wyznaczyć id_aktualnosci większe o 1 od poprzedniego, napisałem takie coś:
Kod PHP:
$zapytanie=mysql_query("SELECT * FROM aktualnosci");
$ile=mysql_num_rows($zapytanie);
$id_aktualnosci = ($ile+1);
Później w formularzu dodałem id:
Kod:
<input type="hidden" name="id_aktualnosci" value="<?php echo($id_aktualnosci); ?>">
A przy wstawianiu do bazy wstawiam do jako "link". Później ten link jest na stronie wyświetlany jako "czytaj dalej" - służy do rozwinięcia newsa.
Kod PHP:
$link = ('aktualnosci.php?id='.$id_aktualnosci);
...
mysql_query("INSERT INTO aktualnosci VALUES ('', NOW(), '$tresc_krotka', '$tresc', '$link')");
No i wszystko działa. Dodaje ładnie aktualności, wyświetla je, można edytować. Ale problem pojawia się po usunięciu jakiegoś newsa, i dodaniu kolejnego. Jeżeli było 5 newsów, usunę 3, to zostaną mi jeszcze 2. Dodaję kolejny. ID w bazie danych to oczywiście 6, ale mój skrypt przypisze id=3. I dlatego właśnie na stronie nie chce później wyświetlać newsów, lub wyświetla niewłaściwe...
Wie ktoś może jak to rozwiązać? A może w ogóle źle się za to zabieram? Pomóżcie
