if(count($search)==0) {
for($i=0;$i<count($about);$i++) {
$bd->insert("search","page_title,page_description,page_url,image_id","'About','{$about[$i]['image_title']}','http://religiousbrands.in/demo/about.php?search=".$about[$i]['id']."','{$about[$i]['uniq_id']}'");
}
} else {
for($i=0;$i<count($about);$i++) {
for($k=0,$j=0;$k<=$i,$j<count($search);$j++,$k++) {
if($search[$j]['image_id']==$about[$i]['uniq_id']) {
echo "update".$i.'and'.$k.'and'.$j;
echo"<br>";
$bd->update("search",
"page_title='About',page_description='{$about[$i]['image_title']}',page_url='http://religiousbrands.in/demo/about.php?search=".$about[$i]['id']."' ","image_id='{$about[$i]['uniq_id']}' limit 1");
}
}
}
}
$ search 是我从数据库中获取的数组。首先我检查搜索表是否为空。如果为空,则将值插入搜索表中。 $ about 也是我从数据库中获取的数组。如果$ search不为空那么我正在更新该值,但首先检查$ search [$ j] ['image_id'] === $ about [$ i] [uniq_id],这里是我的问题开始:
假设在我的表中有3个条目,即: uniq_id = 1 uniq_id = 2 uniq_id = 3 在我的表搜索中有2个条目,即: image_id = 1 image_id = 2 所以搜索表不是空的所以它将遵循第二个条件。所以我正在尝试表格约[1] ['uniq_id']应检查$ search [1] ['image_id']和$ search [2] ['image_id']等等$ search [$ i] [' image_id']如果表有任何值 但我的循环不能像我想的那样工作所以任何人都可以帮助我
答案 0 :(得分:0)
您需要知道“搜索”表中哪些行需要添加(INSERT)以及哪些行需要更新。
也许首先尝试循环遍历“搜索”数组并找到您拥有的“image_id”值。
$image_ids = array();
foreach ($search as $item) {
$image_ids[] = $item['image_id'];
}
接下来,遍历“about”数组。使用“$ image_ids”数组中的ID来确定您是否需要UPDATE
或INSERT
项目。
foreach ($about as $item) {
if (in_array($item['image_id'], $image_ids)) {
// Item already exists. Update it.
} else {
// Item doesn't exist. Add it.
}
}
这比将循环放在循环中要快得多。