[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: поиск и добавление нового если в базе не найдено
rowlin
Доброго времени суток !
Имеется новый прайс , нужно залить новое описание товара, если opisanie совпадает со старым (с базой),если не совпадает то добавляем новый продукт ..
Решил написать скрипт..
но встал вопрос .. при Insert into ... в цикле не будут ли биться уникальные id ?
или как выполнить добавление в базу по окончанию цикла ?
В вузе что-то слышал про semaphore, mutex .. но на С ...
Не подскажите в ту ли сторону копаю ?

вот то что написал :
<?php
require 'scripts/connect.php';
$i=0;
$k=0;
$n=0;
$select_sql = "SELECT id, name, size FROM Azod1";
$result = mysql_query($select_sql);
$row = mysql_fetch_array($result);
do
{

$val = "select produkt_copy.id ,produkt_copy.opisanie from produkt_copy where produkt_copy.opisanie like '%". $row['name'] ."%".$row['size']. "%';" ;
$res = mysql_query($val);
$n=$n+1;
if(mysql_num_rows($res)== 0){
printf("<tr><td>[%d]</td><td>[%s]</td> <td>имя не найдено</td><td>id(%s)</td></tr> ",$k=$k+1 , $row['name'], $row['id'] );
//создать новую ячейку по окончанию цикла


}
else{
while ($row2 = mysql_fetch_array($res)) {

printf("<tr><td>%d</td><td>%s</td><td>%s</td><td>%s< ;/td></tr>",$i=$i+1 ,$row["name"], $row2["id"], $row2["opisanie"]);
/*обновить*/

$sql = "update pro_copy set pro_copy.id ='".$row2["id"]."' where pro_copy.opisanie like '".$row2["opisanie"]."'; ";
$query = mysql_query($sql);
if (!$query){
echo('не обновлено '. mysql_error());
continue;
}
else {
printf ("<tr><td>%d<td><td> %s </td><td> %s </td><td>%s </td></tr>",$i=$i+1, $row["name"], $row2["id"], $row2["opisanie"]);
}
}
//else
}//while
}//do
while($row = mysql_fetch_array($result));
echo "</table>";
printf("<div>Создано %d значений <br> Найдено и обновлено %d значений<br>выполнено %d запросов</div>", $k,$i,$n);

?>


Заранее спасибо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.