- Затруднение с сетване на статус в база данни
WT форуми -> PHP MySQL ASP.NET -> Затруднение с сетване на статус в база данни
Създайте нова тема Напишете отговор 
Автор Съобщение
georgi27
Нов
Нов

Регистриран на: 16/03/2018 4:21 pm

Support: 0
Bonus: 0
Мнения: 11
Мнение 16/03/2018 4:27 pm     Затруднение с сетване на статус в база данни Отговорете с цитат


Добър вечер, по какъв начин може да се редактира този код , така че да имам падащо мено от което да избирам дали да одобра кандидатурата или да не я одобрявам

PHP code:
$ad = mysql_query("SELECT za,protiv FROM amx_candidates_comments s 
INNER JOIN amx_candidates u ON u.id='$ids' AND s.kandidatura_id='$ids' WHERE u.end<UNIX_TIMESTAMP() AND s.za=1 AND s.protiv=0 GROUP by s.za HAVING COUNT(s.za) >=5") or die(mysql_error());
if (mysql_num_rows($ad) == 1)
{
mysql_query("UPDATE amx_candidates SET status='одобрена' WHERE id='$ids'") or die(mysql_error());


$flags="abceimnu";
$ad = mysql_query("SELECT * FROM `amx_amxadmins` WHERE steamid='$nick' AND access='abcdeu' AND email='0'") or die(mysql_error());
if (mysql_num_rows($ad) == 0) {
$dodaj = "INSERT INTO `amx_amxadmins` (`username`, `password`, `access` , `flags` ,`steamid` , `icq` , `email`, `ashow` , `created` , `expired` , `days`) VALUES ('$nick', '$password', '$flags', 'a' , '$nick' , '0' , '0' , '1' , '$dayscreated' , '$exp' , '$days2')";
mysql_query($dodaj);
$player1 = "SELECT * from amx_amxadmins where steamid='$nick' AND access='$flags'";
$query1 = mysql_query($player1)or die(mysql_error());
$row1 = mysql_fetch_array($query1);
$id1 = $row1["id"];
mysql_query("INSERT INTO `amx_admins_servers` (`admin_id`, `server_id`, `custom_flags`, `use_static_bantime`) VALUES ('$id1', '$server2', '', 'no')")or die(mysql_error());
}

}

elseif(mysql_num_rows($ad) == 0)
{

mysql_query("UPDATE amx_candidates s INNER JOIN amx_candidates_comments u ON u.kandidatura_id='$ids' AND s.id='$ids' SET status='неодобрена'") or die(mysql_error());
}

$ad2 = mysql_query("SELECT * FROM amx_candidates WHERE end>UNIX_TIMESTAMP() AND id='$ids'") or die(mysql_error());
if (mysql_num_rows($ad2) == 1)
{
mysql_query("UPDATE amx_candidates s INNER JOIN amx_candidates_comments u ON u.kandidatura_id='$ids' AND s.id='$ids' SET status='изчакваща'") or die(mysql_error());
}
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
explozen
Турист
Турист

Регистриран на: 10/02/2011 9:15 pm

Support: 13
Bonus: 26
Мнения: 404
Мнение 19/03/2018 3:31 pm      Отговорете с цитат


С този код трудно да пръкнем и останалата ти част от системата. Дай формата откъдето въвеждаш данните.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла Посетете сайта на потребителя
georgi27
Нов
Нов

Регистриран на: 16/03/2018 4:21 pm

Support: 0
Bonus: 0
Мнения: 11
Мнение 19/03/2018 4:05 pm      Отговорете с цитат


това е целия код, просто в сегашния вид ги добавя автоматично според гласуването
<?php
$ids = (int)$_GET['ids'];
$query = mysql_query("SELECT * FROM users where username='$_COOKIE[username]'") or die(mysql_error());
if(mysql_num_rows($query) > 0) {
$rowu = @mysql_fetch_array($query);
$nick2=mysql_real_escape_string($rowu['csnick']);}
$db2 = mysql_query("SET NAMES utf8");
$db2 = mysql_query("SELECT * FROM amx_candidates s INNER JOIN users u ON u.csnick=s.nick INNER JOIN amx_serverinfo v ON (v.id=s.server_id)  WHERE s.id = '$ids'") or die(mysql_error());

if (mysql_num_rows($db2) == 1) {
while($row = mysql_fetch_array($db2)){
$ime = $row['ime'];
$nick = $row['nick'];
$godini = $row['godini'];
$vremeigra = $row['vremeigra'];
$amxkom = $row['amxkom'];
$kandidatura = $row['kandidatura'];
$skype = $row['skype'];
$start = $row['start'];
$start = date('m/d/Y', $start);
$end = $row['end'];
$end = date('m/d/Y', $end);
$status = $row['status'];
$dayscreated= time();
$days2='30';
$exp=time()+($days2 * 86400);
  if($status == 'неодобрена') { $rankstatusx = 'red';}
if($status == 'одобрена') { $rankstatusx = 'green';}
if($status == 'изчакваща') { $rankstatusx = '#2b60de';}
//serverIDs//
$server2=$row['server_id'];
$server=$row['server_id'];
//MADE BY ME (автоматичен str_replace)
$servername1=$row['hostname'];
$server=str_replace($server, $servername1, $server);
$server=str_replace('[IS]', '', $server);
//KRAI//

//End Of ServerIDs//
$rank=$row['rank'];
if($rank == '1') { $rankstatus = '#FF0000';}
if($rank == '2') { $rankstatus = '#2795d3';}
if($rank == '3') { $rankstatus = '#53c133';}
if($rank == '4') { $rankstatus = 'gray';}
if($rank == '5') { $rankstatus = '#e99f44';}
if($rank == '6') { $rankstatus = '#feb501';}
$idu = $row['username'];
$password=$row['password'];
$kandidatura_id=$row['id'];

if($admins) {
$del = "<span style='float:right'><a href='includes/kandidaturi_del.php?id=$ids' class='delete_comment'><img src='/images/close.png' alt=''/></a></span>";
}


echo "
<ul class='breadCrumbs'>
      <li><a href='index.php'><img src='/work/icon/indexS.png' alt='' /> Itanium-Servers</a> &raquo;</li>
      <li><a href='list_candidatures.php'><img src='/work/icon/indexS.png' alt='' />↵ Назад към листа с кандидатури</a> &raquo;</li>
      <li><a href='/rules_candidats.php' target='_blank'><img src='/work/icon/indexS.png' alt='' /> Правила за кандидатурите</a></li>
   </ul>
<div class='comment-holder-$ids'>
<div style='border:1px solid #292929; padding:3px;background:#333;'>
Име: <b>$ime</b> | Ник: <a href='/user/$idu'><b style='color:$rankstatus'>$nick</b></a> | Години: <b>$godini</b> | Стаж в играта: <b>$vremeigra г.</b> | AMX Команди: <b>$amxkom</b>"; if($admins) { echo " | Скайп: <b>$skype</b>
 ";}; echo" $del
</div>

<div style='border-left:1px solid #292929; border-right:1px solid #292929; border-bottom:1px solid #292929; padding:5px;background:   #292929;'>";
$text = stripcslashes(htmlentities("$kandidatura", ENT_QUOTES));
include "/includes/profilebbcodes.php";
echo $text;
echo"</div>

<div style='border-left:1px solid #333; border-right:1px solid #333; border-bottom:1px solid #333; padding:3px;background:   #333;'>Стартирана: <b>$start</b> | Изтича: <b>$end</b> | Статус: <font color='$rankstatusx'><b>$status</b></font> | Сървър: <b>$server</b></div>

</div>
";

//////////////////////////////////////
//проверка за kandidaturite (добавяне на статус и админи)
//////////////////////////////////////
$go = mysql_query("SELECT za,protiv FROM amx_candidates_comments s
INNER JOIN amx_candidates u ON u.id='$ids' AND s.kandidatura_id='$ids' WHERE u.end<UNIX_TIMESTAMP() AND s.za=1 AND s.protiv=0 GROUP by s.za HAVING COUNT(s.za) >=5") or die(mysql_error());
if (mysql_num_rows($go) == 1)
{
mysql_query("UPDATE amx_candidates SET status='одобрена' WHERE id='$ids'") or die(mysql_error());


$flags="abceimnu"; //флаговете които ще получи кандидатиралия се админ

//проверка дали има вече такъв админ
$go = mysql_query("SELECT * FROM `amx_amxadmins` WHERE steamid='$nick' AND access='abcdeu' AND email='0'") or die(mysql_error());
if (mysql_num_rows($go) == 0) {
//Заявка за датабазата (оттук се вкарват админите в db-то.)
$dodaj = "INSERT INTO `amx_amxadmins` (`username`, `password`, `access` , `flags` ,`steamid` , `icq` , `email`, `ashow` , `created` , `expired` , `days`) VALUES ('$nick', '$password', '$flags', 'a' , '$nick' , '0' , '0' , '1' , '$dayscreated' , '$exp' , '$days2')";
mysql_query($dodaj);
$player1 = "SELECT * from amx_amxadmins where steamid='$nick' AND access='$flags'";
$query1 = mysql_query($player1)or die(mysql_error());
$row1 = mysql_fetch_array($query1);
$id1 = $row1["id"];
mysql_query("INSERT INTO `amx_admins_servers` (`admin_id`, `server_id`, `custom_flags`, `use_static_bantime`) VALUES ('$id1', '$server2', '', 'no')")or die(mysql_error());
}//край на проверката дали вече има такъв админ

}
////////////////////////////////////////////
////////////////////////////////////////////
////////////////////////////////////////////
//сетваме неодобрена
elseif(mysql_num_rows($go) == 0)
{

mysql_query("UPDATE amx_candidates s INNER JOIN amx_candidates_comments u ON u.kandidatura_id='$ids' AND s.id='$ids' SET status='неодобрена'") or die(mysql_error());
}
//край на неодобрена

//сетваме изчакваща
$go2 = mysql_query("SELECT * FROM amx_candidates WHERE end>UNIX_TIMESTAMP() AND id='$ids'") or die(mysql_error());
if (mysql_num_rows($go2) == 1)
{
mysql_query("UPDATE amx_candidates s INNER JOIN amx_candidates_comments u ON u.kandidatura_id='$ids' AND s.id='$ids' SET status='изчакваща'") or die(mysql_error());
}
//край на изчакваща

//////////////////////////////////////
//край на проверките за кандидатури. (добавяне на статус и админи)
//////////////////////////////////////

echo "<div class='container-2'><div class='mainHeadline'>
                     <img src='/images/keystonevotes_homepage_button_partners.png' />
                     <div class='headlineContainer'><h4 class='subHeadline'>Гласове</h4></div></div><div class='messageContent'>";
$db3 = mysql_query("SELECT * FROM amx_candidates c INNER JOIN amx_candidates_comments u ON u.kandidatura_id='$ids' AND c.id='$ids' INNER JOIN users g ON (g.username=u.nick_id) ORDER BY u.id DESC") or die(mysql_error());
while($row = mysql_fetch_array($db3)){

$kandidatura_id=$row['id'];
$nick_ids=$row['nick_id'];
$nick_comentar=$row['comentar'];
$nick_za=$row['za'];
$nick_protiv=$row['protiv'];
$nick_idf=$row['username'];
$status = $row['timestamp'];
$sega = time();
$sega2 = $sega - 300;
$rank=$row['rank'];
if($rank == '1') { $rankstatus = '#FF0000';}
if($rank == '2') { $rankstatus = '#2795d3';}
if($rank == '3') { $rankstatus = '#53c133';}
if($rank == '4') { $rankstatus = 'gray';}
if($rank == '5') { $rankstatus = '#e99f44';}
if($rank == '6') { $rankstatus = '#feb501';}
if($admins) {
$del = "<span style='float:right'><a class='delete_comment' href='/includes/kandidaturi_comments_del.php?id=$kandidatura_id'><img src='/images/close.png' alt=''/></a></span>";
};

echo "<div class='comment-holder-$kandidatura_id' style='background-color:#272727;padding:2px;color:#fff'><span style='padding-left:3px'><img src='/images/profile2.png' alt='' width='15' height='15'/>";
if($status > $sega2){
echo '<img src="/work/icon/online.gif" alt="'.$row['username'].' е на линия" title="'.$row['username'].' е на линия" />'; 
}else{
echo '<img src="/work/icon/offline.gif"  alt="'.$row['username'].' е извън линия"  title="'.$row['username'].' е извън линия" />';
}
echo" <b><a href='/user/$nick_idf'><span style='color:$rankstatus'>$nick_ids</span></a></b></span> | <a href='/messages.php?messages=send_message'>Изпрати ЛС</a> <hr /> <span style='padding-left:3px'>
";
$text = stripcslashes(htmlentities("$nick_comentar", ENT_QUOTES));
include "/includes/profilebbcodes.php";
echo $text;
echo"</span> <hr/> <span style='padding-left:3px'><img src='/images/vote/ok.png' alt=''/> $nick_za <img src='/images/vote/bad.png' alt=''/> $nick_protiv</span> $del</div>
<br />";
}
echo'</div></div>';
$db3 = mysql_query("SELECT * FROM amx_candidates WHERE id='$ids' AND status='неодобрена'") or die(mysql_error());
if (mysql_num_rows($db3) == 1) {
echo "<div class='warning'><center>Тази кандидатура е неодобрена!</center></div>";
} else{

$db4 = mysql_query("SELECT * FROM amx_candidates WHERE id='$ids' AND end<UNIX_TIMESTAMP()") or die(mysql_error());
if (mysql_num_rows($db4) >= 1) {
echo "<div class='warning'><center>Тази кандидатура е с изтекъл срок!</center></div>";
} else{

$db5 = mysql_query("SELECT * FROM amx_candidates_comments c INNER JOIN amx_candidates g ON g.id='$ids' AND c.kandidatura_id='$ids' AND c.nick_id='$nick2' AND g.nick!='$nick2'") or die(mysql_error());
if (mysql_num_rows($db5) == 1) {
echo "<div class='info'><center>Ти вече си дал своя глас!</center></div>";
} else{

$db6 = mysql_query("SELECT * FROM  amx_candidates WHERE id='$ids'AND nick='$nick2'") or die(mysql_error());
if (mysql_num_rows($db6) == 1) {
echo "<div class='error'><center>Не можеш да гласуваш за себе си!<center></div>";
} else{

if ($_COOKIE['username']) {
echo "
<div class='container-2'><div class='mainHeadline'>
                     <form action='' method='post'>
Име: <input type='text' class='input' name='nick_id' value='$nick2' readonly='readonly' id='name' size='15' />
Глас: <select name='glas' class='input'>
<option value='za'>За</option>
<option value='protiv'>Против</option>
</select></div><div class='messageContent'>
Коментар:<br />";
include "/includes/candidatures.php";
bbcodes("site","10%"); echo"
<textarea name='text_s_bbcodesemots' id='text_s_emoticons' value='text_s_bbcodesemots' class='fieldseta' cols='50' rows='10'></textarea><br /><br />
<input name='submitcommentkand' type='submit' class='button5' style='color:black' value='Изпрати' />   
<input name='submitcommentkand' type='reset' class='button5' style='color:black' value='Изчисти' />
</div></div>";
} else{
echo "<div class='info'><center>Трябва да си регистриран, за да можеш да даваш гласове!</center></div>";
}
}
}
}
}

if(isset($_POST['submitcommentkand'])){

$comentar=mysql_real_escape_string(htmlentities($_POST[text_s_bbcodesemots]));
mysql_query("INSERT INTO `amx_candidates_comments` (`nick_id`, `kandidatura_id`, `comentar`, `za`, `protiv`) VALUES ('$nick2', '$ids', '$comentar', 0, 0)")or die(mysql_error());

if(mysql_real_escape_string($_POST['glas']) == 'za'){
mysql_query("UPDATE `amx_candidates_comments` SET za=za+1 WHERE `nick_id`='$nick2' AND kandidatura_id='$ids'") or die(mysql_error());

}elseif(mysql_real_escape_string($_POST['glas']) == 'protiv'){
mysql_query("UPDATE `amx_candidates_comments` SET protiv=protiv+1 WHERE `nick_id`='$nick2' AND kandidatura_id='$ids'") or die(mysql_error());
}
echo "<div class='success'><center>Успешно добавихте коментар!</center></div>
<script>setTimeout('window.location.replace(window.location.href)',3000);</script>";
}
}
}
else{
echo "<div class='error'><center>Няма такава кандидатура!</center></div>";
}
?>
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
novakabg
Турист
Турист

Регистриран на: 13/05/2016 2:29 pm

Support: 5
Bonus: 10
Мнения: 286
Мнение 26/03/2018 9:55 am      Отговорете с цитат


Базата данни как си вкарал полето status?
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
georgi27
Нов
Нов

Регистриран на: 16/03/2018 4:21 pm

Support: 0
Bonus: 0
Мнения: 11
Мнение 26/03/2018 3:00 pm      Отговорете с цитат


novakabg написа:
Базата данни как си вкарал полето status?


В колоната status се пише на Български "одобрена" "неодобрена" "изчакваща"
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Покажи мнения от преди:    
Създайте нова тема   Напишете отговор    web-tourist.net Форуми -> PHP MySQL ASP.NET Часовете са според зоната GMT + 2 Часа
Страница 1 от 1


 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети