[php] Из БД выбирается только одна запись

Ответить
Khvosticov Sergey
Сообщения: 203
Зарегистрирован: 31.12.2009
Сейчас работаю с jquery chart
И у меня при выводе из бд записей выводится только одна из допустим 99
<div id="placeholder" style="width:720px;height:250px;"></div>

Код: Выделить всё

<?php

include "db.php";

$result3 = mysql_query ("SELECT * FROM hours",$db);

$myrow3 = mysql_fetch_array($result3);

$info = "[$myrow3[server],$myrow3[players]],";

?>


<script id="source">
$(function () {

    var d = [<? echo $info; ?>]
$.plot($("#placeholder"), [d], { xaxis: {  } });

    $("#whole").click(function () 
{
$.plot($("#placeholder"),[d],
 { xaxis: {
 } });
    });
});
</script>
Выводится 1 запись $info в var d = [<? echo $info; ?>] хотя из должно быть к примеру 99 , т.е [1,2],[2,2],[2,3] и т.д думаю смысл понятен , выводится тока 1 запись , как все вывести ? а то график не стоится ( :(
🇷🇺🇷🇺🇷🇺

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
Khvosticov Sergey писал(а):$result3 = mysql_query ("SELECT * FROM hours",$db);
$myrow3 = mysql_fetch_array($result3);
ну так ты и выбираешь только одну запись из выборки.
вызывай mysql_fetch_array в цикле

Код: Выделить всё

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("ID: %s  Name: %s", $row[0], $row[1]);  
}
неужели так лениво посмотреть было примеры в офф документации http://ru2.php.net/manual/en/function.m ... -array.php ?

Khvosticov Sergey
Сообщения: 203
Зарегистрирован: 31.12.2009
Спасибо,ещё не отходя от темы т.е что бы не создавая новую

вот в бд записи записываются с датой (datetime) пример 2010-08-05 11:48:25
Как при извлечении получать не 2010-08-05 11:48:25 а только день месяца ??? - но с условием что бы в бд оставалось 2010-08-05 11:48:25
🇷🇺🇷🇺🇷🇺

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
Вообще правильнее в БД хранить дату не в виде строки, а в числовом unix-формате, что позволит делать более быструю и правильную сортировку и не будет занимать лишнего места. Для получения текущей даты в unix-формате используется функция time(). Если все же желания переделывать нет, то можно полученную дату в виде строки преобразовать в unix-формат с помощью функции strtotime ( string $time ).

А вот уже из даты в unix-формате можно без проблем выделять любые части с помощью функции date ( string $format, int $timestamp )

Например:

Код: Выделить всё

$date = '2010-08-05 11:48:25';
$timestamp = strtotime ( $date );
echo date ( 'd', $timestamp ); // вернет 05
echo date ( 'd.m.Y H:i', $timestamp ); // вернет 05.08.2010 11:48  

Ответить