2013-02-15 4 views
0

Что у меня есть:Добавить в PHP MySQL таблице

<table class="sortable table table-hover table-bordered"> 
    <thead> 
    <tr> 
    <th>CPU</th> 
    <th>Speed</th> 
    <th>Cores</th> 
    <th>TDP</th> 
    <th>Preformace</th> 
    <th>Overclocing</th> 
    <th>Price</th> 
    <th>Buy</th> 
    </tr> 
    </thead> 
    <tbody> 
    <?php $i=0 ; 
    do { 
    $preformace = $row_Procesory['Preformace']; 
    $over = $row_Procesory['Overclocing']; 
    $i++; ?> 
    <tr> 
    <td><?php echo $row_Procesory['CPU']; ?></td> 
    <td><?php echo $row_Procesory['Speed']; ?></td> 
    <td><?php echo $row_Procesory['Cores']; ?></td> 
    <td><?php echo $row_Procesory['TDP']; ?></td> 
    <td><?php echo " 
    <script type='text/javascript'> 
    $(document).ready(function() { 
    $('#progressbarP$i').height(10).progressbar({ 
            value : 1 
            }); 
    $('#progressbarP$i .ui-progressbar-value').animate(
    {width: '$preformace%'},{queue: false}); 
    }); 
    </script> 
    <div id='progressbarP$i' title='$preformace'></div> 
    ";?></td> 

    <td><?php echo " 
    <script type='text/javascript'> 
    $(document).ready(function() { 
    $('#progressbarO$i').height(10).progressbar({ 
            value : 1 
            });    
    $('#progressbarO$i .ui-progressbar-value').animate({ 
     width: '$over%' 
     }, 1000); 
    }); 
    </script> 
    <div id='progressbarO$i' title='$over'></div> 
    ";?></td> 

    <td><?php echo $row_Procesory['Price']; ?></td> 
    <!-- BUTTON SECTION --> 
    <td><?php echo "<button class='btn btn-success' type='button' align='CENTER'>Add</button>";?></td> 
    </tr> 
    <?php } while ($row_Procesory = mysql_fetch_assoc($Procesory)); ?> 
</tbody> 
</table> 

В основном им пробегает по MySQL и отображение строк. В столбце preformace и overclocking im отображается анимированный jQuery progresbar со значением из mysql. Im также использует bootstrap и sortable.js для сортировки таблицы.

How it looks like:

Что я хочу: Когда я нажимаю кнопку название процессора будет отослано в test.php в качестве переменной добавить. я даже не знаю, как имя целевого элемента с JQuery: D

+0

Пожалуйста, сделать jsfiddle, чтобы мы могли помочь более – Sedz

+0

его динамический от моего сервера MySQL это будет простая таблица в jsfiddle –

+0

да, я знаю, но это было бы проще, чтобы проверить это, как HTML и JS в любом случае посмотрите на мой ответ – Sedz

ответ

0

Если я правильно понял ваш вопрос здесь что-то может помочь

<table class="sortable table table-hover table-bordered"> 
    <thead> 
    <tr> 
    <th>CPU</th> 
    <th>Speed</th> 
    <th>Cores</th> 
    <th>TDP</th> 
    <th>Preformace</th> 
    <th>Overclocing</th> 
    <th>Price</th> 
    <th>Buy</th> 
    </tr> 
    </thead> 
    <tbody> 
    <?php $i=0 ; 
    do { 
    $preformace = $row_Procesory['Preformace']; 
    $over = $row_Procesory['Overclocing']; 
    $i++; ?> 
    <tr> 
    <td><?php echo $row_Procesory['CPU']; ?></td> 
    <td><?php echo $row_Procesory['Speed']; ?></td> 
    <td><?php echo $row_Procesory['Cores']; ?></td> 
    <td><?php echo $row_Procesory['TDP']; ?></td> 
    <td><?php echo " 
    <script type='text/javascript'> 
    $(document).ready(function() { 
    $('#progressbarP$i').height(10).progressbar({ 
            value : 1 
            }); 
    $('#progressbarP$i .ui-progressbar-value').animate(
    {width: '$preformace%'},{queue: false}); 
    }); 
    </script> 
    <div id='progressbarP$i' title='$preformace'></div> 
    ";?></td> 

    <td><?php echo " 
    <script type='text/javascript'> 
    $(document).ready(function() { 
    $('#progressbarO$i').height(10).progressbar({ 
            value : 1 
            });    
    $('#progressbarO$i .ui-progressbar-value').animate({ 
     width: '$over%' 
     }, 1000); 
    }); 
    </script> 
    <div id='progressbarO$i' title='$over'></div> 
    ";?></td> 

    <td><?php echo $row_Procesory['Price']; ?></td> 
    <!-- BUTTON SECTION --> 
    <td><?php echo "<button class='btn btn-success pro_btn' processor = '".$row_Procesory['CPU']."' type='button' align='CENTER'>Add</button>";?></td> 
    </tr> 
    <?php } while ($row_Procesory = mysql_fetch_assoc($Procesory)); ?> 
</tbody> 
</table> 

Это решение (процессор атрибут), чтобы избежать селекторы который может быть что-то еще мы можем предоставить его, если вы хотите

$('.pro_btn').die('click').live('click',function(e){ 
    var name = $(this).attr('processor'); 
    $.post('test.php',{'processor_name':name}, function(response) { 
    // log the response to the console 
     console.log("Response: "+response); 
    }); 

}); 

Если вы не хотите использовать атрибут вы можете сделать что-то вроде этого

var name = $(this).closest('tr').find('td:first').text(); 

Я надеюсь, что это может помочь :)

+0

спасибо человеку, я попробую завтра. я не знал, что могу сделать свои собственные атрибуты. –

+0

Нет, вы можете сказать мне завтра – Sedz

+2

Пока вы можете создавать свои собственные атрибуты, это не рекомендуется. HTML5 зарезервировал 'data-XXX' для пользовательских атрибутов, вы должны использовать это. jQuery поддерживает это с помощью метода '.data()': '$ (this) .data ('processor')' эквивалентно '$ (this) .attr ('data-processor')'. – Barmar

0

события Захвата клика и найти ближайший «тра», а затем первый «» тд этого «тра». Это было бы так:

$(this).closest('tr').find('td:first').text(); 

Или получить скобка вашей кнопки, который будет тд, и родитель них ТД. Это будет tr. Последний получить первый тд.

$(this).parent().parent().find('td:first').text(); 

Или просто добавьте дополнительный атрибут к своей кнопке, а затем получите значение.

$(this).attr('processor'); 
+0

Как и ответ Седза? – Barmar

+0

Возможно, в то же время – yngrdyn

+0

Нет, его было несколько минут до твоего. Вы не можете сказать это сейчас, потому что SO округляет время. Но я бы никогда не сделал такой комментарий, если бы ваши ответы были в пределах 2 минут друг от друга. – Barmar

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