2011-07-24 85 views
-1

下面是PHP中创建的函数,它返回数组中的一些产品信息。在我调用此函数的网页上,我希望能够指定确切的数组元素,例如产品说明($ result2 ['itm_desc'])。请有人指出我在正确的方向做到这一点。我会假设你调用一个函数像读取数组,但我不太确定如何执行此操作。从函数中提取数组值

public function getAllReelImages(){ 
$sql = "SELECT id FROM $this->table3 WHERE itm_cat = 2 ORDER BY id ASC"; 
echo "<br /><br />"; 
$stmt = mysqli_query($this->connection, $sql); 

/*fetch values*/ 

while($result = mysqli_fetch_array($stmt)){ 
echo "<br /><br />"; 

$sql2 = "SELECT itm_details.id,itm_details.itm_make,itm_details.itm_model,itm_details.itm_desc,itm_pic_detail.itm_pic_name, itm_value.itm_sale_price 
FROM 
itm_details, itm_pic_detail, itm_value 
WHERE 
itm_details.id = {$result['id']} AND itm_pic_detail.id = {$result['id']} 
AND itm_value.id = {$result['id']} ORDER BY id ASC"; 

$stmt2 = mysqli_query($this->connection, $sql2); 
while($result2 = $stmt2->fetch_array()){ 
echo ($result2['id']); echo"<br />"; 
echo ($result2['itm_make']); echo"<br />"; 
echo ($result2['itm_model']); echo"<br />"; 
echo ($result2['itm_desc']); echo"<br />"; 
echo ($result2['itm_sale_price']); echo"<br />"; 
echo "<img src='$this->dir"."{$result2['itm_pic_name']}'><br />"; 
echo"<br />"; 
echo $value; 
} 
} 
} 
+1

你真的需要你所使用的语言来标记你的问题。这是您第三次收到此评论。 – Mohamad

+0

为什么代码中没有缩进?育! –

回答

0

首先.. 你的代码非常糟糕。我说得更清楚一点。例如:echo ($result2['id']); echo"<br />"; TO->echo $result2['id'] . '<br />';(供将来参考。)

他们的方式你的代码是在那一刻。你不会给数组添加任何东西,因为你立刻回应它们。我做了我的版本,这将首先创建阵列,然后您可以使用该阵列..以任何方式,你想:)

而不是ORDER BY默认情况下使用作为ASC?

我也改变了第一个查询更动态。

注意:我不是很好与mysql表加入,有人必须验证第二个查询。但在我看来,它绝对不正确。但是,我将这篇文章发布在用函数创建数组然后显示它的参考文献中。

NOTE2:我希望你的问题是关于PHP o.0

# This should be in some class ?! 
function getAllReelImages ($category) { 
    $sql = "SELECT * FROM `" . $this->table3 . "` WHERE `itm_cat` = '" . $category . "' ORDER BY `id` ASC"; 
    $stmt = mysqli_query($this->connection, $sql); 
    while($result = mysqli_fetch_array($stmt)) { 
     $sql2 = "SELECT `itm_details.id`, `itm_details.itm_make`, `itm_details.itm_model`, `itm_details.itm_desc`, `itm_pic_detail.itm_pic_name`, `itm_value.itm_sale_price` FROM `itm_details`, `itm_pic_detail`, `itm_value` WHERE `itm_details.id` = '" . $result['id'] . "' AND `itm_pic_detail.id` = '" . $result['id'] . "' AND `itm_value.id` = '" . $result['id'] . "' ORDER BY `id` ASC"; 
     $stmt2 = mysqli_query($this->connection, $sql2); 
     while($result2 = $stmt2->fetch_array()){ 
      $returns[$result2['id']]['id'] = $result2['id']; 
      $returns[$result2['id']]['itm_make'] = $result2['itm_make']; 
      $returns[$result2['id']]['itm_model'] = $result2['itm_model']; 
      $returns[$result2['id']]['itm_desc'] = $result2['itm_desc']; 
      $returns[$result2['id']]['itm_sale_price'] = $result2['itm_sale_price']; 
      $returns[$result2['id']]['itm_pic_name'] = $this->dir . $result2['itm_pic_name']; 
     } 
    } 
    return $returns; 
} 

# Display the results: 
echo '<br /><br />'; 
foreach (getAllReelImages(2) as $img_id => $img_value) { 
    echo $img_id . '<br>'; 
    echo $img_value['itm_make'] . '<br>'; 
    echo $img_value['itm_model'] . '<br>'; 
    echo $img_value['itm_desc'] . '<br>'; 
    echo $img_value['itm_sale_price'] . '<br>'; 
    echo $img_value['itm_pic_name'] . '<br>'; 
    echo '<hr>'; 
} 
echo '<br />'; 
+0

非常感谢。一个真正有用的回复,这是排序我的问题。:) – paynod

+0

Coolio,不要忘记点击接受按钮;) –