[PHP]Błąd Notice: Undefined index:

Pojawia mi się błąd :

Notice: Undefined index: produkt_num

w linijce:

    echo ".$row['produkt_num'].">";$row["produkt_name"]; 
Jak pozbyć się tego błędu?

przed echo

if(!isset($row['produkt_num']))$row['produkt_num']=null;

A tak poza tym notice powinno być wyłączone w php,ini, bo są to “błędy” niskiej rangi

pomimo tej zmiany nadal pokazuje bład.

Chodzi jedynie o to, że w tablicy row nie ma klucza produkt_num. Być może masz jakoś inaczej zapisany ten klucz- sprawdź przy pomocy funkcji print_r().

NOTICE to ostrzeżenia niby niskiej rangi, ale warto jednak je też poprawiać.

Sprawdzanie, czy klucz istnieje w tablicy można zrobić funkcją array_key_exists().

if (array_key_exists('produkt_num', $row))

{

    echo "";

    echo $row["produkt_name"]; 

}

to jest cały fragment kodu

niestety po zastosowaniu waszych uwag nadal pojawia się ten błąd.

while ($row = mysql_fetch_array($results)) {"";extract($row);$prod = "SELECT * FROM produkty " ."WHERE produkt_num='$tymczas_prodid'";$prod2 = mysql_query($prod);mysql_num_rows($prod2))

Może tak:

while ($row = mysql_fetch_array($results)){extract($row);$prod = "SELECT * FROM produkty WHERE produkt_num='$tymczas_prodid' LIMIT 1";$prod2 = mysql_query($prod);mysql_num_rows($prod2)){$prod3 = mysql_fetch_array($prod2);extract($prod3);

Niestety po zmianie kodu nadal jest bez zmian.

if(!isset($row['produkt_num']))$row['produkt_num']=' ';

Dodaj tymczasowo w pętli po echo lub zamiast niego print_r($row); i zobacz co ci zwróci.

Zwróciło mi :

Array ( [0] => 80 [tymczas_nr] => 80 [1] => 853eb5c72d6f8fa9bd52b5fe8ef3e1e1 [tymczas_sess] => 853eb5c72d6f8fa9bd52b5fe8ef3e1e1 [2] => [tymczas_prodid] => [3] => 0.00 [tymczas_cena] => 0.00 )

źle pokazuje tymczas_prodid

jak to źle? Ta funkcja wyświetliła ci jedynie zawartość tablicy, więc jeżeli wartośc jest według ciebie nieprawidłowa to świadczy to o twoim błędzie. Pomoc w tym temacie na jakimś wycinku kodu nie ma sensu bo podchodzi to jedynie pod nabijanie postów.

nie wiem co miałeś na myśli pisząc “źle pokazuje” - ta wartość po prostu nie istnieje ta wartość w bazie.

natomiast twoje zapytanie nie zwraca wartości produkt_name, produkt_num więc nic dziwnego że występuje warning który o tym mówi.

do testowanie zapytań dobrze jest używać takiego kodu:

<?php print_r($result) ?>

[/code]

musisz zacząć sam radzić sobie z takim problemami, bo jeśli o każdą błahostkę będziesz zadawał pytanie na forum to stworzenie czegokolwiek zajmie ci lata. Dostał kilka wskazówek jak debugować na co zwracać uwagę itp, i teraz powinieneś nauczyć się wykorzystywać tą wiedzę.