首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想避免重复代码

问我想避免重复代码
EN

Stack Overflow用户
提问于 2016-02-13 15:08:20
回答 1查看 44关注 0票数 0

您好,我正在为我的一个朋友建立一个网络应用程序,以帮助她的业务。这个应用程序旨在帮助她监控她的小面包店仓库中的库存单位数量(或者监控她的库存中还剩下多少袋面粉、一盘鸡蛋、几杯黄油)。为此,我为她制作了一个表单。看:

代码语言:javascript
复制
<tr> <form method="POST" action="makeprod.php"> 
<td>Prodname</td>
<td> <input type="text" name="prodname"></td> 
</tr>
<tr>
<td>Quantity</td>
<td> <input type="int" name="quantity"></td> 
</tr>
<tr>
<td>Recipe 1: </td>   
<td>  
<?php
$connection = mysql_connect('localhost', 'root', '');
mysql_select_db('inventory system'); 

$sql = "SELECT itemname FROM inventory"; 
$result = mysql_query($sql);

echo "<select name='recipe1'>";

while ($row = mysql_fetch_array($result)){
echo "<option value = ' ". $row ['itemname'] ."'>".$row['itemname']."</option>";    
            }
echo "</select>";
?>
</td>
<td>Qty</td>
<td> <input type="int" name="rec1qty"></td> 
</tr>
<tr>
<td>Recipe 2: </td>   
<td>  
<?php
$connection = mysql_connect('localhost', 'root', '');
mysql_select_db('inventory system'); 

$sql = "SELECT itemname FROM inventory"; 
$result = mysql_query($sql);

echo "<select name='recipe2'>";

while ($row = mysql_fetch_array($result)){
echo "<option value = ' ". $row ['itemname'] ."' >".$row['itemname']."</option>";
            }
echo "</select>";
?>
</td>
<td>Qty</td>
<td> <input type="int" name="rec2qty"></td> 
</tr>
<tr>
<td>Recipe 3: </td>   
<td>  
<?php
$connection = mysql_connect('localhost', 'root', '');
mysql_select_db('inventory system'); 

$sql = "SELECT itemname FROM inventory"; 
$result = mysql_query($sql);
echo "<select name='recipe3'>";

while ($row = mysql_fetch_array($result)){
echo "<option value = ' ". $row ['itemname'] ."'>".$row['itemname']."</option>";                
            }
echo "</select>";
?>
</td>
<td>Qty</td>
<td> <input type="int" name="rec3qty"></td> 
</tr>
<tr>
<td>Recipe 4: </td>   
<td>  
<?php
$connection = mysql_connect('localhost', 'root', '');
mysql_select_db('inventory system'); 

$sql = "SELECT itemname FROM inventory"; 
$result = mysql_query($sql);
echo "<select name='recipe4'>";

while ($row = mysql_fetch_array($result)){
echo "<option value = ' ". $row ['itemname'] ."' >".$row['itemname']."</option>";
}
echo "</select>";
?>
</td>
<td>Qty</td>
<td> <input type="int" name="rec4qty"></td> 
</tr>
<tr>
<td>Recipe 5: </td>   
<td>  
<?php
$connection = mysql_connect('localhost', 'root', '');
mysql_select_db('inventory system'); 

$sql = "SELECT itemname FROM inventory"; 
$result = mysql_query($sql);
echo "<select name='recipe5'>";

while ($row = mysql_fetch_array($result)){
echo "<option value = ' ". $row ['itemname'] ."' >".$row['itemname']."</option>";                           ['itemname']."</option>";
}
echo "</select>";
?>
</td>
<td>Qty</td>
<td> <input type="int" name="rec5qty"></td> 
</tr>


<tr> 
<td><input id="button" type="submit" name="submit" value="submit"></td> 
</tr> 



</form>
</table>

我在这个表单中试图做的是提示她记录她正在制作的产品/糕点的数量,并指出将花费她在该数量上的产品的食谱/库存,这样它将从我命名为“inventory”的数据库表中减少这些食谱(但这是另一个故事)。

我的问题是,我不能确定她需要多少配料来制作一个单一的产品,并且重复5到10次对食谱的选择选项似乎会让我的代码看起来太脏,而且看起来效率不高。我想要的是一个代码,它将帮助我只显示她需要在表单中选择选项的数量。因此,如果她制作的产品只有大约6种不同的配料,那么应该只显示6个选择选项。如果我不需要重复上面的代码来使我的代码至少更整洁一点,那将会有所帮助:

代码语言:javascript
复制
<td>Recipe 1: </td>   
<td>  
<?php
$connection = mysql_connect('localhost', 'root', '');
mysql_select_db('inventory system'); 

$sql = "SELECT itemname FROM inventory"; 
$result = mysql_query($sql);

echo "<select name='recipe1'>";

while ($row = mysql_fetch_array($result)){
echo "<option value = ' ". $row ['itemname'] ."' >".$row['itemname']."</option>";                       
}
echo "</select>";
?>

我是PHP的新手,还不知道Javascript,所以我更喜欢HTML/PHP格式的解决方案,但JS也足够了。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-02-13 15:26:15

根据您的问题标题,您的代码中有sql连接的重复代码。一定要通过添加单个连接文件来避免这种情况。创建connection.php并在其中添加以下代码。

代码语言:javascript
复制
<?php
$connection = mysql_connect('localhost', 'root', '');
mysql_select_db('inventory system'); 
?>

并将此文件包括在此工作页中,如下所示

代码语言:javascript
复制
include "connection.php";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35377125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档