Eroare Undefined offset

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
alexinio3d
Mesaje: 96

Eroare Undefined offset

Salutare...
1. Cum as putea sa scap de eroarea aceasta ? :

Cod: Selectaţi tot

Notice: Undefined offset: 0 in C:\xampp\htdocs\magazin\template\header.php on line 38

Notice: Undefined offset: 6 in C:\xampp\htdocs\magazin\template\header.php on line 38

Notice: Undefined offset: 7 in C:\xampp\htdocs\magazin\template\header.php on line 38
Codu mi urmatorul :

Cod: Selectaţi tot

<?php
//------------------------------------------------------------------------------------------------------------+
  header("Content-Type:text/html; charset=utf-8");
//------------------------------------------------------------------------------------------------------------+
//Conectare MySQL-----
require ('./config.php');
//--------------------
?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'>
<html>
<head>
<title><?php echo $titlu; ?></title>
<link href="./css/bootstrap.css" rel="stylesheet" media="screen">
<script src="./js/jquery-latest.js"></script>
<script src="./js/bootstrap.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
</head>
<body>
<!-- Meniu sus -->
<div class="navbar">
    <div class="navbar-inner">
        <a class="brand" href="."><?php echo $titlu; ?></a>
        <ul class="nav">
    <li><a href=".">Home</a></li>
<?php

                $result = mysql_query('select * from store_categories');
                $tree = array();
                while(false !== ($row=mysql_fetch_assoc($result))) {
                    $tree[$row['cat_primary']][$row['id']] = $row['cat_title'];
                }
                $out = "";
                foreach( array_keys($tree) as $cat_primary)
                {
                    $out .= "
                    <li class='dropdown'>
                        <a id='drop_$cat_primary' href='#' role='button' class='dropdown-toggle' data-toggle='dropdown'>".$tree[0][$cat_primary]."</a>
                        <ul class='dropdown-menu' role='menu' aria-labelledby='drop_$cat_primary'>";
                    foreach ( array_keys($tree[$cat_primary]) as $cat )
                        {
                            $out .= "<li class=\"dropdown-submenu\"><a tabindex=\"-1\" href='./seestore.php?cat_id=$cat'>".$tree[$cat_primary][$cat]."</a><ul class='dropdown-menu' role='menu' aria-labelledby='drop_$cat_primary'>";
                        foreach ( array_keys($tree[$cat_primary]) as $cat )
                        {
                            $out .= "<li><a tabindex=\"-1\" href='./seestore.php?cat_id=$cat'>".$tree[$cat_primary][$cat]."</a></li>";
                        }
                            $out .= "
                        </ul>
                    </li>";
                        }
                        $out .= "
                        </ul>
                    </li>";
                }
                echo $out;
?>
<li><a href=".">Contact</a></li>
</ul>
</div>
</div>
<!-- Meniu sus -->
Siteuri create / configurate de mine :
SilvoProject.Ro ( Magazin Online ) : SilvoProject.Ro
TreiSute.Ro ( Comunitate de gaming ) : TreiSute.Ro

MarPlo Mesaje: 4343
Salut
Eroarea indica faptul ca se acceseaza elemente de array care nu exista.
Explicatie si solutie generala la aceasta eroare gasesti aici:
https://coursesweb.net/php-mysql/common- ... #perr14_13

Nu stiu exact solutia la tine, dar incearca sa inlocuiesti la linia 38 codul:

Cod: Selectaţi tot

$tree[0][$cat_primary]
Cu acesta:

Cod: Selectaţi tot

(isset($tree[0][$cat_primary]) ? $tree[0][$cat_primary] : '')
 
Cred ca nu va mai da acea eroare, dar daca nu rezulta meniul cum vrei, trebuie refacut o parte din cod (de catre cine-l foloseste).

alexinio3d Mesaje: 96
Si mai am inca 2 probleme la meniu:
1. De ce numi apare si categoriia care nu are subcategorii?? :-s
2. Cum pot sa fac sami arete subcategoriile la subcategorii :), pentru ca mie imi arata asa, link imagine:
imageshack.us/photo/my-images/267/61337792.png/
Adica vreau sa zic ca in loc sa arate subcategoriile subcategoriei leagane el imi arata inca o data subcategoriile, categoriei Mobilier extern
Scriptul mi asa:

Cod: Selectaţi tot

<?php
//------------------------------------------------------------------------------------------------------------+
  header("Content-Type:text/html; charset=utf-8");
//------------------------------------------------------------------------------------------------------------+
//Conectare MySQL-----
require ('./config.php');
//--------------------
?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'>
<html>
<head>
<title><?php echo $titlu; ?></title>
<link href="./css/bootstrap.css" rel="stylesheet" media="screen">
<script src="./js/jquery-latest.js"></script>
<script src="./js/bootstrap.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
</head>
<body>
<!-- Inceput - Meniu sus -->
<div class="navbar">
    <div class="navbar-inner">
        <a class="brand" href="."><?php echo $titlu; ?></a>
        <ul class="nav">
    <li><a href=".">Home</a></li>
<?php

                $result = mysql_query('select * from store_categories');
                $tree = array();
                while(false !== ($row=mysql_fetch_assoc($result))) {
                    $tree[$row['cat_primary']][$row['id']] = $row['cat_title'];
                }
                $out = "";
                foreach( array_keys($tree) as $cat_primary)
                {
                if(isset($tree[0][$cat_primary]) ? $tree[0][$cat_primary] : '') {
                    $out .= "
                    <li class='dropdown'>
                        <a id='drop_$cat_primary' href='#' role='button' class='dropdown-toggle' data-toggle='dropdown'>". $tree[0][$cat_primary] ."</a><ul class='dropdown-menu' role='menu' aria-labelledby='drop_$cat_primary'>";
                    foreach ( array_keys($tree[$cat_primary]) as $cat )
                        {
                            $out .= "<li class=\"dropdown-submenu\"><a tabindex=\"-1\" href='./seestore.php?cat_id=$cat'>".$tree[$cat_primary][$cat]."</a><ul class='dropdown-menu' role='menu' aria-labelledby='drop_$cat_primary'>";
                        foreach ( array_keys($tree[$cat_primary]) as $cat )
                        {
                            $out .= "<li><a tabindex=\"-1\" href='./seestore.php?cat_id=$cat'>".$tree[$cat_primary][$cat]."</a></li>";
                        }
                            $out .= "
                        </ul>
                    </li>";
                        }
                        $out .= "
                        </ul>
                    </li>";
                }
                }
                echo $out;
?>
<li><a href=".">Contact</a></li>
</ul>
</div>
</div>
<!-- Sfarsit - Meniu sus -->
<!-- Inceput - Container -->
<div class="container-table">
Siteuri create / configurate de mine :
SilvoProject.Ro ( Magazin Online ) : SilvoProject.Ro
TreiSute.Ro ( Comunitate de gaming ) : TreiSute.Ro

MarPlo Mesaje: 4343
Asta e traba cu scripturi copiate. Cel mai bine sa inveti sa faci propriul cod, sau sa te pricepi sa modifici.
Nu stiu de ce nu face meniul cum vrei, incearca sa intrebi acolo de unde ai codul.

Subiecte similare