Вывод данных из Mysql и печать результатов; echo mysql_result($result, 0, "price") ?

Гриша К.

Новичок
Вывод данных из Mysql и печать результатов; echo mysql_result($result, 0, "price") ?

:confused:
Коректны ли приведенные варианты вывода данных из базы даных и отображения их результатов:

PHP:
$date = mysql_connect("localhost", "root", "root123");
mysql_select_db("magazin", $date);
$result = mysql_query("SELECT * FROM emt", $date);

$a = mysql_result($result, 0, "price");
$b = mysql_result($result, 1, "price");

mysql_close($date);

//Вариант 1, вывод значения переменной
echo $a;

//Вариант 2, вывод при помощи printf
printf ("%s", mysql_result($result, 0, "price"));

//Вапмант 3, вывод без присвоения переменной
echo mysql_result($result, 0, "price");
?>
Мне было бы удобней использовать третий вариант, он короче второго (но в чем преимущество printf?), корректен ли этот вариант?

А если использовать первый вариант, то при просмотре кода страницы в браузере, на месте $a = mysql_result($result, 0, "price"); остается пустое место, соответсвенно если таких переменных будет 30, то пустых мест будет 30.
Может быть есть другие варианты вывода данных и отображения результатов этих данных.

Нужно ли использовать mysql_close($date)?

И возможно ли сделать так, чтобы если например нет связи с базой данных, то броузер не отображал об этом сообщение, а просто не выводил результат?
 

CCCP_MOCKBA

Новичок
>Может быть есть другие варианты вывода данных и отображения результатов этих данных.
while($row=mysql_fetch_row($result)){
print_r ($row);
}

>Нужно ли использовать mysql_close($date)?
Сколько времени требуется для конекта к базе ? Ответишь на этот вопрос, ответишь на свой.

>И возможно ли сделать так, чтобы если например нет связи с базой данных, то броузер не отображал об этом сообщение, а просто не выводил результат?
Можно, проверяй наличие коннекта.
 

Фанат

oncle terrible
Команда форума
CCCP_MOCKBA
ты привёл неправильный ответ.
ОТУЧАЙТЕСЬ, блин, писать print_r в коде.
чтобы человек понял, что ему дают, и НЕ ОТКАЗАЛСЯ от правильного варианта, код ДОЛЖЕН делать то же самое.

Гриша К.
все твои варианты неправильные.
 

CCCP_MOCKBA

Новичок
Фанат
Да согласен, если выведется массив еще нужно будет ПОДУМАТЬ как вывести нужную переменную ;)
Твой вариант тоже не верен:
PHP:
while($row=mysql_fetch_array($result)){
echo $row['price']; 
}
 

Гриша К.

Новичок
При использовании while, если я правильно понял, все переменные выводятся подряд, мне нужно выводить переменные отдельно, чтобы я мог вставить результат в ячейки таблицы.
Можно ли делать вот так:

//Вывод данных из БД
$date = mysql_connect("localhost", "root", "root123");
mysql_select_db("magazin", $date);
$result = mysql_query("SELECT * FROM emt", $date);

mysql_close($date);

//Вставляю нужную переменную:
echo mysql_result($result, 0, "price");

Время для коннекта к базе, нужно только, чтобы извлечь данные, занчит использую mysql_close($date); ?

А нельзя ли извлекать данные из БД, например указав нужный столбец ('price') и строку ('a').
 

CCCP_MOCKBA

Новичок
> А нельзя ли извлекать данные из БД, например указав нужный столбец ('price') и строку ('a')
можно: SELECT _столбец_ FROM _таблица_ WHERE _условие_
результат строка 'a' или 'b', в зависимости от условия )
 

Гриша К.

Новичок
Спасибо за ответ.

Это вот так вот?
$result1 = mysql_query("SELECT * FROM emt, where id = a", $date);
Строка мне не нужна мне нужна ячека, которую можно было описать по столбцу и строке. Вместо того, чтобы бы указывать цифровое обозначение содержащееся в массиве, например 0.

А вот это пример он будет правильный, результат то выводит все нормально, я думаю это корректно будет, или лучше printf использовать:
PHP:
//Вывод данных из БД
$date = mysql_connect("localhost", "root", "root123"); 
mysql_select_db("magazin", $date); 
$result = mysql_query("SELECT * FROM emt", $date); 

mysql_close($date); 

//Вставляю нужную переменную:
echo mysql_result($result, 0, "price");
 

CCCP_MOCKBA

Новичок
Во блин, достал ты с mysql_result, мануал нужно читать, "Рекомендуемые высокопроизводительные альтернативы: mysql_fetch_row(), mysql_fetch_array() и mysql_fetch_object()".
чем тебя не устраивает: ?
$result1 = mysql_query("SELECT * FROM emt, where id = 1", $date);
$row=mysql_fetch_array($result1);
print $row['price'];
вот твое поле, что еще.
 

Гриша К.

Новичок
Спасибо большое CCCP_MOCKBA, я понял это вариант.
Только вот такой вопрос есть у меня,
можно результат выводит вот так, на примере моего примера:
PHP:
echo mysql_result($result, 0, "price");

//или корректно будет с print() 
print (mysql_result($result, 0, "price"));
 

Гриша К.

Новичок
CCCP_MOCKBA, буду использовать print(), спасибо вам, вы объяснили все, что я хотел знать. Очень выручили.
 

Фанат

oncle terrible
Команда форума
Гриша К.
При использовании while, если я правильно понял, все переменные выводятся подряд, мне нужно выводить переменные отдельно, чтобы я мог вставить результат в ячейки таблицы.
мальчик, ты бредишь.
 
Сверху