Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodawanie po kolei ekordów.
Forum PHP.pl > Forum > Bazy danych > MySQL
djtomaszq
Witam.

Używam takiego kodu
  1. if($autor != NULL)
  2. mysql_query("INSERT INTO komentarze VALUES ('$date', NULL, '$autor','$tresc')");

do wprowadzania do bazy rekordów przez dodanie jako formularz kolejnego komentarza na stronie.

np. mam takie rekordy w bazie:
$date', NULL, '$autor','$tresc'
12-12-1212 1 adam cos cos cos
12-12-1212 2 ewa cos cos cosasd
12-12-1212 3 ala cos cos cosasdasd
12-12-1212 4 Michal cos cos cosds s s s s s

gdy wejde w baze i usune np. 3 rekord czyli (ten pogrubiony) to jak wejde na strone i napisze kolejny komentarz to będzie mial on wartosc ID=5 ale bedzie w miejscu tego 3 co w rezultacie wyswietla komentarz nie jako ostatni tylko w miejscu usunietego.
Jak sobie z tym poradzic?

To kod na zapytanie do bazy o wyswietlanie rekordow:
  1. $zapytanie = "SELECT * FROM komentarze";
  2. $wynik = mysql_query($zapytanie)
  3. or die("Zapytanie nieprawidłowe");
  4.  
  5. while ($wiersz = mysql_fetch_array($wynik)){
  6. echo"<table>
  7. <tr style='background-image: linear-gradient(black, silver)'>
  8. <td id='topka'>".$wiersz["data"]."</td>
  9. <td id='topka'></td>
  10. </tr>
  11. <tr>
  12. <td id='dolna_lewa'>".$wiersz["autor"]."</td>
  13. <td id='dolna_prawa'>".$wiersz["tresc"]."</td>
  14. </tr>
  15. </table>";
KsaR
Cytat(djtomaszq @ 7.07.2015, 12:31:59 ) *
Witam.

Używam takiego kodu
  1. if($autor != NULL)
  2. mysql_query("INSERT INTO komentarze VALUES ('$date', NULL, '$autor','$tresc')");

do wprowadzania do bazy rekordów przez dodanie jako formularz kolejnego komentarza na stronie.

np. mam takie rekordy w bazie:
$date', NULL, '$autor','$tresc'
12-12-1212 1 adam cos cos cos
12-12-1212 2 ewa cos cos cosasd
12-12-1212 3 ala cos cos cosasdasd
12-12-1212 4 Michal cos cos cosds s s s s s

gdy wejde w baze i usune np. 3 rekord czyli (ten pogrubiony) to jak wejde na strone i napisze kolejny komentarz to będzie mial on wartosc ID=5 ale bedzie w miejscu tego 3 co w rezultacie wyswietla komentarz nie jako ostatni tylko w miejscu usunietego.
Jak sobie z tym poradzic?

Tak właśnie działa ID (Auto-increment).
Baza zapamiętuje ID, jednak w id zdarzają się czasem nawet skoki id,
Typu: 1...2...3...4..(...)..7..8..9...20...21..22..23..30

Itp. Nie ma co patrzeć tak na id.
Chyba ze chodzi ci o to ktory jest dany komentarz.

"w rezultacie wyswietla komentarz nie jako ostatni tylko w miejscu usunietego. "
Możesz rozwinąć?

Skoro komentarze są dodawane po kolei.
I wyswietlane po kolei, to zawsze bedzie w miejscu tym samym gdzie był skasowany,
A gdy dodany to +1 miejsce.
djtomaszq
Tzn. chce zeby to dzialalo tak jak forum np.
sa sobie komentarze:
1 dasdasd
2 fadsa
itd.
i np komentarz numer 1 byl obrazliwy to dodam opcje ktora go usunie ale jak ktos doda kolejny osobny komentarz to chce zeby był na koncu a nie w miejscu tego usunietego
Pyton_000
ORDER BY id
djtomaszq
Dzięki smile.gif Działa gdy kod:
  1. $zapytanie = "SELECT * FROM komentarze";

Zamieniłem na
  1. $zapytanie = "SELECT * FROM komentarze ORDER BY id";";
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.