Ето ми го кода...
Целта е следната : проверява за дадено ID в таблицата ако съществува нищо , ако не съществува пуска заявка insert...
Ето го кода:
Но проблема е че когато заявката е по този начин
Прави си проверката и отново ънсерт... все едно такова ID няма , а дефакто още след първата проверка ID-то вече е добавено и то неведнъж...
Ако заявката е по този начин:
Добавя само последният запис - не използва foreach...
Някои ако ми даде логично обяснение за това и сподели как трябва да стане ще съм му много благодарен
Лека и мека на всички
Целта е следната : проверява за дадено ID в таблицата ако съществува нищо , ако не съществува пуска заявка insert...
Ето го кода:
PHP:
$wins = mysql_query("SELECT a.id, a.statut, b.id, b.tour_id, c.proj_id, COUNT(composition) as c_composition, SUM(composition) as total_composition, COUNT(design) as c_design, SUM(design) as total_design, COUNT(work) as c_work, SUM(work) as total_work, COUNT(total) as c_total, SUM(total) as total_total, c.accept, d.tours_id
FROM vt_tours as a, vt_toursproj as b, vt_prjvotes as c, vt_tour_result as d WHERE a.id=b.tour_id AND b.id=c.proj_id AND c.accept='1' AND a.statut='3' GROUP BY c.proj_id")
or die("<br /> Грешка при извличане на конкурсите: (" . mysql_errno() . ") " . mysql_error());
while($s = mysql_fetch_array($wins)) {
$tour_id['a'] = $s['tour_id'];
$proj_id['a'] = $s['proj_id'];
$checkresult = "SELECT * FROM vt_tour_result WHERE tours_id = '".$tour_id."'";
$chkresult = mysql_query($checkresult) or die(mysql_error());
if(mysql_num_rows($chkresult)) { echo "Информацията е ъпдейтната";}
else {
$avcomposition['a'] = $s['total_composition'] / $s['c_composition'];
$avdesign['a'] = $s['total_design'] / $s['c_design'];
$avwork['a'] = $s['total_work'] / $s['c_work'];
$avtotal['a'] = $s['total_total'] / $s['c_total'];
echo "<br />Конкурс ".$s['tour_id']." Проект: ".$s['proj_id']." Композиция: ".$avcomposition." Дизайн: ".$avdesign." Изработка: ".$avwork." Общо: ".$avtotal." ";
foreach($tour_id as $a=>$b)
{
$inserts = mysql_query("INSERT INTO vt_tour_result (id, tours_id, proj_id, av_composition, av_design, av_work, av_total, av_accept)
VALUES ('', '$tour_id[a]', '$proj_id[a]', '$avcomposition[a]', '$avdesign[a]', '$avwork[a]', '$avtotal[a]', '1')")
or die(mysql_error());
echo "1 добавен запис!"; }
}
}
Но проблема е че когато заявката е по този начин
PHP:
$checkresult = "SELECT * FROM vt_tour_result WHERE tours_id = '".$tour_id."'";
Ако заявката е по този начин:
PHP:
$checkresult = "SELECT * FROM vt_tour_result WHERE tours_id = '".$tour_id['a']."'";
Някои ако ми даде логично обяснение за това и сподели как трябва да стане ще съм му много благодарен
Лека и мека на всички