Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何展开从MySQL导入的类别列表_Php_Mysql_Html_Xampp - Fatal编程技术网

Php 如何展开从MySQL导入的类别列表

Php 如何展开从MySQL导入的类别列表,php,mysql,html,xampp,Php,Mysql,Html,Xampp,我已经从phpMyAdmin中的两个不同表导入了一组不同的值,一个来自Category表(其中cat_id是PK),另一个来自Item表;其中(cat_id为FK) 上面的图片是我想要的结果,这张图片只针对服装(2)。我希望它在用户单击其他东西时发生更改,例如,Shoes(1)。您已经发出了正确的查询,以获取关于某个项目的所有数据信息。但是,您没有获取每个字段的内容,而是选择只计算受影响的行数。通过使用mysql\u fetch\u array()可以实际获取每个字段的内容,并显示结果 根据您的

我已经从phpMyAdmin中的两个不同表导入了一组不同的值,一个来自Category表(其中cat_id是PK),另一个来自Item表;其中(cat_id为FK)


上面的图片是我想要的结果,这张图片只针对服装(2)。我希望它在用户单击其他东西时发生更改,例如,Shoes(1)。

您已经发出了正确的查询,以获取关于某个项目的所有数据信息。但是,您没有获取每个字段的内容,而是选择只计算受影响的行数。通过使用
mysql\u fetch\u array()
可以实际获取每个字段的内容,并显示结果

根据您的代码考虑以下示例:

for($i = 0;  $i < count($cat_idd);  $i++)
    {
        $que2 = "SELECT * FROM item WHERE cat_id = '$cat_idd[$i]' ";
        $result = mysql_query($que2);
        $run = mysql_num_rows($result);
        echo "<a href=''>".$cat_namee[$i]."(".$run.")</a><br>";
        while($row = mysql_fetch_array($result)){
            //Change ['item_name'] and ['item_description'] to match your DB schema.
            echo "item name: $row['item_name']";
            echo "item description: $row['item_description']";
        }
    }
for($i=0;$i”;
while($row=mysql\u fetch\u数组($result)){
//更改['item_name']和['item_description']以匹配数据库架构。
echo“项目名称:$row['item_name']”;
echo“项目描述:$row['item_description']”;
}
}
$row
是一个数组(既具有关联性又具有数字索引),包含您要查找的所有数据。在我的示例中,我假设
items
表有一个名为
item\u name
item\u description
的字段。您的表可能有不同的列名,您需要更改它以匹配列名

有关mysql\u fetch\u array()的更多信息:

最后,您应该知道,从PHP5.5开始,
mysql
扩展就被弃用了。您应该强烈考虑移动到<代码> MySqLI:/COD>或<代码> PDO < /P> 有关mysqli的更多信息:


有关
PDO
的更多信息:

您已经发出了正确的查询,以获取有关项目的所有数据信息。但是,您没有获取每个字段的内容,而是选择只计算受影响的行数。通过使用
mysql\u fetch\u array()
可以实际获取每个字段的内容,并显示结果

根据您的代码考虑以下示例:

for($i = 0;  $i < count($cat_idd);  $i++)
    {
        $que2 = "SELECT * FROM item WHERE cat_id = '$cat_idd[$i]' ";
        $result = mysql_query($que2);
        $run = mysql_num_rows($result);
        echo "<a href=''>".$cat_namee[$i]."(".$run.")</a><br>";
        while($row = mysql_fetch_array($result)){
            //Change ['item_name'] and ['item_description'] to match your DB schema.
            echo "item name: $row['item_name']";
            echo "item description: $row['item_description']";
        }
    }
for($i=0;$i”;
while($row=mysql\u fetch\u数组($result)){
//更改['item_name']和['item_description']以匹配数据库架构。
echo“项目名称:$row['item_name']”;
echo“项目描述:$row['item_description']”;
}
}
$row
是一个数组(既具有关联性又具有数字索引),包含您要查找的所有数据。在我的示例中,我假设
items
表有一个名为
item\u name
item\u description
的字段。您的表可能有不同的列名,您需要更改它以匹配列名

有关mysql\u fetch\u array()的更多信息:

最后,您应该知道,从PHP5.5开始,
mysql
扩展就被弃用了。您应该强烈考虑移动到<代码> MySqLI:/COD>或<代码> PDO < /P> 有关mysqli的更多信息:


关于PDO的更多信息:

因此,在花了近一两天的时间后,我终于找到了解决办法,我将答案发布在这里,以便其他人来这里寻找答案

<?php
 require ('config.php');

 $que = "SELECT * FROM category";
 $run = mysql_query($que);
 $j = 0;
 while($row = mysql_fetch_array($run))
 {
    $cat_idd[$j] = $row['cat_id'];
    $cat_namee[$j] = $row['cat_name'];
  $j++;
 }
for($i = 0;  $i < count($cat_idd);  $i++)
    {
        $que2 = "SELECT * FROM item WHERE cat_id = '$cat_idd[$i]' ";
        $result = mysql_query($que2);
        $run = mysql_num_rows($result);
        echo "<a href='c.php?id=$cat_idd[$i]'>".$cat_namee[$i]."(".$run.")</a><br><br>";
    }

?>


<?php
 require('config.php');
 if(isset($_GET['id']))
 { 
    $cat_id = $_GET['id'];
    $que = "SELECT * FROM item WHERE cat_id = '$cat_id'";
    $run = mysql_query($que);
?>
<br><br>
<form name = "view" method = "POST" action ="cart.php">
<table align = 'center' width = '100%' border = '4'>
<tr>
<td colspan = '20' align = 'center'><h2> Viewing all the Products </h2></td>
</tr>

<tr align = 'center'>
<th>Item ID</th>
<th>Name</th>
<th>Price</th>
<th>Select</th>
</tr>

<tr align = 'center' class = "odd">
<?php

    while($row = mysql_fetch_array($run))
    {
        $i_id = $row['item_id'];
        $i_name = $row['item_name'];
        $i_price = $row['item_price'];
        ?>
<td><?php echo $i_id; ?></td>
<td><?php echo $i_name; ?></td>
<td><?php echo $i_price; ?></td>
<?php

$item = $i_name ." ". $i_price;  

?>                                                      
<td><input type="checkbox" name="addcart[]" value="<?php echo $item; ?> />Tick</td> 
</tr>
<?php  }?><input type = "hidden" name = "check">
<button type=  "submit" onclick = "location.href = 'cart.php';" id = "cart">Add to Cart</button> <?php }  ?>  
</table>

因此,在花了差不多一两天的时间后,我终于找到了摆脱困境的办法,我在这里发布了答案,如果有人来这里寻找答案

<?php
 require ('config.php');

 $que = "SELECT * FROM category";
 $run = mysql_query($que);
 $j = 0;
 while($row = mysql_fetch_array($run))
 {
    $cat_idd[$j] = $row['cat_id'];
    $cat_namee[$j] = $row['cat_name'];
  $j++;
 }
for($i = 0;  $i < count($cat_idd);  $i++)
    {
        $que2 = "SELECT * FROM item WHERE cat_id = '$cat_idd[$i]' ";
        $result = mysql_query($que2);
        $run = mysql_num_rows($result);
        echo "<a href='c.php?id=$cat_idd[$i]'>".$cat_namee[$i]."(".$run.")</a><br><br>";
    }

?>


<?php
 require('config.php');
 if(isset($_GET['id']))
 { 
    $cat_id = $_GET['id'];
    $que = "SELECT * FROM item WHERE cat_id = '$cat_id'";
    $run = mysql_query($que);
?>
<br><br>
<form name = "view" method = "POST" action ="cart.php">
<table align = 'center' width = '100%' border = '4'>
<tr>
<td colspan = '20' align = 'center'><h2> Viewing all the Products </h2></td>
</tr>

<tr align = 'center'>
<th>Item ID</th>
<th>Name</th>
<th>Price</th>
<th>Select</th>
</tr>

<tr align = 'center' class = "odd">
<?php

    while($row = mysql_fetch_array($run))
    {
        $i_id = $row['item_id'];
        $i_name = $row['item_name'];
        $i_price = $row['item_price'];
        ?>
<td><?php echo $i_id; ?></td>
<td><?php echo $i_name; ?></td>
<td><?php echo $i_price; ?></td>
<?php

$item = $i_name ." ". $i_price;  

?>                                                      
<td><input type="checkbox" name="addcart[]" value="<?php echo $item; ?> />Tick</td> 
</tr>
<?php  }?><input type = "hidden" name = "check">
<button type=  "submit" onclick = "location.href = 'cart.php';" id = "cart">Add to Cart</button> <?php }  ?>  
</table>

类别
是包含您提供的数据的物理表吗?还是一种风景?您能否提供有关物品存储方式的更多信息?@HPierce是的,类别是一个物理表,其中存储有数据。项目根据类别id(从类别表)存储到项目表。正如我所说,我在MySQLI中有两个物理表。我现在编辑了文章,提供了更多信息。
category
是包含您提供的数据的物理表吗?还是一种风景?您能否提供有关物品存储方式的更多信息?@HPierce是的,类别是一个物理表,其中存储有数据。项目根据类别id(从类别表)存储到项目表。正如我所说,我在MySQLI中有两个物理表,我现在编辑了这篇文章并提供了更多信息。我得到了以下错误:语法错误,意外的“”(T_ENCAPSED_和_空格),在第57Oops行的C:\xampp\htdocs\testing\inventory\C.php中需要标识符(T_字符串)或变量(T_变量)或数字(T_NUM_字符串)。我忘了在带有
的行中插入括号,而
。我已经更新了答案。在您提到:P之前,我已经修复了这个问题,但是我仍然得到了相同的错误。问题在于这行echo“item name:$row['item_name']”;将其更改为echo$row['item_name'];成功了。但是,即使在用户有机会单击某个类别之前,也会显示所有详细信息。怎么解决?我还以为这是你的本意。听起来您需要第二个网页来生成所有项目信息。只需将
cat\u id
传递给另一个带有
$\u GET
的脚本即可。我得到以下错误:语法错误,意外的“”(T\u被压缩的\u和\u空格),在第57Oops行的C:\xampp\htdocs\testing\inventory\C.php中需要标识符(T\u字符串)或变量(T\u变量)或数字(T\u NUM\u字符串)。我忘了在带有
的行中插入括号,而
。我已经更新了答案。在您提到:P之前,我已经修复了这个问题,但是我仍然得到了相同的错误。问题在于这行echo“item name:$row['item_name']”;陈
<?php
 require ('config.php');

 $que = "SELECT * FROM category";
 $run = mysql_query($que);
 $j = 0;
 while($row = mysql_fetch_array($run))
 {
    $cat_idd[$j] = $row['cat_id'];
    $cat_namee[$j] = $row['cat_name'];
  $j++;
 }
for($i = 0;  $i < count($cat_idd);  $i++)
    {
        $que2 = "SELECT * FROM item WHERE cat_id = '$cat_idd[$i]' ";
        $result = mysql_query($que2);
        $run = mysql_num_rows($result);
        echo "<a href='c.php?id=$cat_idd[$i]'>".$cat_namee[$i]."(".$run.")</a><br><br>";
    }

?>


<?php
 require('config.php');
 if(isset($_GET['id']))
 { 
    $cat_id = $_GET['id'];
    $que = "SELECT * FROM item WHERE cat_id = '$cat_id'";
    $run = mysql_query($que);
?>
<br><br>
<form name = "view" method = "POST" action ="cart.php">
<table align = 'center' width = '100%' border = '4'>
<tr>
<td colspan = '20' align = 'center'><h2> Viewing all the Products </h2></td>
</tr>

<tr align = 'center'>
<th>Item ID</th>
<th>Name</th>
<th>Price</th>
<th>Select</th>
</tr>

<tr align = 'center' class = "odd">
<?php

    while($row = mysql_fetch_array($run))
    {
        $i_id = $row['item_id'];
        $i_name = $row['item_name'];
        $i_price = $row['item_price'];
        ?>
<td><?php echo $i_id; ?></td>
<td><?php echo $i_name; ?></td>
<td><?php echo $i_price; ?></td>
<?php

$item = $i_name ." ". $i_price;  

?>                                                      
<td><input type="checkbox" name="addcart[]" value="<?php echo $item; ?> />Tick</td> 
</tr>
<?php  }?><input type = "hidden" name = "check">
<button type=  "submit" onclick = "location.href = 'cart.php';" id = "cart">Add to Cart</button> <?php }  ?>  
</table>