Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Undefined offset, definiowanie tablicy
infolearn
post 4.10.2007, 21:43:40
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 17.09.2007

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


  1. <?php
  2. //krotkie zmienne
  3. $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
  4. ?>

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4.  
  5. <title>strona 110 vIEW ORDERS2 list 3.3</title>
  6. <link href="external.css" rel="stylesheet" type="text/css" />
  7. </head>
  8. <!-- Body -->
  9. <div>
  10. <h1>AUTO PARTS</h1>
  11. <h2>Orders</h2>

  1. <?php
  2. //odczytanie calego pliku
  3. //kazde zamowienie staje sie elementem tablicy
  4.  
  5. $zamowienia = file("$DOCUMENT_ROOT/php/orders/orders.txt");
  6.  
  7. //obliczanie ilosci elementow tablicy
  8.  
  9. $ilosc_zamowien = count($zamowienia);
  10.  
  11. if ($ilosc_zamowien == 0)
  12. {
  13. echo '<p><strong>No orders at the moment, try again later</strong></p>';
  14. }
  15.  
  16. echo "<table border='1'>\n";
  17. echo '<tr><th bgcolor="#cccccc">Order Date</td>
  18.  <th bgcolor="#cccccc">Tires</td>
  19.  <th bgcolor="#cccccc">Oil</td>
  20.  <th bgcolor="#cccccc">Sparks</td>
  21.  <th bgcolor="#cccccc">Total</td>
  22.  <th bgcolor="#cccccc">Address</td>
  23.  </tr>';
  24.  
  25. for ($i=0; $i<$ilosc_zamowien; $i++)
  26. {
  27. //rozbicie kazdego wiersza
  28.  
  29. $wiersz = explode( "\t", $zamowienia[$i]);
  30. echo 'liczba wierszy:'.count($wiersz).'<br />';
  31.  
  32. //zapamietuje wylaczanie liczby zamowionych produktow (porzuca pozostale dane)
  33.  
  34.  
  35.  
  36. $wiersz[1] = intval($wiersz[1]);
  37. $wiersz[2] = intval($wiersz[2]);
  38. $wiersz[3] = intval($wiersz[3]);
  39.  
  40. //wyswietla kazde zamowienie
  41.  
  42. echo "<tr><td>$wiersz[0]</td>
  43. <td align='right'>$wiersz[1]</td>
  44. <td align='right'>$wiersz[2]</td>
  45. <td align='right'>$wiersz[3]</td>
  46. <td align='right'>$wiersz[4]</td>
  47.  
  48. <td>$wiersz[5]</td>
  49.  
  50. </tr>";
  51.  }
  52.  echo '</table>';
  53.  
  54. ?>


rozumiem ze dostaje offset erro z powodu nie zadeklarowania tablicy? czy moze cos innego robie zle

Ten post edytował infolearn 12.10.2007, 04:26:59
Go to the top of the page
+Quote Post
nevt
post 5.10.2007, 06:58:02
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


no przecież do tablicy $wiersz zapisujesz tylko 3 wiersze, o kluczach 1, 2 i 3, a później próbujesz odczytać 5 wierszy => klucze 0 i 4 nie istnieją...

pozdrawiam.


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

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
--infolearn--
post 5.10.2007, 13:37:15
Post #3





Goście







Cytat(nevt @ 5.10.2007, 06:58:02 ) *
no przecież do tablicy $wiersz zapisujesz tylko 3 wiersze, o kluczach 1, 2 i 3, a później próbujesz odczytać 5 wierszy => klucze 0 i 4 nie istnieją...

pozdrawiam.
Go to the top of the page
+Quote Post
infolearn
post 7.10.2007, 02:56:38
Post #4





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 17.09.2007

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


Cytat(-infolearn- @ 5.10.2007, 13:37:15 ) *


usunalem co trzeba z echo ciagle mam offset w tych samych liniach, mi sie wydaje ze jakos zle definjuje tablice. Tylko nie wiem co zle robie.

Ale wiadomo nowicjusz ze mnie moge sie mylic

Moze ktos na to zerknac jeszcze raz:)

Hej Moze ktos rozwiaze ten problem:)
Go to the top of the page
+Quote Post
nevt
post 7.10.2007, 10:09:46
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


po linijce:
$wiersz = explode( "\t", $zamowienia[$i]);
dopisz:
echo 'Liczba wierszy: '.count($wiersz).'<br />';

Być może w $ zamówienia wcale nie ma danych dla 3 wierszy....

Pozdrawiam.


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

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
Istalacar
post 7.10.2007, 10:16:56
Post #6





Grupa: Zarejestrowani
Postów: 108
Pomógł: 4
Dołączył: 3.03.2007

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


Nie wiem czy to to, ale w 36 wierszu masz otwartą funkcję array.
Go to the top of the page
+Quote Post
infolearn
post 12.10.2007, 04:31:24
Post #7





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 17.09.2007

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


Cytat(nevt @ 7.10.2007, 10:09:46 ) *
po linijce:
$wiersz = explode( "\t", $zamowienia[$i]);
dopisz:
echo 'Liczba wierszy: '.count($wiersz).'<br />';

Być może w $ zamówienia wcale nie ma danych dla 3 wierszy....

Pozdrawiam.


hej wywala mi teraz to ale rowniez daj mi tabele z wynikami ale cos jeszcze nie pasuje w skrypcie

Notice: Undefined offset: 1 in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\vieworders2.php on line 54

Notice: Undefined offset: 2 in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\vieworders2.php on line 55

Notice: Undefined offset: 3 in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\vieworders2.php on line 56

Notice: Undefined offset: 4 in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\vieworders2.php on line 64

Notice: Undefined offset: 5 in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\vieworders2.php on line 66
liczba wierszy:1

Notice: Undefined offset: 1 in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\vieworders2.php on line 54

Notice: Undefined offset: 2 in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\vieworders2.php on line 55

Notice: Undefined offset: 3 in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\vieworders2.php on line 56

Notice: Undefined offset: 4 in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\vieworders2.php on line 64

Notice: Undefined offset: 5 in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\vieworders2.php on line 66
liczba wierszy:6
liczba wierszy:6
liczba wierszy:6
liczba wierszy:6
liczba wierszy:6
liczba wierszy:1

Ten post edytował infolearn 12.10.2007, 04:32:12
Go to the top of the page
+Quote Post
nevt
post 12.10.2007, 08:44:54
Post #8





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


tu masz błąd:
  1. <?php
  2. if ($ilosc_zamowien == 0)
  3. {
  4. echo '<p><strong>No orders at the moment, try again later</strong></p>';
  5. }
  6. ?>


reszta kodu albo powinna być w bloku else albo w bloku if powinien być return, np:
  1. <?php
  2. if ($ilosc_zamowien == 0)
  3.  {
  4.  echo '<p><strong>No orders at the moment, try again later</strong></p>';
  5.  }
  6. else
  7. {
  8. //reszta kodu
  9. }
  10. //ALBO
  11. if ($ilosc_zamowien == 0)
  12. {
  13. echo '<p><strong>No orders at the moment, try again later</strong></p>';
  14.  return;
  15. }
  16. ?>

Pozdrawiam.


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

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
-Gaiah-
post 14.03.2013, 16:01:14
Post #9





Goście







Witam, proszę o pomoc. Jestem laikiem w kwestii PHP. Po dodaniu trzech nowych produktów do sklepu zaczęło mi wywalać kilka linijek błędu na głównej stronie. Usunięcie produktów nie przyniosło poprawy. Treść jest następująca: Notice: Undefined offset: 2 in /home/swsmasz1/public_html/sklep/db/_products_files.def.php on line 5

Notice: Undefined offset: 3 in /home/swsmasz1/public_html/sklep/db/_products_files.def.php on line 5

Notice: Undefined offset: 4 in /home/swsmasz1/public_html/sklep/db/_products_files.def.php on line 5

Notice: Undefined offset: 5 in /home/swsmasz1/public_html/sklep/db/_products_files.def.php on line 5

Notice: Undefined offset: 6 in /home/swsmasz1/public_html/sklep/db/_products_files.def.php on line 5

Notice: Undefined offset: 7 in /home/swsmasz1/public_html/sklep/db/_products_files.def.php on line 5

Zaś treść pliku, którego to dotyczy jest taka:
<?php
$aFieldsNames=array('iFile'=>0,'iProduct'=>1,'sFileName'=>2,'iPhoto'=>3,'iPosition'=>4,'iType'=>5,'iSize1'=>6,'iSize2'=>7,'sDescription'=>8);
$aFieldsSort=array('iPosition','sFileName','iProduct','sDescription','iFile','iPhoto','iType','iSize1','iSize2');
function products_files($aExp){
return array('iFile'=>$aExp[0],'iProduct'=>$aExp[1],'sFileName'=>$aExp[2],'iPhoto'=>$aExp[3],'iPosition'=>$aExp[4],'iType'=>$aExp[5],'iSize1'=>$aExp[6],'iSize2'=>$aExp[7],'sDescription'=>$aExp[8]);
}
?>

Czy da się to jakoś łatwo rozwiązać? Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 7.06.2025 - 17:45