2013-06-27 1 views
0

Я пытаюсь отобразить данные MySQL с помощью PHP в таблице HTML. строки в настоящее время доступны для кликов, а флажок помещает число из данных в текстовое поле, а затем добавляет каждый флажок.PHP MySQL отображает данные с доступными табличными строками

Я хочу, чтобы это, однако, когда вы одним щелчком мыши строку он будет проверять коробку и поставить номер в текстовое поле (как это делает, когда текст флажок)

затем, если строка дважды щелкнуть мышью он откроет новую страницу

здесь мой текущий PHP код:

<script> 
function correctNumber(number) { 
    return (parseFloat(number.toPrecision(12))); 
} 

function add(total, this_chk_bx) { 
    var thetotal = (form2.thetotal.value * 1); 
    var total = total * 1; 


    if (this_chk_bx.checked == true) { 
     //add if its checked 
     form2.thetotal.value = correctNumber(thetotal + total); 
    } else { 
     //subtract if its unchecked 
     form2.thetotal.value = correctNumber(thetotal - total); 
    } 
} 
</script> 

<form name="form2"> 
    <table width="100%" border="0" cellspacing="0" cellpadding="10"> 
    <tr> 
    <td colspan="6"><form action="../"> 
    <select name="status" onchange="window.open(this.options[this.selectedIndex].value,'_top')"> 
    <option value="?status=" <?php if($_GET["status"] == '') { echo 'selected="selected"'; } ?>>Not Paid</option> 
    <?php 
    $sql2="SELECT * from billing_pdf_archive where status <> '' group by status "; 
    $rs2=mysql_query($sql2,$conn) or die(mysql_error()); 
    while($result2=mysql_fetch_array($rs2)) 
    { 
     echo ('<option value="?status='.$result2['status'].'"'); 
     if(($_GET['status']) == ($result2['status'].'')) 
     { 
      echo (' selected '); 
     } 
     echo ('>'.$result2['status'].'</option>'); 
     } 
    ?> 
    </select> 
    </form> 
    </tr> 
    <tr> 
    <td width="20">&nbsp;</td> 
    <td width="150"><strong><?php echo $invoicenumber_link; ?></strong></td> 
    <td width="250"><strong><?php echo $company_link; ?></strong></td> 
    <td width="100"><strong><?php echo $date_link; ?></strong></td> 
    <td width="100"><strong><?php echo $total_link; ?></strong></td> 
    <td width="100">&nbsp;</td> 
    </tr> 
<?php 
$rs=mysql_query($sql,$conn) or die(mysql_error()); 
while($result=mysql_fetch_array($rs)) 
{ 
    $counter++; 
    $sql2="SELECT * from customer where sequence = '".$result["customer_sequence"]."' "; 
    $rs2=mysql_query($sql2,$conn) or die(mysql_error()); 
    $result2=mysql_fetch_array($rs2); 

    $sql3="SELECT * from reseller where sequence = '".$result["reseller_sequence"]."' "; 
    $rs3=mysql_query($sql3,$conn) or die(mysql_error()); 
    $result3=mysql_fetch_array($rs3); 

    if($result["customer_sequence"] != '0') 
    { 
     $company = $result2["company"]; 
    } 
    elseif($result["reseller_sequence"] != '0') 
    { 
     $company = '<strong>Reseller: </strong>'.$result3["company"]; 
    } 

    $total = $result["total"]; 

    $date = date("d/j/Y",strtotime($result['datetime'])); 

    echo '<tr class="notfirst" style="cursor:pointer;" onclick="document.location=\'editinvoice.php?seq='.$result["sequence"].'&inv='.$result["invoice_number"].'\'"> 
       <td width="20"><input type="checkbox" name="check'.$counter.'" id="check'.$counter.'" onclick=\'add('.$total.', this);\' /></td> 
       <td width="150">'.$result["invoice_number"].'</td> 
       <td width="250">'.$company.'</td> 
       <td width="100">'.$date.'</td> 
       <td width="100">&pound;'.$result["total"].'</td> 
       <td width="100">&pound;'.$result["total"].'</td> 
      </tr>'; 
} 
?> 
<tr> 
    <td colspan="6">&nbsp;</td> 
</tr> 
<tr> 
    <td colspan="6">&nbsp;</td> 
</tr> 
</table> 

<div class="div-bottom"> 
<table width="100%" border="0" cellspacing="0" cellpadding="10"> 
<tr> 
    <td>&nbsp;</td> 
    <td><strong>Total: </strong><input type="text" name="thetotal" value="0" /></td> 
    <td><strong>VAT:</strong> </td> 
    </tr> 
</table> 
</div> 
</form> 

любые идеи лучший способ обойти это?

+0

У вас нет проблем с PHP или MySQL. Это javascript/DOM-манипуляция и проблема юзабилити. Ну, это я покажу вам, как сделать запись с помощью интерактивных строк, которые активируют флажок e 2-click, откройте новое окно, решит ли ваша проблема? –

+0

это, безусловно, будет - мне нужно сделать один клик, чтобы сделать то, что делает флажок, когда нажимается строка, он помещает номер (цена) в текстовое поле, затем выбирается другая строка и добавляет эту строку к выбранному и так далее. .. тогда, когда un selected, он удалит этот номер из текстового поля –

+2

* Обязательно: * Функции 'mysql_ *' будут [устарели в PHP 5.5] (http://php.net/manual/en/faq.databases. PHP # faq.databases.mysql.deprecated). Не рекомендуется писать новый код, поскольку он будет удален в будущем. Вместо этого либо [MySQLi] (http://php.net/manual/en/book.mysqli.php), либо [PDO] (http://php.net/manual/en/book.pdo.php) и [быть лучшим разработчиком PHP] (http://jason.pureconcepts.net/2012/08/better-php-developer/). –

ответ

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