[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод из mysql всего 1-ой строки запроса
Guest
Привет всем!

Нужен совет или даже минимальная помощь.

Для того чтобы вывести результат можно воспользоваться функцией mysql_fetch_array, но она полезна когда из таблицы выводится несколько результатов.

PHP
$zapros="SELECT * FROM table WHERE table_id = 1";
$result=mysql_query($zapros);
$num_results mysql_num_rows($result);
       
for (
$j=0$j $num_results$j++){
     
$row30 mysql_fetch_array($result);
}


Но как в случае, если выводишь один результат.
Можно ли обойтись без цикла. Поскольку один раз, по-моему. я видел подобную функцию, выводящую один результат.

Плиззз, пните в нужном направлении.
За любой даж слабый пинок буду рад!



Спустя 15 минут, 9 секунд (28.09.2009 - 13:04) waldicom написал(а):

Спустя 1 минута, 6 секунд (28.09.2009 - 13:05) sergeiss написал(а):
Во-первых, если тебе нужно получить только одну строку, то поставь в запросе "LIMIT 1" в конце того, что у тебя сейчас написано.
Во-вторых, для выбора полученных данных, если тебе нужно все-таки не 1 строку, а пройтись по всем, лучше использовать цикл while
PHP
while( $row30=mysql_fetch_array$result ) )
{
  
// тут делаешь с данными всё, что нужно
}

Спустя 41 минута, 6 секунд (28.09.2009 - 13:46) Guest написал(а):
Цитата (sergeiss @ 28.09.2009 - 10:05)
Во-первых, если тебе нужно получить только одну строку, то поставь в запросе "LIMIT 1" в конце того, что у тебя сейчас написано.
Во-вторых, для выбора полученных данных, если тебе нужно все-таки не 1 строку, а пройтись по всем, лучше использовать цикл while
PHP
while( $row30=mysql_fetch_array( $result ) )
{
  // тут делаешь с данными всё, что нужно
}

Вы не можете читать? Там нужно БЕЗ циклов. Еще раз: БЕЗ циклов.

Спустя 3 минуты, 55 секунд (28.09.2009 - 13:50) sergeiss написал(а):
Цитата (Guest @ 28.09.2009 - 14:46)
Вы не можете читать?

А ты сам прочитай внимательно, то, что "во-первых" smile.gif И ежели спрашиваешь, то слушай, что тебе отвечают.
После этого не помешает подумать. Например, сделать указанное мной действие без цикла тебе ничего не мешает. Кроме, возможно, "твоей религии".

Спустя 6 минут, 51 секунда (28.09.2009 - 13:57) Amberon написал(а):
Примерно так ))

PHP
$zapros="SELECT * FROM table WHERE table_id = 1";
$result=mysql_query($zapros);
$num_results mysql_num_rows($result);

if(
$num_results 0){
    
$row30 mysql_result($result0);
}


ну а в случае с циклами, действительно лучше вариант с while().

Спустя 1 час, 19 минут, 21 секунда (28.09.2009 - 15:16) Guest написал(а):
Amberon,
sergeiss,
waldicom

Всем большое спасибки!

Спустя 2 дня, 5 часов, 33 минуты, 9 секунд (30.09.2009 - 20:50) Dr-On написал(а):
Я хоть и новечёк, но всегда делал иначе

$result = mysql_query("SELECT * FROM base;");
$array_result = mysql_fetch_array($result);
echo "$result[0]";

Выводит чётко одну запись(В данном случае первую строку первого столбца). ))) Без циклов и остальных заморочек wink.gif

Спустя 3 часа, 30 минут, 13 секунд (1.10.2009 - 00:20) sergeiss написал(а):
Dr-On - ты абсолютно прав! smile.gif Но прочитай внимательно, что именно тут говорилось про циклы. Я говорил, что "если" использовать циклы, то надо делать так-то и так-то. Ключевое слово "если". Т.е., это было дополнение к основному вопросу. И как я понял, топикстартер понял это.

Спустя 2 часа, 26 минут, 42 секунды (1.10.2009 - 02:46) Dr-On написал(а):
Ну дык я и не опровергаю твоих позиций. Я просто пивожу ещё один способ... Я вааще минималист и для меня чем короче скрипт, тем он красивее ))) А может и стабильнее unsure.gif

Спустя 1 минута, 46 секунд (1.10.2009 - 02:48) Dr-On написал(а):
Чувствую ребят я у вас на форуме задержусь... Не зря регился))) Народ тут отзывчивый... Правда воспринимаете каждое сообщение как вызов... sad.gif

Спустя 10 минут, 17 секунд (1.10.2009 - 02:59) sergeiss написал(а):
Цитата (Dr-On @ 1.10.2009 - 03:48)
Правда воспринимаете каждое сообщение как вызов...

Вот в этом ты не прав smile.gif

Просто твой ответ выглядит как противопоставление тому, что было сказано ранее (и не только мной). Да еще и привел достаточно некрасивый код. Он рабочий, этот код. Но он именно некрасивый. Потому что делаются совершенно лишние действия, которые могут привести к длительной работе скрипта при большом объеме таблицы.

Ну, а вообще... Вэлкам! smile.gif

Спустя 5 минут, 14 секунд (1.10.2009 - 03:04) Dr-On написал(а):
Кинь в личку в чём ошибка. И ещё вопрос. По взаимодейстивию MySQL и PHP куда вопросы? Здесь задавать модно?

Спустя 8 минут, 40 секунд (1.10.2009 - 03:12) sergeiss написал(а):
А чего уж в личку-то? Личка - она для личных. А тут - общественное достояние wink.gif Кстати, я ошибся немного. Тут есть и ошибка, из-за которой не получится получить результат smile.gif
Цитата (Dr-On @ 30.09.2009 - 21:50)
$result = mysql_query("SELECT * FROM base;");
$array_result = mysql_fetch_array($result);
echo "$result[0]";

1. Ты выбираешь ВСЕ строки, хотя тебе нужна только одна. При создании этой выборки создается временная таблица, которая содержит полный набор данных из другой таблицы. На это требуется некоторое время, т.к. будет производится много дисковых операций.
Если же ты напишешь
SQL
SELECT * FROM base LIMIT 1

то тогда будет выбрана всего одна строка. Это потребует от сервера задействования меньшего количества ресурсов, что приведет к более быстрому выполнению скрипта.
2. Ты присваиваешь результаты выборки переменной $array_result, а при выводе указываешь почему-то $result[0].
3. Если тебе надо вывести только одно значение, то не надо заключать его в фигурные скобки!!!
PHP
echo $array_result[0];

На этом ты выиграешь сколько-то мгновений, потому что ПХП не будет анализировать лишнего и создавать промежуточную символьную строку.

Спустя 17 минут, 42 секунды (1.10.2009 - 03:30) Dr-On написал(а):
Оба замечания верны, согласен... Но второе просто запутался в переменных, хотел написать именно то что написал ты, а именно...
PHP
$result = mysql_query("SELECT * FROM base;");
$array_result = mysql_fetch_array($result);
echo $array_result[0];

Или ты имел в виду двойные кавычки? Иначе вааще не пойму о чём речь. Но первое замечание мне даже понравилось.

А вааще по запаре и глупость написать могу, и себе сайт калякаю и чужие скрипты изучаю... Эх...


Кстати по поводу PHP/MySQL... Я сижу и жду ответа, где же можно вопрос такой задать... А точнее мне совет нужен. Как сделать знаю, но не знаю как лучше...

Спустя 8 часов, 4 минуты, 23 секунды (1.10.2009 - 11:34) sergeiss написал(а):
Цитата (Dr-On @ 1.10.2009 - 04:30)
Я сижу и жду ответа, где же можно вопрос такой задать...

Это не просто... А очень просто smile.gif Зайди в корень форума http://phpforum.ru и найди там тот самый подходящий раздел. Он даже называется очень хитро и запутанно, чтобы никто не догадался "PHP + SQL" wink.gif

PS. И еще я удалил отсюда флуд и "пустые" сообщения (которые уже повторяли то, что было сказано другими).
Быстрый ответ:

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