如何在循环中创建一个唯一的id?

时间:2015-07-09 08:22:49

标签: javascript php

首先,当谈到编码时,请务必温柔。 我有一个php while循环和循环内部我有一个带有Id的文本输入类型的表单,如何使id唯一或++?

    $list = '';
while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
        $pro_id = $row['product_id'];
        $pro_cat = $row['product_cat'];
        $pro_makat = $row['product_makat'];
        $pro_title = $row['product_title'];
        $pro_price = $row['product_price'];
        $pro_image = $row['product_image'];
        $pro_qty = $row['product_qty'];
        $pro_fullprice = $row['product_fullprice'];

        $checkforqty = "select product_qty from products";
        $runcheck = mysqli_query($con, $checkforqty);

            $i = 1;

            if($pro_qty == 0){
                $list .= "<div id='single_product' >

                <a href='details.php?pro_id=$pro_id'><img src='admin_area/product_images/$pro_image' width='100%' height='60%' /></a>
                </br>
                <h3>$pro_title</h3>
                <p style='color:gray; text-decoration: line-through;'> $pro_fullprice ₪ :מחיר</p>
                <p style='color:#ff66ff; font-weight: bold; '> $pro_price ₪ :מחיר שלנו</p>
                </br>
                <a href='#'><button class='button_addCart' style='background-color:gray;'>הוסף לסל</button></a>
                <p style='font-size:10px; color:red;'>מוצר זה אזל במלאי</p>
            </div>";
            } else {
                $list .=  "<div id='single_product'>
                <a href='details.php?pro_id=$pro_id'><img src='admin_area/product_images/$pro_image' width='100%' height='60%' /></a>
                </br>
                <h3>$pro_title</h3>
                <p style='color:gray; text-decoration: line-through;'> $pro_fullprice ₪ :מחיר</p>
                <p style='color:#ff66ff; font-weight: bold; '> $pro_price ₪ :מחיר שלנו</p>
                </br>
                <a href='index.php?add_cart=$pro_id'><button class='button_addCart'>הוסף לסל</button></a>
                <form name='f1' method='post'>
                <input type='button' name='inc' onclick='javascript:document.getElementById(\"$i++\").value++;' value='+' />
                <input type='text' size='1' name='quan' id='$i++' value='1' />
                <input type='button' name='dec' onclick='javascript:document.getElementById(\"$i++\").value--;' value='-' /> 

                </form>

            </div>";


            }


}

编辑了代码,我的最终目的是给循环底部的表单赋予唯一的id,这样JS可以在表单之间有所不同

5 个答案:

答案 0 :(得分:0)

你可以做这样的事情

    <?php

    $i=0;

    while($i<10){

    echo '<input type="text" id="'.$i.'">';

    $i++;  
    }


?>

答案 1 :(得分:0)

您的代码输出$ i的值然后增加它。所以inc和dec不使用quan使用的id。

首先生成你的id,然后将它用于所有3个元素。

<?php
$id = bin2hex(openssl_random_pseudo_bytes(8));
echo <<< EOMF
<form name='f1' method='post'>
    <input type='button' name='inc' onclick='javascript:document.getElementById("$id").value++;' value='+' />
    <input type='text' size='1' name='quan' id='$ic' value='1' />
    <input type='button' name='dec' onclick='javascript:document.getElementById("$id").value--;' value='-' /> 
</form>
EOMF;

或使用您的代码

$id = bin2hex(openssl_random_pseudo_bytes(16));
$list .= <<< EOMF
<div id='single_product'>
    <a href='details.php?pro_id=$pro_id'><img src='admin_area/product_images/$pro_image' width='100%' height='60%' /></a>
    </br>
    <h3>$pro_title</h3>
    <p style='color:gray; text-decoration: line-through;'> $pro_fullprice ₪ :מחיר</p>
    <p style='color:#ff66ff; font-weight: bold; '> $pro_price ₪ :מחיר שלנו</p>
    </br>
    <a href='index.php?add_cart=$pro_id'><button class='button_addCart'>הוסף לסל</button></a>
    <form name='f1' method='post'>
        <input type='button' name='inc' onclick='javascript:document.getElementById("$id").value++;' value='+' />
        <input type='text' size='1' name='quan' id='$id' value='1' />
        <input type='button' name='dec' onclick='javascript:document.getElementById("$id").value--;' value='-' /> 
    </form>
</div>
EOMF;

答案 2 :(得分:0)

试试这个:

$ i = 1;

            if($pro_qty == 0){
                $list .= "<div id='single_product' >

                <a href='details.php?pro_id=$pro_id'><img src='admin_area/product_images/$pro_image' width='100%' height='60%' /></a>
                </br>
                <h3>$pro_title</h3>
                <p style='color:gray; text-decoration: line-through;'> $pro_fullprice ₪ :מחיר</p>
                <p style='color:#ff66ff; font-weight: bold; '> $pro_price ₪ :מחיר שלנו</p>
                </br>
                <a href='#'><button class='button_addCart' style='background-color:gray;'>הוסף לסל</button></a>
                <p style='font-size:10px; color:red;'>מוצר זה אזל במלאי</p>
            </div>";
            } else {
                $list .=  "<div id='single_product'>
                <a href='details.php?pro_id=$pro_id'><img src='admin_area/product_images/$pro_image' width='100%' height='60%' /></a>
                </br>
                <h3>$pro_title</h3>
                <p style='color:gray; text-decoration: line-through;'> $pro_fullprice ₪ :מחיר</p>
                <p style='color:#ff66ff; font-weight: bold; '> $pro_price ₪ :מחיר שלנו</p>
                </br>
                <a href='index.php?add_cart=$pro_id'><button class='button_addCart'>הוסף לסל</button></a>
                <form name='f1' method='post'>
                <input type='button' name='inc' onclick='javascript:document.getElementById(\"$i++\").value++;' value='+' />
                <input type='text' size='1' name='quan' id='."$i++."' value='1' />
                <input type='button' name='dec' onclick='javascript:document.getElementById(\"$i++\").value--;' value='-' /> 

                </form>

            </div>";

                    </form>

                </div>";


                }


    }

答案 3 :(得分:0)

您可以从

更新表单

<form name='f1' method='post'>

<form name='f1' id='".$pro_id."' method='post'>

您的每个表单都有一个唯一的ID。

答案 4 :(得分:0)

您可以使用此解决方案

制作一个功能:

function change_value(operation, id){
     if(operation)
     document.getElementById(id).value++;
     else
     document.getElementById(id).value--;
}

然后:

$list.= "<input type='button' name='inc' onclick='change_value(true,".$i.");' value='+' />
<input type='text' size='1' name='quan' id='".$i."' value='1' />
<input type='button' name='dec' onclick='change_value(false,".$i.");' value='-' />";

$i++;