Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Mały problem ze skryptem aktualności (newsów)
#1
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ś:
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 Wink
Odpowiedz
#2
tak zle zabierasz kolego Smile id sie samo dodaje kolejne . czyli np. jak miales ostatnie id np. 5 to jak usuniesz wszystkie newsy to i tak kolejny news bedzie mial id = 6 bo to id dajesz
Kod PHP:
`idint(11NOT NULL auto_increment
czyli to ze samo bedzie sie robilo +1 czyli nie trzeba wpisywac do bazy go tak jak robisz
Kod PHP:
$zapytanie=mysql_query("SELECT * FROM aktualnosci");
$ile=mysql_num_rows($zapytanie);
$id_aktualnosci = ($ile+1); 
to nie potrzebne

i np kolego nie wiem po co wstawiasz do bazy link Rolleyes
przeciez przy wyswietlaniu mozesz zrobic
Kod PHP:
while ( $licznik mysql_fetch_array ($news))
         {
          echo 
"<a href='?strona=czytajwiecej&id=".$licznik['id']."'>Więcej</a>";
        } 
czy jaki tam link ci potrzebny Smile


no i tak samo usuwasz no nie . czyli wyswietlasz z linkiem z id i potem w getcie przekazujesz id newsa i skrypt bierze id i usuwa z bazy gdzie id = $_GET['id'] ;
edycja tak samo Smile


problem u ciebie widnial w dodawaniu Smile ja robie tak jak opisuje i dziala . jak chcesz to ci podrzuce mój system newsów.
Cytat:Wyrazić to co czuję , zabrakło by tyle słów....
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  PhpMelody problem ze skryptem pczdz 2 2,538 21-11-2010, 21:29
Ostatni post: pczdz
  Problem ze skryptem - forumlarz kontaktowy Tomasa 3 3,088 13-11-2010, 20:18
Ostatni post: MateuszRyaN
  Mały kłopot z funkcją mail() Jozeph 11 7,953 20-08-2010, 15:07
Ostatni post: Jozeph
  [PHP][MYSQL]problem ze skryptem i bazą mysql(zwraca false mimo, że w bazie są wpisy) maniek1250 4 3,167 16-04-2010, 18:12
Ostatni post: Pedro84
  [PHP] Problem ze skryptem, który wysyła na e-mail dane z formularza mgr130 5 4,339 15-03-2010, 23:13
Ostatni post: KowR

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl