Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> przesyłanie poprawek rekordu i wyświetlanie rezultatu, trudno nawet mi opisać problem
Dopler
post
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 30.01.2008

Ostrzeżenie: (0%)
-----


Mam problem o który nie wiem dobrze nawet jak zapytać.

mam formularz i bazę danych - pola input formularza mają nazwy

jedną z funkcji jest poprawianie danych w bazie. Dzieje się to tak, że pola input pobierają dane i wyświetlają, a potem są wysyłane niezależnie od tego czy są zmienione czy nie.

problem jest jednak taki że w tym samym pliku są również funkcje wyszukujące rekordy i gdy wysyłam poprawiony formularz to w efekcie dostaję frazę "pomyślnie auktualniono" ale również efekt wyszukiwania po wszystkich zmiennych.

PRZYKŁAD:

rekordy:
Jan Kowalski ur. 1770 wieś Czarnoty
Henryk Gustaw ur. 1440 wieś Pcim
i iinne

wyszukiwanie $nazwsko=Kowalski
Jan Kowalski ur. 1770 wieś Czarnoty

wyszukiwanie $imie=Jan
Jan Kowalski ur. 1770 wieś Czarnoty

edycja rekordu Jan Kowalski
wysyłka - wynik:

rekord pomyślnie auaktualniono
Jan Kowalski ur. 1770 wieś Czarnoty
- wyświetlenie wyniku szukania nazwiska
Jan Kowalski ur. 1770 wieś Czarnoty - wyświetlenie wyniku szukania nazwiska

Nie rozumiem dlaczego tak się dzieje. Funkcja wyszukiwania nazwiska powinny działać tylko jeśli w adresie jest ?nazwisko=kowalski a przy wysyłaniu poprawki nie ma
Jest na to jakaś rada ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
d3ut3r
post
Post #2





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

Ostrzeżenie: (0%)
-----


Bez kodu to ciężko coś powiedzieć.
Go to the top of the page
+Quote Post
Dopler
post
Post #3





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 30.01.2008

Ostrzeżenie: (0%)
-----


po pół nocy grzebania w necie wpadłem na banalny pomysł jak to obejść
przy każdym wyszukiwaniu dodałem jednego ifa
if(!$action)
ale sądzę że poprawnie tego nie zrobiłem.

w skrócie przed włożeniem drugiego ifa
kod wyszukiwania
  1. if($nazwisko)
  2. {
  3. $getWord=mysql_query("SELECT nazwisko,imie, .... FROM tabela WHERE nazwisko LIKE '$nazwisko%' ORDER BY nazwisko", $db);
  4. if($getWordArray=mysql_fetch_array($getWord))
  5. {
  6. do
  7. {
  8. printf($getWordArray["imie"]);
  9. echo " ";
  10. printf($getWordArray["nazwisko"]);
  11. echo "<a href=\"$PHP_SELF?action=edit&id=";
  12. printf($getWordArray["id"]);
  13. echo "\">Edytuj</a>&nbsp; - &nbsp;";
  14. }
  15. while($getWordArray=mysql_fetch_array($getWord));
  16. }
  17. else
  18. {
  19. echo "<br>Brak takiego miejsca";
  20. }
  21. }


i kod edycji
  1. if($action=="edit")
  2. {
  3. $updateIt=mysql_query("UPDATE tabela SET nazwisko='$nazwisko', imie='$imie', .... WHERE id='$id'",$db);
  4. if($updateIt)
  5. {
  6. echo "<br><br>Informację: <i>$nazwisko $imie</i> pomyślnie uaktualniono<br><br>";
  7. }
  8. if(!$updateIt)
  9. {
  10. echo "Błšd w trakcie uaktualniania informacji: <i>$nazwisko $imie</i>";
  11. }
  12. if(!$nazwisko)
  13. {
  14. $getInfo=mysql_query("SELECT * FROM `tabela` WHERE id=$id",$db);
  15. if($theInfo=mysql_fetch_array($getInfo))
  16. {
  17. echo "<i>Nazwisko</i> ";
  18. echo "<input name=\"nazwisko\" type=\"text\" size=\"40\" value=\"";
  19. printf($theInfo["nazwisko"]);
  20. echo "\" maxlength=\"40\">";
  21. ........
  22. echo "<input name=\"action\" type=\"hidden\" value=\"edit\">
  23. <input name=\"id\" type=\"hidden\" value=\"$id\">
  24. <input type=\"submit\" value=\"Popraw\"> <input type=\"reset\" value=\"Anuluj\">
  25. </form>";
  26. }
  27. else
  28. {
  29. echo "Błąd";
  30. }
  31. }


(mogłem pominąć jakiś nawias przy skracaniu kodu)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.12.2025 - 14:24