2017-09-08 1 views
-3

각 항목이 다른 경우 mysql 데이터베이스에서 동일한 항목을 여러 번 에코하는 방법php 동일한 변수를 각 수량에 따라 여러 번 에코

catt | 수량 | 이름 | 코드

WAP | 3 | 신발 | $ query

소년 | 2 | 그물 | $ query

팁 | 3 | 폰 | $ 쿼리

내 결과 집합은 다음과 같이해야합니다 : 이

WAP 신발 113zu1

WAP 신발 125dj1

WAP 신발 125,332

BOY 순 11,331

BOY 그물 에코 13wa2

TIP 전화 하나의 dej21

팁 전화 하나의 5waja7p2

팁 전화 하나는 532j3

i try <?php 
session_start(); 
include "mysql.php"; 
?> 
<?php 
$cartOutput = ""; 
$product_id_array = ''; 
if (isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) > 1) { 
    // Start the For Each loop 
    $i = 0; 
    foreach ($_SESSION["cart_array"] as $each_item) { 
     $item_id = $each_item['item_id']; 
    $qty = $each_item['quantity']; 
} 
     $sql = mysql_query("SELECT * FROM products WHERE id='$item_id' ORDER BY id"); 
     while ($row = mysql_fetch_array($sql)) { 
     $product_name = $row["product_name"]; 
// Create the product array variable 
     $product_id_array .= "$item_id-".$each_item['quantity'].","; 
     // Dynamic table row assembly 
    for ($b = 1; $b <= $each_item['quantity']; $b++) { 
     $cartOutput .= "<tr>"; 
     $cartOutput .= '<td><a href="product.php?id=' . $item_id . '">' . $product_name . '</a><br /><img src="inventory_images/' . $item_id . '.jpg" alt="' . $product_name. '" width="40" height="52" border="1" /></td>'; 
     //$cartOutput .= '<td>' . $each_item['quantity'] . '</td>'; 
     $cartOutput .= '</tr>'; 
     $i++; 
    }} 
?> 
    //output each variable with diffrent code from fetch query 
     <?php $query_select = ("SELECT code, FROM diffrent_codes WHERE name='$product_name' ORDER BY id ASC"); $result_select = $mysqli_query($query_select) or die(mysql_error()); $rows = array(); while($row = mysql_fetch_array($result_select)) $rows[] = $row; foreach($rows as $row){ $code = $row['code']; } echo $cartOutput$code; } ? 

?> 
my $cartOutput$code to output diffrent $code according to each session quantity variable 
+1

어떤 일이 일어나지 않았습니까? 방금 우리에게 코드를 집어 넣었습니다. – Script47

답변

1

준비된 문으로보고 시간을 투자하세요. PDO는 두통으로부터 당신을 구할 것입니다. 또한, MySQLi> MySQL.

콘텐츠를 여러 번 표시하지 않는 이유는 행을 한 번만 표시하도록 설정했기 때문입니다. while 루프 내에서 for 루프는 수량만큼 많은 횟수로 실행해야합니다. 나중에 예제로 편집하겠습니다.

$sql = $pdo->prepare("SELECT * FROM `products` WHERE `id` = :item_id ORDER BY `id`"); 
$sql->bindValue(":item_id", $item_id, PDO::PARAM_INT); 

if ($sql->execute()) { 
    foreach ($sql->fetchAll(PDO::FETCH_ASSOC) as $row) { 
     $product_name = $row["product_name"]; 
     // Dynamic table row assembly 

     for ($i = 1; $i <= $row['quantity']; $i++) { 
      $cartOutput .= "<tr>"; 
      $cartOutput .= '<td><a href="product.php?id=' . $item_id . '">' . $product_name . '</a><br /><img src="inventory_images/' . $item_id . '.jpg" alt="' . $product_name. '" width="40" height="52" border="1" /></td>'; 
      //$cartOutput .= '<td>' . $row['quantity'] . '</td>'; 
      $cartOutput .= '</tr>'; 
     } 
    } 
} 
+0

그냥 편집했습니다 –

+0

방금 ​​게시 한 코드 업데이트를 읽으십시오. – tdoggy

관련 문제