ďťż

[PHP] 2 problemy (a może jeden) z tablicami :/ Na localhoście wszystko ok ,a w sieci nie :(

       

Podstrony


telcocafe

Otóż mam następujący problem : napisałem sobie podstawy skryptu do generowania szablonu na podstawie zmiennych z bazy danych, gdy testowałm to wszystko na localhoście (używam Vertrigo Serv) wszytko było w porządku. Problemy zaczeły się po przeniesieniu plików na jedno z moich kont FTP - zaczęły pojawiać się błędy ,których wcześniej nie miałem :

$tablica[$konfigurator_position] = $konfigurator; $tablica[$shoutbox_position] = $shoutbox; $tablica[$forum_position] = $forum; $tablica[$online_position] = $online; $tablica[$tagi_position] = $tagi; $a=$tablica[1]; $b=$tablica[2]; $c=$tablica[3]; $d=$tablica[4]; $e=$tablica[5]; $zawartosc .= '<div id="panel_nr1">'.$a.'</div><div id="panel_nr2">'.$b.'</div><div id="panel_nr3">'.$c.'</div><div id="panel_nr4">'.$d.'</div><div id="panel_nr5">'.$e.'</div>';

Powyższy kod wyświetla błąd :

Message: Undefined offset: 1

Te zmienne $a ,$b itd. zrobiłem tylko testowo - gdy umieściłem zmienne tablicowe w ciagu znaków był ten sam błąd...

Zmienne o zakończeniu _position przyjmują wartości od 1 do 6 i się nie duplikują...

------------------------

Teraz drugi problem:
Korzystam z frameworka Code Igniter i wywyłałem zapytanie do bazy :
$query = $this->db->query($tu_zapytanie_(na_pewno_poprawne)); foreach($query->result() as $row) { // tu przypisywanie zmiennym wartości z tablic }

Wyświetlał mi się błąd o nieprawidłowym parametrze dla funkcji foreach :/

--------------------------------------------

Wydaje mi się ,że może być wspólna przyczyna tych problemów - $query->result() też jest tablicą...

Czy da się zmienić coś w konfiguracji serwera by usunąć ten błąd - mam taką możliwość więc nie będzie problemów w zmianach. I co w ogóle jest przyczyną takiego stanu rzeczy ?




Otóż mam następujący problem : napisałem sobie podstawy skryptu do generowania szablonu na podstawie zmiennych z bazy danych, gdy testowałm to wszystko na localhoście (używam Vertrigo Serv) wszytko było w porządku. Problemy zaczeły się po przeniesieniu plików na jedno z moich kont FTP - zaczęły pojawiać się błędy ,których wcześniej nie miałem :

$tablica[$konfigurator_position] = $konfigurator; $tablica[$shoutbox_position] = $shoutbox; $tablica[$forum_position] = $forum; $tablica[$online_position] = $online; $tablica[$tagi_position] = $tagi; $a=$tablica[1]; $b=$tablica[2]; $c=$tablica[3]; $d=$tablica[4]; $e=$tablica[5]; $zawartosc .= '<div id="panel_nr1">'.$a.'</div><div id="panel_nr2">'.$b.'</div><div id="panel_nr3">'.$c.'</div><div id="panel_nr4">'.$d.'</div><div id="panel_nr5">'.$e.'</div>';

Powyższy kod wyświetla błąd :
Te zmienne $a ,$b itd. zrobiłem tylko testowo - gdy umieściłem zmienne tablicowe w ciagu znaków był ten sam błąd...

Zmienne o zakończeniu _position przyjmują wartości od 1 do 6 i się nie duplikują...

------------------------

Teraz drugi problem:
Korzystam z frameworka Code Igniter i wywyłałem zapytanie do bazy :
$query = $this->db->query($tu_zapytanie_(na_pewno_poprawne)); foreach($query->result() as $row) { // tu przypisywanie zmiennym wartości z tablic }

Wyświetlał mi się błąd o nieprawidłowym parametrze dla funkcji foreach :/

--------------------------------------------

Wydaje mi się ,że może być wspólna przyczyna tych problemów - $query->result() też jest tablicą...

Czy da się zmienić coś w konfiguracji serwera by usunąć ten błąd - mam taką możliwość więc nie będzie problemów w zmianach. I co w ogóle jest przyczyną takiego stanu rzeczy ?

No więc od początku: jeżeli "undefined", znaczy, że nie ma tego elementu tablicy. Więc wina leży przy przypisywaniu.
Najpierw radziłbym spróbować foreach ($query->result() as $row => $value). A jeszcze wcześniej, czy na pewno $query->result() zwraca tablicę.
Jeśli to nie to, to chyba używasz jakiś niezgodnych klas.


No więc od początku: jeżeli "undefined", znaczy, że nie ma tego elementu tablicy. Więc wina leży przy przypisywaniu.
Najpierw radziłbym spróbować foreach ($query->result() as $row => $value). A jeszcze wcześniej, czy na pewno $query->result() zwraca tablicę.
Jeśli to nie to, to chyba używasz jakiś niezgodnych klas.


No tylko problem polega na tym ,że na localhoście wszystko działa tak jak trzeba ,a na innym serwerze już nie :/ Raczej błędy typu brak elementu czy niezgodność klas nie wchodzą w grę ...

// EDIT : problem rozwiązany : okazało się ,że podczas eksportu bazy mysql z localhosta zmieniły się indeksy rekordów konfiguracji użytkowników ,a co za tym idzie nie było podstawowej konfiguracji :) Wielkie dzięki dla Riklaunima za podanie kodu ,który pozwolił znaleźc błąd ;) Temat do zamknięcia....
Użytkownik .:DzIuDek:. ™ edytował ten post 05 wrzesień 2006, 22:23
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.