Игорь_Vasinsky
12.05.2013 - 21:36
аа.. даже так, я то с if($array) сходу спутал
логика не правильная.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Diamorph
12.05.2013 - 21:41
на голове может только один предмет быть и условия для любого `одет` = 'yes' AND `тип` = 'голова или торс или боты...', то есть мне не важно что на голове кепка или шапка, мне важно что это надевают на голову и это нужно показать выводом изображения
Diamorph
12.05.2013 - 21:48
Например такой вариант (все
работает как задумано), туловище не надето в базе стоит `image` = 'not' и шмотка не отображается так-как не все условия соблюдены. в чем я не прав? помогите сделать код короче
$query = "SELECT * FROM `weapon` WHERE `usr` = '" . $log . "' AND `image` = 'yes' AND `type` = 'body'";
$req1 = mysqli_query($db, $query) or die(mysqli_error($db));
$array = mysqli_fetch_array($req1);
if (isset($array))
{
echo '<img style="position:absolute;left:635px;top:452px" src="img/pers/weapon/weapon.gif" alt=""/></a>';
echo '<a href="inventory.php?mod=item&type=weapon"><img style="position:absolute;left:635px;top:452px" src="img/pers/weapon/sword1.png" alt=""/><br/></a>';
}
else
{
echo '<a href="inventory.php?mod=item&type=weapon"><img style="position:absolute;left:635px;top:452px" src="img/pers/weapon.gif" alt=""/></a>';
}
freeze
12.05.2013 - 22:12
SELECT * FROM `weapon` WHERE `usr` = 'DiKraven' AND `image` = 'yes'"
Смотри при таком запросе тебе выдаются несколько строк. Ты вызываешь функцию
mysqli_fetch_assoc(...) она тебе выдаёт только одну строку! Несмотря на то что в запросе результатирующих строк, больше.
Чтобы получить весь результат запроса нужно воспользоваться циклом.
while($row = mysql_fetch_assoc(...))
{
if($row['type'] === 'weapon')
elseif($row['type'] === 'gloves')
}
Diamorph
12.05.2013 - 22:25
freeze
Спасибо большое, это то что нужно было, я еще протестирую нормально.
Как раз цикла и не хватало.
Игорь_Vasinsky
13.05.2013 - 07:08
а зачем тут цикл если ты одеваешь одного героя? т.е. у тя в ответе 1 строка же должна быть?
тут просто - условия ветвления.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Гость_Diamorph
13.05.2013 - 10:18
Смотрите. Мне нужно было в запросе сделать выборку на все вещи которые одеты и которые соответствуют тому или иному типу. Без цикла, при таком запросе
$query = "SELECT * FROM `weapon` WHERE `usr` = '" . $log . "' AND `image` = 'yes'";
$req1 = mysqli_query($db, $query) or die(mysqli_error($db));
$array = mysqli_fetch_array($req1);
выводило нормально только первое значение которое было в базе. То есть на тип body (потому и не отображалось weapon), а с циклом все выбирает как нужно
Diamorph
13.05.2013 - 10:27
Исходя из этого я делаю запрос
$query = "SELECT * FROM `weapon` WHERE `usr` = '" . $log . "' AND `image` = 'yes'";
на выборку всех без исключения одетых вещей на игроке, а условием
if ($array['type'] == 'тип вещи')
{
картинка
}
выбираю из запроса тип который мне нужен и вывожу его изображение
Вот такая логика у меня пока B)
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.