Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] dzial czy nie ?
Forum PHP.pl > Forum > Przedszkole
right6
na localhoscie dziala bez problemu. Wysylam na server nie.

a o co choidzi ?

mam sobei tabele w niej blisko 1000 rekordow. kazdy ma pole sortowanie z duza litera alfabetu np A

teraz skryptowo wyciagam ... WHERE sortowanie = 'A'. Na lavalhoscie znajduje mi te rekordy na serverzu juz nie ....

wchodze do PHPmyadmina na servie, wklejam zapytanie SQL SELECT * FROM slownik_akr WHERE sortowanie='A' ORDER BY acronim ASC, i nic nie znajduje. blink.gif

tak wyglada tela i kilka wpisów

  1. CREATE TABLE `slownik_akr` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `acronim` varchar(255) collate utf8_swedish_ci NOT NULL DEFAULT '',
  4. `opis` text collate utf8_swedish_ci NOT NULL,
  5. `opis_pl` text collate utf8_swedish_ci NOT NULL,
  6. `opis_dodatkowy` text collate utf8_swedish_ci NOT NULL,
  7. `sortowanie` varchar(20) collate utf8_swedish_ci NOT NULL DEFAULT '0-1',
  8. `autor` int(11) NOT NULL DEFAULT '1',
  9. PRIMARY KEY (`id`)
  10. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci AUTO_INCREMENT=1124 ;
  11.  
  12. --
  13. -- Zrzut danych tabeli `slownik_akr`
  14. --
  15.  
  16. INSERT
  17. INTO `slownik_akr`
  18. VALUES (7, 'A/S', 'Age/Sex?', 'Wiek/Płeć ?', '', 'A\r\n', 1);
  19. INSERT
  20. INTO `slownik_akr`
  21. VALUES (8, 'A/S/L', 'Age/Sex/Location (or Language)?', 'Wiek/Płeć/Lokalizacja (lub język) ?', '', 'A\r\n', 1);
  22. INSERT
  23. INTO `slownik_akr`
  24. VALUES (9, 'AA', 'Alcoholics Anonymous', 'Anonimowy alkoholik', '', 'A\r\n', 1);
  25. INSERT
  26. INTO `slownik_akr`
  27. VALUES (10, 'AAA', 'Travel club', 'Klub turystyczny', '', 'A\r\n', 1);
  28. INSERT
  29. INTO `slownik_akr`
  30. VALUES (11, 'AAAAA', 'Travel club for alcoholics American Association Against Acronym Abuse', 'Amerykańskie stowarzyszenie przeciwko naduzycią akronimów', '', 'A\r\n', 1);
  31. INSERT
  32. INTO `slownik_akr`
  33. VALUES (12, 'AAMOF', 'As A Matter Of Fact', 'W rzeczywistości', '', 'A\r\n', 1);
  34. INSERT
  35. INTO `slownik_akr`
  36. VALUES (13, 'ABC', 'Already Been Chewed', 'Przeżuta guma', '', 'A\r\n', 1);
  37. INSERT
  38. INTO `slownik_akr`
  39. VALUES (14, 'ABD', 'All But Dissertation', 'Wszytsko tylko nie pisanie', '', 'A\r\n', 1);
  40. INSERT
  41. INTO `slownik_akr`
  42. VALUES (15, 'ACRONYM', 'Abbreviated Coded Rendition Of Name Yielding Meaning', '', '', 'A\r\n', 1);
  43. INSERT
  44. INTO `slownik_akr`
  45. VALUES (16, 'AFAICR', 'As fair as I can recall', 'O ile sobie przypominam', '', 'A\r\n', 1);

P.S.
tak teraz mi sie w oczy zucilo ze to moze przez to ze na koncu A jest \r\n. Ale jak to ucunac jakos questionmark.gif? mam 1000 rekordow.
siemakuba
Cytat
tak teraz mi sie w oczy zucilo ze to moze przez to ze na koncu A jest \r\n.

jezeli masz WHERE sortowanie='A' to faktycznie jest to przyczyna twojego problemu.

Cytat
Ale jak to ucunac jakos ??? mam 1000 rekordow.


trzeba zaczac tam gdzie zawsze, czyli na poczatku. Masz MySQL i string. czego potrzebujesz? String Functions w manualu MySQL. Tam znajdziesz TRIM.
  1. UPDATE slownik_akr SET sortowanie = TRIM(TRAILING '\r\n'
  2. FROM sortowanie);

to powinno dać rade.

pozdr.
right6
zrobilem inaczej.
zamias WHERE sortowanie='A'

dałem

WHERE sortownanie LIKE '%A%'

winksmiley.jpg
siemakuba
świetnie sobie poradziłeś :)

tylko po co:
- trzymać w bazie więcej danych niż potrzeba? każde twoje \r\n zajmuje miejsce
- używać wolniejszego LIKE od zwykłego = przy selectach?

kiedy można:
- zrobić updejt już istniejących danych żeby były OK
- pilnować co zapisujesz do bazy, tu wystarczy przed zapisaniem do bazy dać TRIM.

jednakowoż, twoja wola :)
pozdr.
right6
to jest projekt na konkurs, rejestracja juz dzisiaj, tak ze czasu nie mam za wiele smile.gif

ale projekt ma istniec i po konkursie, wiec poprawie smile.gif

P.S.

www.emotka.xp.pl smile.gif
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.