2015-11-29 4 views
0

После попытки поиска нескольких вещей, которые я нашел в Интернете (не работает), я не могу понять, как добавить столбец в моей таблице. Я пытаюсь сложить все Points и распечатать его внизу, где находится Total.Добавление строк столбца

PHP код:

<?php 

function getProducts() { 
    $query = 'SELECT * FROM `oc_product` ORDER BY `model` ASC'; 
    $params = array(); 
    $results = dataQuery($query,$params); 
    foreach ($results as $result) { 
     $product_id = $result['product_id']; 
     $product_name = getProductName($product_id); 
     $product_image = 'shop/image/'.$result['image']; 
     $product_price = 1; 
     echo '<tr>'; 
     echo '<td width="15px"><img src="'.$product_image.'" width="10px" height="10px" /></td>'; 
     echo '<td width="200px">'.$product_name.'</td>'; 
     echo '<td width="150px"><input type="number" value="0" min="0" max="3456" name="quantity" /></td>'; 
     echo '<td width="200px" align="center" data-product-price="'.$product_price.'">0</td>'; 
     echo '</tr>'; 
    } 
} 

function getProductName($product_id) { 
    $query = 'SELECT `name` FROM `oc_product_description` WHERE `product_id` = ?'; 
    $params = array($product_id); 
    $results = dataQuery($query,$params); 
    return $results[0]['name']; 
} 

?> 

Javascript Код:

<script> 
$(function(){ 
    $("input[name='quantity']").on("input", function(){ 
     if((+$(this).val()) < (+$(this).attr("min"))){ 
      $(this).val($(this).attr("min")); 
     } else if((+$(this).val()) > (+$(this).attr("max"))){ 
      $(this).val($(this).attr("max")); 
     } 

     var $outputCell = $(this).parent().siblings("[data-product-price]").eq(0); 
     $outputCell.html((+$outputCell.data("product-price") * +$(this).val())); 
    }); 
}); 
</script> 

Форма:

<form> 
    <table align="center"> 
     <tr> 
      <td align="center" colspan="4"><input type="text" name="username" placeholder="In-Game Name" /><br/><br/></td> 
     </tr> 
     <tr> 
      <th></th> 
      <th>Product Name</th> 
      <th align="center">Quantity</th> 
      <th align="center">Points Earned</th> 
     </tr> 
     <?php echo getProducts(); ?> 
     <tr> 
      <td colspan="4"><br/><br/></td> 
     </tr> 
     <tr> 
      <td align="right" colspan="3"><strong>Total:</strong></td> 
      <td align="center">0 Points</td> 
     </tr> 
    </table> 
</form> 

--Edit--

Изменен мой код и вынул функция javascript adding(), поскольку он был старым и не работал. Теперь, как лучше всего добавить все ячейки в столбце Points Earned и распечатать его в последней строке, где находится Total.

Так, если общее для каждого из Points Earned рассчитывается по javascript code, как можно добавить, что и отображать его в конце стола, где Total находится?

+0

где именно проблема? какую колонку вы пытаетесь добавить? –

+0

Извините, что я отредактировал свой вопрос – rackemup420

+0

где это очки? –

ответ

0

Просто добавьте значение в PHP

<?php 

function getProducts() { 
    $total = 0;//   <---------- this line 
    $query = 'SELECT * FROM `oc_product` ORDER BY `model` ASC'; 
    $params = array(); 
    $results = dataQuery($query,$params); 
    foreach ($results as $result) { 
     $product_id = $result['product_id']; 
     $product_name = getProductName($product_id); 
     $product_image = 'shop/image/'.$result['image']; 
     $product_price = 1; 
     echo '<tr>'; 
     echo '<td width="15px"><img src="'.$product_image.'" width="10px" height="10px" /></td>'; 
     echo '<td width="200px">'.$product_name.'</td>'; 
     echo '<td width="150px"><input type="number" value="0" min="0" max="3456" name="quantity" /></td>'; 
     echo '<td width="200px" align="center" class="price" data-product-price="'.$product_price.'">0</td>'; 
     echo '</tr>'; 
     $total += $product_price;//   <------- this line 
    } 
    echo "<input type='hidden' id='points' value='$total'"; 
} 

печати значение как этот

<tr> 
    <td align="right" colspan="3"><strong>Total:</strong></td> 
    <td id="Total" align="center"></td> <---- leave empty 
</tr> 

Сейчас в сценарии

$("#Total").html($("#points").val() + " Points"); 
+0

Итак, как это будет выводиться в последней строке моей таблицы? – rackemup420

+0

@ rackemup420, извините, проверьте код .. –

+0

'Примечание: неопределенная переменная: всего в /customers/b/4/a/athomestudios.net/httpd.www/mc/catalog/view/default/pages/shop/sell.php в строке 56' – rackemup420

Смежные вопросы