2016-08-20 7 views
0

J'ai 2 tables en sortie phpmyadmin.I les noms de catégorie de ce tableau comme celui-ci en php:Undefined index en php lorsque vous essayez de sortir les sous-catégories de chaque catégorie d'une table de phpMyAdmin

<?php 
$query="select * from category " ; 
$res=mysqli_query($conn,$query); 
while($row=mysqli_fetch_assoc($res)) 
{ 
    echo '<li> 
     <a href="subcat.php?cat='.$row[ 'cat_id']. '&catnm='.$row[ "cat_nm"]. '">'.$row[ "cat_nm"]. ' 
     </a> 
     </li>'; 
} 
mysqli_close($conn); 
?> 

Ensuite, si le l'utilisateur clique sur l'une de ces catégories. Une liste de sous-catégories appartenant à la catégorie cliquée par l'utilisateur sera sortie de ma table subcat. La clé étrangère pour la table subcat est cat_id. Une erreur survient lorsque je tente de sortir les sous-catégories comme celle-ci:

<?php 
$q = "select * from subcat where parent_id = ".$_GET['cat'];//line 6 
$cat=$_GET['cat_nm'];//line 8 
$res = mysqli_query($conn,$q) or die("Can't Execute Query.."); 
$row1 = mysqli_fetch_assoc($res); 
do 
    { 
    echo '<li>'.$row1['subcat_nm'].'</li>'; 
    } 
while($row1 = mysqli_fetch_assoc($res)) 
?> 

L'erreur est outputed: enter image description here Le chat et cat_nm sont des colonnes nom de la catégorie table.Have je fait quelque chose de mal ici? Quelle est la bonne manière de générer les sous-catégories? Merci!

+0

La validation aiderait votre cause. – Script47

Répondre

1

Parce que,

$_GET['cat_nm'] != $_GET['catnm'] 

Regardez votre lien,

<a href="subcat.php?cat='.$row[ 'cat_id']. '&catnm='.$row[ "cat_nm"]. '">'.$row[ "cat_nm"]. ' 

--------------------------------------------^^^^^^ 

Il devrait être $_GET['catnm'].

ProTip

Vous devez être la validation de votre entrée d'utilisateur et en utilisant prepared statements pour éviter SQL Injection.

+0

Maintenant, il dit: Undefined index: catnm dans C: \ xampp \ htdocs \ diloma \ Book_store \ subcat.php sur la ligne 8 –