За последние 24 часа нас посетили 19804 программиста и 1656 роботов. Сейчас ищут 1404 программиста ...

как мне загнать данные из базы в массив

Тема в разделе "Вопросы от блондинок", создана пользователем udodirc, 30 апр 2008.

  1. udodirc

    udodirc Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    111
    Симпатии:
    0
    как мне загнать данные из базы в массив, что-то вроде этого, но это не работает
    include("mysql.php");

    $rs=mysql_query("select name, value from graphic");
    while ($data2=mysql_fetch_array($rs))
    {
    $Data = array(
    $data2["name"] => $data2["value"]
    );
    }
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    $rs=mysql_query("select name, value from graphic");
    while ($data2=mysql_fetch_array($rs))
    {
    $Data[$data2["name"]] = $data2["value"];
    }
     
  3. udodirc

    udodirc Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    111
    Симпатии:
    0
    вот исходник массива
    $Data = array(
    'Коля' => 16,
    'Петя' => 14,
    'Федя' => 11,
    'Маша' => 17,
    'Ипполит' => 8
    );
    вместо него загоняю
    $rs=mysql_query("select name, value from graphic");
    while ($data2=mysql_fetch_array($rs))
    {
    $Data[$data2["name"]] = $data2["value"];
    }

    не пашет
     
  4. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
  5. creage

    creage Активный пользователь

    С нами с:
    12 мар 2008
    Сообщения:
    131
    Симпатии:
    0
    Адрес:
    Киев
  6. udodirc

    udodirc Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    111
    Симпатии:
    0
    <?php
    // Назовем этот файл data.php - он нам еще понадобится.
    include("mysql.php");

    $rs=mysql_query("select name, value from graphic");
    while ($data2=mysql_fetch_array($rs))
    {
    //echo $data2["name"];
    $Data[$data2["name"]] = $data2["value"];
    echo $Data [1];
    }
    $Title = 'Количество марок у моих друзей';

    ?>

    Вот что пишет Notice: Undefined offset: 1 in z:\home\localhost\www\pattern\data.php on line 10, хотя вроде все правильно.
     
  7. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Вы на строку выше задали в ассоциативном массиве ключ "Петя", и почему-то обращаетесь к ключу массива по числу. Это как?
     
  8. udodirc

    udodirc Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    111
    Симпатии:
    0
    вот сделал правильно, работает

    include("mysql.php");


    $rs=mysql_query("select name, value from graphic");
    while ($data2=mysql_fetch_array($rs))
    {
    $Data3[$data2["name"]] = $data2["value"];

    }

    print_r($Data3)."<br>";

    проблема в том что есть описанный здесь скрипт http://www.php5.ru/articles/image, и вместо жестко забитого масива
    вот он $Title = 'Количество марок у моих друзей';
    $Data = array(
    'Коля' => 16,
    'Петя' => 14,
    'Федя' => 11,
    'Маша' => 17,
    'Ипполит' => 8
    );

    Мне надо загнать данные из базы, данные выводятся, а вот в самом скрипте не работают, только жестко забитый массив работает, но мне нужно чтобы массив брался из базы.
     
  9. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    udodirc, читай про типы ошибок. Нотис - тип самых мелких ошибок. В твоём случае, отсутствует ключ 1 у массива $Data. Эти ошибки, ИМХО, лучше давить через error_reporting (там же список типов ошибок).

    Массив $Data содержит список марок друзей, ключи массива - имена друзей. Логично предположить, что ни одного из них не зовут 1.
     
  10. udodirc

    udodirc Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    111
    Симпатии:
    0
    include("mysql.php");


    $rs=mysql_query("select name, value from graphic");
    while ($data2=mysql_fetch_array($rs))
    {
    $Data3[$data2["name"]] = $data2["value"];

    }

    print_r($Data3)."<br>";

    проблема в том что есть описанный здесь скрипт http://www.php5.ru/articles/image, и вместо жестко забитого масива
    вот он $Title = 'Количество марок у моих друзей';
    $Data = array(
    'Коля' => 16,
    'Петя' => 14,
    'Федя' => 11,
    'Маша' => 17,
    'Ипполит' => 8
    );
    Этот код рабочий вот он выводит
    Array ( [коля] => 34 [Вася] => 12 [петя] => 45 ) Array ( [Коля] => 16 [Петя] => 14 [Федя] => 11 [Маша] => 17 [Ипполит] => 8 )
    и там нет ключей по имени 1, не пойму все работает просто именно при подключении этого файла он не пашет, только жесткий массив
     
  11. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Это как? Покажите, как их используете, покажите сколько значений в базе и какие они.
     
  12. udodirc

    udodirc Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    111
    Симпатии:
    0
    в базе MySql есть три поля id, name ,value там есть данные: коля 34 Вася 12 петя 45
    я их записываю сюда

    $rs=mysql_query("select name, value from graphic");
    while ($data2=mysql_fetch_array($rs))
    {
    $Data[$data2["name"]] = $data2["value"];

    }
    print_r($Data)."<br>";
    вот он выводит правильно Array ( [коля] => 34 [Вася] => 12 [петя] => 45 ) он находится в data.php, но когда я подключаю его в этот скрипт

    <?php

    define('GRAPH_WIDTH', 400); // ширина картинки
    define('GRAPH_HEIGHT', 300); // высота картинки
    define('GRAPH_OFFSET_TOP', 40); // отступ сверху
    define('GRAPH_OFFSET_LEFT', 40); // отступ слева
    define('GRAPH_OFFSET_RIGHT', 5); // отстут справа
    define('GRAPH_OFFSET_BOTTOM', 30); // отступ снизу

    $colors = array(0xFF0000,0x00FF00,0x0000FF, // цвета столбцов
    0xFFFF00,0x00FFFF,0xFF00FF);

    require('data.php'); // Вот и понадобился data.php :)

    // Считаем ширину столбцов
    $col_width = (GRAPH_WIDTH - GRAPH_OFFSET_LEFT - GRAPH_OFFSET_RIGHT) / count($Data);

    // Считаем высоту столбца, соответствующего максимальному значению
    $col_maxheight = (GRAPH_HEIGHT - GRAPH_OFFSET_TOP - GRAPH_OFFSET_BOTTOM);

    // Ищем максимальное значение в массиве, соответствующее столбцу максимальной высоты
    $max_value = max($Data);

    $image = imagecreatetruecolor(GRAPH_WIDTH,GRAPH_HEIGHT) // создаем изображение...
    or die('Cannot create image'); // ...или прерываем работу скрипта в случае ошибки

    imagefill($image, 0, 0, 0xFFFFFF); // белый фон

    // рисуем столбцы
    $x = GRAPH_OFFSET_LEFT;
    $y = GRAPH_OFFSET_TOP + $col_maxheight;
    $i = 0;
    foreach($Data as $value) {
    imagefilledrectangle( // рисуем сплошной прямоугольник
    $image,
    $x,
    $y - round($value*$col_maxheight/$max_value),
    $x + $col_width - 1,
    $y,
    $colors[$i++%count($colors)]
    );
    $x += $col_width;
    }

    // рисуем координатную ось
    imageline($image, GRAPH_OFFSET_LEFT - 5, GRAPH_OFFSET_TOP,
    GRAPH_OFFSET_LEFT - 5, $y, 0xCCCCCC);
    for($value=0; $value<=$max_value; $value++) {
    imageline($image, GRAPH_OFFSET_LEFT - 7, $Y = $y - round($value*$col_maxheight/$max_value),
    GRAPH_OFFSET_LEFT - 5, $Y, 0xCCCCCC);
    imagestring($image, 1, GRAPH_OFFSET_LEFT / 2, $Y - 4, $value, 0x000000);
    }

    // Устанавливаем тип документа - "изображение в формате PNG"...
    header('Content-type: image/png');
    // ...И, наконец, выведем сгенерированную картинку в формате PNG:
    imagepng($image);

    imagedestroy($image); // освобождаем память, выделенную для изображения

    ?>
    он не работает, но если подключить жестко забитый массив
    $Data = array(
    'Коля' => 16,
    'Петя' => 14,
    'Федя' => 11,
    'Маша' => 17,
    'Ипполит' => 8
    );
    то работает, проблема не в массиве, он выодится рпавильно а в скрипте там он его не может обработать
     
  13. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Тема переехала к блондинкам. У нас код форматируют соответствующими тегами.