[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сокращения кода.
Страницы: 1, 2
Игорь_Vasinsky
а... ну я просто по привычки свой вариант написал, кому как удобней, решил что далее по коду понятно будет)

Цитата
так в чем проблема, просто не давайте мне повод

так я не для спора пишу, люди понимают, если нет - то я разжёвываю по строчно уже.

_____________
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
Ничего не понял... только учусь. как лучше писать данные мной варианты?
Valick
Цитата
как лучше писать данные мной варианты?

у вас нет предложенных вариантов, у вас есть абстрактные вопросы, вот и ответы соответствующие.
ответьте на мой вопрос несколькими постами выше.

_____________
Стимулятор ~yoomoney - 41001303250491
Diamorph
Цитата (Valick @ 20.01.2013 - 10:20)
Diamorph, не могли бы вы показать реальный запрос к БД с тренарным оперетором. А то может я плохо учил синтаксис SQL.
___
подозреваю, что тренерный оперетор может там появиться на этапе формирования запроса, но не в самом запросе.


Простите, не увидел.

Вот пример из скрипта игры, где видел подобное:

$q=mysql_query("SELECT * FROM `kolhoz_collective_club` WHERE `type` = 'razdel' AND `id_collective` = '$ct[id]'".($mc['id']!=$ct['id']?" AND `guest` = '1'":null)." ORDER BY `pos` ASC");
Игорь_Vasinsky
ну вам удобно работать с таким кодом? мне лично не очень


$sql = "SELECT * FROM `kolhoz_collective_club` 
WHERE `type` = 'razdel'
AND `id_collective` = '
$ct[id]'".($mc['id']!=$ct['id']?"
AND `guest` = '1'"
:null)."
ORDER BY `pos` ASC"


$q=mysql_query($sql);


вообще есть такие понятия как: конкатенация и безопасность.

тернарный оператор я бы тоже вынес в переменную - в запросе он путает мысли. ИМХО

_____________
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
Valick
Diamorph, об этом я и говорил, именно формирование запроса.
Лично я бы так делать не стал. Я бы собирал запрос отдельно и с большим количеством проверок на корректность.


_____________
Стимулятор ~yoomoney - 41001303250491
Diamorph
а,
mysqli_fetch_array(mysqli_query($db, "запрос");

заменить на

$query = "запрос";
$result = mysqli_query($db, $query);
mysqli_fetch_array($result);
??
Valick
Цитата
mysqli_fetch_array(mysqli_query($db, "запрос");

за такое надо расстреливать деревянными пулями
а сюда
Цитата
$query = "запрос";
$result = mysqli_query($db, $query);
mysqli_fetch_array($result);

надо еще проверку на выполнение запроса добавить, но однозначно второй вариант


_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
1. ты для чего в воздух выстрелил ?
Цитата
mysqli_fetch_array($result);

2. ты же полюбому будешь использовать имена полей - когда будешь шарить по ассоц. массиву, тогда юзай
mysqli_fetch_assoc() - он соберёт ассоциативный массив, а mysqli_fetch_array - 2 массива - ассоц и индексный
3. БД может вернуть 0 строк, поэтому проверь сначала
mysqli_num_rows()

$sql = "....";
$query = mysqli_query($link, $sql);

if(mysqli_num_rows($query)){
$row = mysqli_fetch_assoc($query);
}


или если ты ловишь более одной строки из БД

if(mysqli_num_rows($query)){
while($row = mysqli_fetch_assoc($query)){
//.....
}
}


_____________
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
Valick
$sql = "....";
$query = mysqli_query($link, $sql);

if($query){
if(mysqli_num_rows($query)){
while($row = mysqli_fetch_assoc($query)){
//.....
}
}
}

:)

_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
ну эт ежё понятно biggrin.gif

яж показал как формировать массив если строк больше - а это именно той части кода касалось - которую я и указал.

_____________
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
а как быть в данном случае, не могу понять как правильно составить.

    $account = mysql_fetch_array(mysql_query("SELECT * FROM `account` WHERE id='" . $_SESSION['id'] . "'"));

$head = mysql_fetch_array(mysql_query("SELECT * FROM `inventory` WHERE `id`='" . $account['armor_head'] . "'"));
$body = mysql_fetch_array(mysql_query("SELECT * FROM `inventory` WHERE `id`='" . $account['armor_body'] . "'"));

if ($head)
{
echo '<img src="/data/img/items/armor/' . $head['icon'] . '.jpg" title="'
. htmlspecialchars(stripslashes($head['name'])) . '" width="30px" height="30px"><br />';
}
else
{
echo '<img src="/data/img/items/empty.png" width="30px" title="Пусто" height="30px"><br />';
}
if ($body)
{
echo '<img src="/data/img/items/armor/' . $body['icon'] . '.jpg" title="'
. htmlspecialchars(stripslashes($body['name'])) . '" width="30px" height="30px"><br />';
}
else
{
echo '<img src="/data/img/items/empty.png" width="30px" title="Пусто" height="30px"><br />';
}
Быстрый ответ:

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