只从mysql数据库获取最后一条记录

时间:2015-07-25 06:36:58

标签: javascript php mysql

我被困在一个代码上,我想从MySQL获取数据到一个数组..我有一个包含颜色和大小选择框的表单,触发了onclick javascript函数,并创建了两个选择框像上面一样,我设法将数据输入到javascript代码中,其中编写了用于创建新选择框的代码。 但我只从两个表中获取最后插入的记录。虽然我使用了while循环。 有人可以帮助我,我也得到所有选择框的名称,如name="color[]",我想将记录插入包含颜色和大小的ID的桥表。下面是我的代码,请帮助..

我将清除它,每次我点击添加更多按钮时,它应该创建2个新的下拉列表,一个用于颜色,第二个用于大小,两个下拉列表都应该具有来自数据库的不同数据。所以每个记录的ID在每个下拉列表中都是相同的,我想在桥表中添加多于1个记录,其中包含product_id,color_id和size_id,所以如果我选择3个dropwdown框,我选择蓝色和小尺寸在第一个,然后第二个下拉列表我再次选择蓝色和大小介质,最后一个下拉列表也是由javascript函数生成的。我选择黑色和大尺寸。因此从下拉列表中它将获得大小,颜色的ID,并且它将相应地插入..所以当我显示产品并且颜色为蓝色时,我只会看到添加到蓝色时添加到蓝色的尺寸产品......我希望这能清除一切:)

$result=mysql_query("SELECT * FROM color,size");
while($row=mysql_fetch_array($result)) {

    ?>


    <script>
        var room = 1;
        function add_fields() {
            room++;
            var objTo = document.getElementById('room_fileds')
            var divtest = document.createElement("div");
            divtest.innerHTML = '<div class="label">Room ' + room + ':</div><div class="content"><span>Color: <select name="color[]"><option value="<?php echo $row['color_id']; ?>"><?php echo $row['color']; ?></option></select></span><span>Size: <select><option value="<?php echo $row['size_id']; ?>"><?php echo $row['size']; ?></option></select></span></div>';

            objTo.appendChild(divtest)
        }
    </script>

<?php

}

HTML代码

<div id="room_fileds">
    <div>
        <div class='label'></div>
        <div class="content">
            <input type="button" class="btn btn-success" id="more_fields" onclick="add_fields();" value="Add More" /> <br /><br />

            <select name="color[]"  class="form-control">
                <option value="0">Select Color</option>
                <?php
                $result=mysql_query("SELECT * FROM color");
                while($row=mysql_fetch_array($result)){
                    ?>
                    <option value="<?php echo $row['color_id'] ?>"><?php echo $row['color']; ?></option>
                <?php } ?>
            </select>

            <select name="size[]"  class="form-control">
                <option value="0">Select Size</option>
                <?php
                $result=mysql_query("SELECT * FROM size");
                while($row=mysql_fetch_array($result)){
                    ?>
                    <option value="<?php echo $row['size_id'] ?>"><?php echo $row['size']; ?></option>
                <?php } ?>
            </select>


        </div>
    </div>
</div>

4 个答案:

答案 0 :(得分:1)

用以下内容替换您的第一个代码:

<script>

var colors = [];
var sizes = [];
var room = 1;
<?php
$result = mysql_query("SELECT * FROM color");
while ($row = mysql_fetch_array($result)) { ?>
    colors.push(['<?php echo $row['color_id'] ?>', '<?php echo $row['color'] ?>']);
<?php }
$result = mysql_query("SELECT * FROM size");
while ($row = mysql_fetch_array($result)) { ?>
    sizes.push(['<?php echo $row['size_id'] ?>', '<?php echo $row['size'] ?>']);
<?php } ?>

function add_fields() {
    room++;
    var objTo = document.getElementById('room_fileds');
    var divtest = document.createElement("div");
    var html = '<div class="label">Room ' + room + ':</div><div class="content"><span>Color: <select name="color[]" class="form-control">';
    for (i = 0; i < colors.length; i++) {
        html += '<option value="' + colors[i][0] + '">' + colors[i][1] + '</option>';
    }
    html += '</select></span><span>Size: <select name="size[]" class="form-control">';
    for (i = 0; i < sizes.length; i++) {
        html += '<option value="' + sizes[i][0] + '">' + sizes[i][1] + '</option>';
    }
    html += '</select></span></div>';
    divtest.innerHTML = html;
    objTo.appendChild(divtest);
    room++;
}

</script>

答案 1 :(得分:0)

$divs='';
$result=mysql_query("SELECT * FROM color,size");
$room=1;
while($row=mysql_fetch_array($result)) {

    $divs.='<div><div class="label">Room ' . $room . ':</div><div class="content"><span>Color: <select name="color[]"><option value="'.$row['color_id'].'">'.$row['color'].'</option></select></span><span>Size: <select><option value="'.$row['size_id'].'">'.$row['size'].'</option></select></span></div></div>';
    $room++;
} ?>
<script>
function add_fields() {          
    var objTo = document.getElementById('room_fileds');
    objTo.appendChild(<?php echo $divs; ?>);
}
</script>

答案 2 :(得分:0)

试试这段代码希望它适合你

 <script>
var room = 1;
function add_fields() { 
    room++;  
    var objTo = document.getElementById('room_fileds');
    var divtest = document.createElement("div");
    <?php 
        $div_start='<div class="label">Room '."'+ room +'".' :</div><div class="content">';
        $color='<span>Color: <select name="color[]">';
        $size='<span>Size: <select>'
        $result=mysql_query("SELECT * FROM color,size");
        while($row=mysql_fetch_array($result)) { 
             $color.='<option value="'.$row['color_id'].'">'.$row['color'].'</option>';
             $size.='<option value="'.$row['size_id'].'">'.$row['size']'.</option>';
        }
        $color.='</select> </span>';
        $size.='</select> </span>';
        $div_close='</div>';
        $innerHTML=$div_start.$color.$size.$div_close; 
    ?> 
    divtest.innerHTML ='<?php echo $innerHTML; ?>';
    objTo.appendChild(divtest);
}
</script>

答案 3 :(得分:0)

这是最终的代码,如果有人想要编写类似的东西,它会有所帮助..只需更改值,它可以根据您的需要工作......我要感谢所有回复该帖子的人特别是穆罕默德·阿尼尼......如果没有他的帮助,这是不可能的!

$query = mysql_query("INSERT INTO products (product_name,product_description, product_pic1, product_pic2, product_pic3,product_price,category_id,subcategory_id,product_status,color,size,product_slug, meta_keywords,entrydate)

                VALUES ('$product', '$description' , '$image', '$image2', '$image3', '$product_price', '$category', '$subcategory', '$product_status', '$capture_field_vals', '$size', '$product_slug1', '$meta_keywords', Now() )") or die(mysql_error());

                if ($query === TRUE) {

                    $lastid = mysql_insert_id();

                    $color["color"]=array();
                    $size["size"]=array();

                    foreach ($_POST['color'] as $key => $colorvalue) {
                    }


                    foreach ($_POST['size'] as $key => $sizevalue) {
                    }
                    $cid=array();
                    foreach($color as $rec){
                        $cid[]=$rec;
                    }
                    $sz=array();
                    foreach($size as $rec){
                        $sz[]=$rec;
                    }

                    $length=sizeof($color);
                    for($i=0;$i<$length-1;$i++){


                        $query2 = mysql_query("INSERT INTO bridge (product_id,color_id, size_id)

                VALUES ('$lastid', '$cid[$i]' , '$sz[$i]')") or die(mysql_error());

                    // echo "<script>alert('New Product successfully Addedd');windows.location.replace('addedit_product.php');</script>";
                    }