Php 将两个值从数据库推送到一个数组
在第6行,我将一个值从数据库推送到名为$products的数组中。现在,我想从数据库(Php 将两个值从数据库推送到一个数组,php,arrays,Php,Arrays,在第6行,我将一个值从数据库推送到名为$products的数组中。现在,我想从数据库($row->image)向与$row->name匹配的同一数组提供另一个值 也许使用二维数组是有意义的,但我不知道在这种情况下如何做到这一点 $products = array(); foreach($_POST['selected_checkboxes'] as $value) { if($result = $db->query("SELECT * FROM produkte WHERE $va
$row->image
)向与$row->name
匹配的同一数组提供另一个值
也许使用二维数组是有意义的,但我不知道在这种情况下如何做到这一点
$products = array();
foreach($_POST['selected_checkboxes'] as $value) {
if($result = $db->query("SELECT * FROM produkte WHERE $value = 1")){
while($row = $result->fetch_object()) {
if (!in_array($row->name, $products)) {
array_push($products, $row->name);
}
}
}
else {
array_push($products, 'error');
}
}
结果应该会显示两个值的名称和图像,这两个值属于同一个值。您可以这样做,假设您已经对
$row->name
和$row->image
匹配逻辑进行了排序:
if (!in_array($row->name, $products)) {
array_push( $products, array('name'=>$row->name, 'image'=>$row->image) );
}
您可以这样做,假设您已经对
$row->name
和$row->image
匹配逻辑进行了排序:
if (!in_array($row->name, $products)) {
array_push( $products, array('name'=>$row->name, 'image'=>$row->image) );
}
您可以这样尝试:
$products = array();
foreach ( $_POST['selected_checkboxes'] as $value ) {
if ( $result = $db->query( "SELECT * FROM produkte WHERE $value = 1" ) ) {
while ( $row = $result->fetch_object() ) {
// if your name is unique you can do it like this,
// if not just take $row->id as index
if( isset( $products[$row->name] ) ) continue;
$products[$row->name] = array( "name" => $row->name, "image" => $row->image );
}
} else {
array_push( $products, 'error' );
}
}
// if you want to have plain digits as index you can get a reindexed array
$products = array_values( $products );
然后您将得到如下数组:
array(//$products
array(
"name" => "productname",
"image" => "productimage"
)
);
您可以这样尝试:
$products = array();
foreach ( $_POST['selected_checkboxes'] as $value ) {
if ( $result = $db->query( "SELECT * FROM produkte WHERE $value = 1" ) ) {
while ( $row = $result->fetch_object() ) {
// if your name is unique you can do it like this,
// if not just take $row->id as index
if( isset( $products[$row->name] ) ) continue;
$products[$row->name] = array( "name" => $row->name, "image" => $row->image );
}
} else {
array_push( $products, 'error' );
}
}
// if you want to have plain digits as index you can get a reindexed array
$products = array_values( $products );
然后您将得到如下数组:
array(//$products
array(
"name" => "productname",
"image" => "productimage"
)
);
我认为如果使用stdClass对象,就可以实现这一点
$std = new stdClass();
$std->name = $row->name;
$std->image = $row->image;
array_push($products, $std);
或者,您可以将sql查询更改为
SELECT name, image FROM produkte WHERE $value = 1
及
我认为如果使用stdClass对象,就可以实现这一点
$std = new stdClass();
$std->name = $row->name;
$std->image = $row->image;
array_push($products, $std);
或者,您可以将sql查询更改为
SELECT name, image FROM produkte WHERE $value = 1
及
$row->image
中的图像是否具有与$row->name
相同的值?您的代码是@NaijaProgrammer否,如果我将其中一个“选中的\u复选框”值更改为1=1,则它具有另一个值;升降台--
那可能是个坏消息。你能发布输入和预期输出吗?$row->image
中的图像是否与$row->name
具有相同的值?你的代码是@NaijaProgrammer否,如果我将其中一个“selected_checkbox”值更改为1=1;升降台--代码>那么这可能是个坏消息。你能发布输入和预期输出吗?非常感谢,这正是我想要的!!非常感谢,这正是我想要的!!谢谢你,这绝对有帮助!谢谢你,这绝对有帮助!