Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: PHP -> вывести в таблицу  (Прочитано 4236 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mouserok

  • Автор темы
  • Активист
  • *
  • Сообщений: 326
    • Просмотр профиля
PHP -> вывести в таблицу
« : 10 Августа 2010, 18:27:21 »
не могу понять как это вывести в табл.
<?php
    $db 
sybase_connect("dbtest""sa""");
    
$q sybase_query("select * from sysprocesses"$db);
    while(
$row sybase_fetch_row($q)) {
        while(list(
$k$v) = each($row)) {
            echo 
$v ";
        }
    } 
?>

« Последнее редактирование: 10 Августа 2010, 18:46:01 от Владимир Николаевич »

Оффлайн gr1m

  • Любитель
  • *
  • Сообщений: 84
  • #10#13
    • Просмотр профиля
Re: PHP -> вывести в таблицу
« Ответ #1 : 10 Августа 2010, 23:25:38 »
HTML уже отменили? Примерно вот так. За работоспособность не отвечаю, но вроде должно =)
<?php
    $db 
sybase_connect("dbtest""sa""");
    
$q sybase_query("select * from sysprocesses"$db);
    echo 
"<table align='center' border='1'>
                <tr><th>Заголовок1</th>
                <th>Заголовок2</th></tr>"
;
    while(
$row sybase_fetch_row($q)) {
    echo 
"<tr><td>".$row['поле_1']."</td> <td>".$row['поле_2']."</td>";
    } 
    echo 
"</tr></table>";
?>
« Последнее редактирование: 10 Августа 2010, 23:48:04 от gr1m »
Gentoo @ HP Pavilion dv2300 (Core 2 Duo 2 GHz, 2 Gb DDR2)
Ubuntu 10.04.3 @ Dell Inspiron 6400 (Core Duo 1,87 GHz, 2,5 Gb DDR2)
Gentoo @ Dell Inspiron Mini 1010 (Atom 1,33 GHz, 1 Gb DDR2)

Оффлайн mouserok

  • Автор темы
  • Активист
  • *
  • Сообщений: 326
    • Просмотр профиля
Re: PHP -> вывести в таблицу
« Ответ #2 : 11 Августа 2010, 09:26:50 »
что-то в этом раскладе вообще ничего не выводит из sql запроса  :-

Пользователь решил продолжить мысль 11 Августа 2010, 11:19:25:
вот при таком раскладе всё выводит, но в строку (((

<?php
    $db 
sybase_connect("srv""sa""");
    
$q sybase_query("select * from master..sysprocesses"$db);
echo 
"<table>";
    while(
$row sybase_fetch_row($q)) {
        while(list(
$k$v) = each($row)) {
            echo 
"<td> $v \n</td>";
        }
    } 
  echo 
"</table>";
?>

« Последнее редактирование: 11 Августа 2010, 11:19:25 от mouserok »

Оффлайн gr1m

  • Любитель
  • *
  • Сообщений: 84
  • #10#13
    • Просмотр профиля
Re: PHP -> вывести в таблицу
« Ответ #3 : 11 Августа 2010, 11:22:41 »
Замените функцию sybase_fetch_row() на функцию создания ассоциативного массива. Скорее всего она будет выглядеть так: sybase_fetch_array().
Таким образом мой код будет выглядеть так:
<?php
    $db 
sybase_connect("srv""sa""");
    
$q sybase_query("select * from master..sysprocesses"$db);
    echo 
"<table align='center' border='1'>
                <tr><th>Заголовок1</th>
                <th>Заголовок2</th></tr>"
;
    while(
$row sybase_fetch_array($q)) {
    echo 
"<tr><td>".$row['поле_1']."</td> <td>".$row['поле_2']."</td>";
    } 
    echo 
"</tr></table>";
?>
http://80.237.75.49/query.php - вот пример его работы, правда с mysql.
а по вашему коду, посмотрите на мой, и добавьте куда нужно html-тэг <tr>
« Последнее редактирование: 11 Августа 2010, 11:29:43 от gr1m »
Gentoo @ HP Pavilion dv2300 (Core 2 Duo 2 GHz, 2 Gb DDR2)
Ubuntu 10.04.3 @ Dell Inspiron 6400 (Core Duo 1,87 GHz, 2,5 Gb DDR2)
Gentoo @ Dell Inspiron Mini 1010 (Atom 1,33 GHz, 1 Gb DDR2)

Оффлайн DedMorozzz

  • Активист
  • *
  • Сообщений: 299
  • Эникейщик
    • Просмотр профиля
Re: PHP -> вывести в таблицу
« Ответ #4 : 11 Августа 2010, 11:35:49 »
define("HOST","localhost");
define("USER","root");
define("PASS","");
define("DB","my_database");

// Подключение к СУБД
$link = mysql_connect(HOST,USER,PASS) or die (mysql_error()); 
       
        // Выбираем базу данных
        mysql_select_db(DB, $link);
       
        //Устанавливаем кодировку UTF8 
        mysql_query ("SET NAMES utf8");
        mysql_query ("set character_set_client='utf8'");
        mysql_query ("set character_set_results='utf8'");
        mysql_query ("set collation_connection='utf8_general_ci'");
       
// Формируем строку для запроса к нашей базе данных
// Не забывайте обрамлять имена таблиц и полей обратными кавычками `TABLE`
$sql = "SELECT * FROM `table`";

// Скармливаем наш запрос MySQL
$result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);

/* Обратите внимание на конструкцию
   or die(mysql_error() ."<br/>". $sql) она Вам поможет в случае ошибки
   в Вашем SQL запросле или отсутствия соединения с Mysql

   Выводим данные из таблицы в цикле WHILE(), не вкоем случае не используйте
   DO WHILE() эта конструкция предназначена совсем для других действий
*/

// Рисуем табличку
$table = "<table border=0 width=100% align=center>\n";

while ($row = mysql_fetch_assoc($result))
{
    /* Прошу обратить внимание на функцию MYSQL_FETCH_ASSOC()
       Выбрана она не случайно, данная функция возвратит ассоциативный
       массив с которым будем работать.
       
       Многие делают ошибку в плане оптимизации и использую функцию
       MYSQL_FETCH_ARRAY() данная функция вернет два массива,
       один ассоциативный другой индексный тем самым мы увеличим потрябляемую
       память скриптом.
    */
     
     $table .= "<tr>\n";
     
     $table .= "<td>".$row['id']."</td>\n";
     $table .= "<td>".$row['name']."</td>\n";
     $table .= "<td>".$row['age']."</td>\n";
     
     $table .= "</tr>\n";
}

$table .= "</table>\n";

// Выводим заполненую таблицу на экран
echo $table;
Снова таки. Это для мускула. ПОд свою БД просто поменяешь название ф-й. Принцип един.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: PHP -> вывести в таблицу
« Ответ #5 : 11 Августа 2010, 12:32:58 »
ТС, в браузере посмотрите, что за исходный код пришел. Это для начала.
Локально выполните скрипт в терминале. И все станет ясно.
« Последнее редактирование: 11 Августа 2010, 12:40:17 от alexander.pronin »

Оффлайн mouserok

  • Автор темы
  • Активист
  • *
  • Сообщений: 326
    • Просмотр профиля
Re: PHP -> вывести в таблицу
« Ответ #6 : 11 Августа 2010, 13:28:48 »
спасибо ... последний скрипт выводит то что нужно что и куда подставить чтоб вывводилось название поля и нельзя ли чтоб без      $table .= "<td>".$row['id']."</td>\n";что-то типа на основе этого скрипта то есть ... когда кол-во и названия полей заведомо не известны

echo "<table><tr>";
  $numfields=sybase_num_fields($query);
  for ($f=0;$f<=$numfields;$f++){
    $info = sybase_fetch_field($query);
    echo "<td> $info->name </td>";
  }
  echo "</tr><tr>";

Оффлайн DedMorozzz

  • Активист
  • *
  • Сообщений: 299
  • Эникейщик
    • Просмотр профиля
Re: PHP -> вывести в таблицу
« Ответ #7 : 11 Августа 2010, 15:22:42 »
foreach юзаешь тогда.

Оффлайн mouserok

  • Автор темы
  • Активист
  • *
  • Сообщений: 326
    • Просмотр профиля
Re: PHP -> вывести в таблицу
« Ответ #8 : 13 Августа 2010, 13:36:29 »
как сделать чтоб вычитать значение поля одной табл. из значения поля др. поля и вывести в табл.

то есть $DBS_Date_last-$DBS_Date_first и полученное значение каждого поля подставить в конец табл.

$q_first = sybase_query ("select * from oper..DB_space where DBS_Name = '$DBS_Names' and DBS_Date = '$DBS_Date_first'", $conn);

$q_last = sybase_query ("select * from oper..DB_space where DBS_Name = '$DBS_Names' and DBS_Date = '$DBS_Date_last'", $conn);

while ($row = sybase_fetch_assoc($q_last))
{
     
     $table .= "<tr>
";
     
     $table .= "<td>".$row['DBS_Name']."</td>
";
     $table .= "<td>".$row['DBS_DB']."</td>
";
     $table .= "<td>".$row['DBS_Total']."</td>
";
     $table .= "<td>".$row['DBS_Free']."</td>
";
     
     $table .= "</tr>
";
}

$table .= "</table>
";

echo $table;

Пользователь решил продолжить мысль 13 Августа 2010, 15:41:59:
ну вот к примеру ...

select DBS_Free from oper..DB_space where DBS_Name = 'SRV' and DBS_Date = '20100812'
select DBS_Free from oper..DB_space where DBS_Name = 'SRV' and DBS_Date = '20100811'


каждый из них вернет по табл.
табл. будет различаться только датой и данными за определенную дату
нужно взять табл.№1 и поле по каждой строке отнять от табл.№2 
и вывеси данные из табл.#1 (20100812) но + одно поле которое будет содержать результат
« Последнее редактирование: 13 Августа 2010, 15:51:18 от mouserok »

 

Страница сгенерирована за 0.034 секунд. Запросов: 25.