Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Problem z ponownym zapisem(zapytanie)
Forum PHP.pl > Forum > Przedszkole
microh
Witam!
Tworze dział ostatnio szukane, do wyszukiwarki na swoja strone.

Problem polega na tym, ze jeśli wpisze jakąs fraze to ona prawidłowo się zapisze, ale gdy odswierze strone, zapisze się ponownie.

wyglada to mw. tak:

1. aaa
2. aaa
3. zabawki
4. zabawki
5. zabawki
6. zabawki
7. zabawki
8. zabawki
9. zabawki
10. zabawki
11. lol
12. gry
13. gry
14. lol
15. lol

Wiec staram się zrobic zapytanie, dzięki któremu sprawdze, czy ostatnio dodany do bazy jest identyczny z tym co teraz się dodaje:

  1. <?php
  2.  $ten_ostatni = mysql_query("select tresc from ostatnio ORDER BY id DESC LIMIT 1 ");
  3. if( $tekst != mysql_fetch_array($ten_ostatni) )
  4. $sql_query = mysql_query("INSERT into ostatnio (tresc) values ('{$tresc}')");
  5. ?>


Co w zapytaniu zrobiłem źle?
in5ane
Jak dobrze rozumiem, to pierw musisz sprawdzić czy dana fraza jest w bazie i jeżeli nie ma to dopiero wtedy dodać do bazy. Możesz to zrobić za pomocą instrukcji warunkowej.

Pozdro smile.gif


P.S.: Jeżeli nie o to chodzi to sorry tongue.gif
drPayton
  1. <?php
  2. mysql_fetch_array($ten_ostatni)
  3. ?>
zwraca Ci tablicę a nie jeden element (tu: tekstowy)

  1. <?php
  2. $ten_ostatni = mysql_query("select tresc from ostatnio ORDER BY id DESC LIMIT 1 ");
  3. $row = mysql_fetch_array($ten_ostatni);
  4. if( $tekst != $row[0]['tresc'] )
  5. (...)
  6. ?>

Pisałem z głowy, tego: $row[0]['tresc'] nie jestem pewien, ale już wiesz gdzie tkwi błąd...

Inna sprawa, że tego typu problem lepiej jest rozwiązać poprzez blokadę ponownego wysyłania formularza po jednym (poprawnym) użyciu. Np headerem przekierować na inną (czy nawet tą samą stronę), zapisać info do sesji i sprawdzać, czy był wysyłany formularz i wiele innych metod które znajdziesz na forum (czy na googlach) pod hasłem: "blokada ponownego wysyłania formularza po odświeżeniu"
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.