Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> tablica wielowymiarowa
attimo
post
Post #1





Grupa: Zarejestrowani
Postów: 115
Pomógł: 6
Dołączył: 23.01.2010

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


wartosc nie chce sie przypisac do tablicy. przypisuje sie dla pierwszych dwoch wykonan ale potem juz nie chociaz warunek sie spelnia istnieje wartosc. chodzi o to ze kazde kolejne wpisanie litery powoduje jesli zgadza sie z wzorcem ucinanie o jeden i zpaisanie do tablicy.
  1. } else if(strlen($znak) > 1 && $_SESSION['usun'] == false) {
  2. for($i=0;$i<$_SESSION['ile'];$i++) {
  3. if($_SESSION['tab'][strlen($znak)-2][$i][0] === $znak[strlen($znak)-1]) {
  4. $_SESSION['tab'][strlen($znak)-1][] = substr($_SESSION['tab'][strlen($znak)-2][$i],1);
  5. if($_SESSION['tab'][strlen($znak)-1][$i][0] == '') {
  6. array_pop($_SESSION['tab']);
  7. }
  8. }
  9. }
  10. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
attimo
post
Post #2





Grupa: Zarejestrowani
Postów: 115
Pomógł: 6
Dołączył: 23.01.2010

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


Jest pole tekstowe po wciesnieciu klawisza lacze sie poprzez ajaxa do pliku php i nastepnie z baza mysql i pobieram wszystkie rekordy zapisujac je do tablicy. skrypt wyszukuje wyrazow kontunuujacych czyli np. wpisze kom to pokaze mi jako popowiedz to co wpisalem plus puter. tablica wyglada tak:
(IMG:http://fotozrzut.pl/zdjecia/b26668ea2a.jpg)
kazda kolejna litera powoduje utowrzenie nowego elementu z wyrazami ktore spelniaja warunek czyli sa kontunuacja. w dalszej czesci po usunieciu bede usuwal te elementy wiec nie powinno to za bardzo obciazac. problem jest taki, ze ten kod zadziala tylko jesli podam odpowiednik dla pierwsze elementu danego elmentu czyli w przykladzie bylaby to litera o i wygladalo by to tak jak powinno czyli:
(IMG:http://fotozrzut.pl/zdjecia/56181b4989.jpg)
niestety jesli wpisze juz litere inna niz wartosc pierwszego podelementu to sie nic nie wykonuje choc powinno. nie mam juz na to pomyslu.

troche wiecej kodu.
  1. $_SESSION['dlugosc'] = strlen($_POST['name']);
  2.  
  3. if(!isset($_SESSION['tab'])) {
  4. foreach($tablica as $wartosc) {
  5. if(strlen($znak) == 1 && strpos($wartosc,$znak) === 0) {
  6. $_SESSION['tab'][0][] = substr($wartosc,1); //pierwsze wywolanie powoduje zpaisanie wszystkich wyrazow kontunuujacych od danej litery
  7. $_SESSION['ile'] = count($_SESSION['tab'][0]);
  8. }
  9. }
  10. } else if(strlen($znak) > 1 && $_SESSION['usun'] == false) {
  11. for($i=0;$i<$_SESSION['ile'];$i++) {
  12. if($_SESSION['tab'][strlen($znak)-2][$i][0] === $znak[strlen($znak)-1]) {
  13. $_SESSION['tab'][strlen($znak)-1][] = substr($_SESSION['tab'][strlen($znak)-2][$i],1); // kazde kolejne powoduje zpaisanie do tablicy
  14. if($_SESSION['tab'][strlen($znak)-1][$i][0] == '') {
  15. array_pop($_SESSION['tab']);
  16. }
  17. }
  18. }
  19. }


edit..zmienna znak to wyraz wpisany do pola tekstowego

Ten post edytował attimo 30.07.2010, 19:29:17
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 17.10.2025 - 11:21