[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Ты показал для начала как идёт в дальнейшем обработка массива $legend. Его обработка вкладывается в цикл заполнения массива?
     
  2. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    Здесь я хитрым способом беру название (legend) и кол-во (values) из базы и присваиваю соответсвующим массивам.
    for($i=0;$i<$kolvo;$i++) {
    $new=mysql_query("SELECT * FROM structure order by id asc limit ".$i.",1") or die("Invalid query: " . mysql_error());
    $more=mysql_fetch_row($new);
    $VALUES[$i] = number_format($more[2],2);}
    $LEGEND[$i] = $more[1];}

    все отлично присваивается, но в дальнейшем я использую эти массивы для построения диаграммы.
    там есть строка:
    $LEGEND=Array("11111111","222","33333333","акции");

    с такой строкой, если убрать вышеуказанную ($LEGEND[$i] = $more[1];), работает.
    а если ее заменить на $LEGEND[$i] = $more[1]; как указал выше, то уже не работает
     
  3. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    нет, обработка массива не вкладывается в этот цикл.

    весь скрипт тут:
    http://forum.antichat.ru/thread30929.html

    вторая версия. ее я и хочу реализовать
     
  4. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    У тебя лишняя фигурная скобка "}" после $VALUES[$i] = number_format($more[2],2);
    А зачем столько запросов к бд?
     
  5. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    Забыл удалить ту скобку. но не из-за этого не работает...

    а как можно упростить?
     
  6. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    смотри выше, я же написал в предидущем посте
     
  7. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    сорри, мне показалось что ты мой скрипт процитировал
     
  8. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    ой, спасибо! и весь скрипт заработал.
     
  9. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    исходный
    for($i=0;$i<$kolvo;$i++) {
    $new=mysql_query("SELECT * FROM graph_company order by id asc limit ".$i.",1");
    $more=mysql_fetch_row($new);
    $tiker[$i] = $more[1];
    $comp[$i] = $more[0];}

    оптимизированный
    $new=mysql_query("SELECT * FROM graph_company order by id asc");
    while($obj = mysql_fetch_row($new))
    {
    $tiker[] = $obj[1];
    $comp[] = $obj[0];
    }
    посмотри пожалуйста, я правильно сделал? проверять очень сложно
     
  10. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    Вроде правильно, а почему тяжело проверять?
    mysql_fetch_row замени на mysql_fetch_array
    и используй не $obj[1], а $obj['имя столбца в базе данных'], так проще и читабельней
     
  11. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    СПС! проверять не сложно, долго потом удалять результаты работы скрипта из базы...
     
  12. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    млин, скажите, пожалуйста, что нужно смотреть чтобы выставить правильную кодировку, а то каракули показывает. пробовал менять кодировку столбца , результат тот же
     
  13. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    млин, скажите, пожалуйста, что нужно смотреть чтобы выставить правильную кодировку,
    Ну сдесь много вариантов, от установки кодировки на странице, до запроса к базе, Попробуй например перед запросом на выбор сделать запрос
    mysql_query("SET CHARACTER SET 'cp1251'");
     
  14. Andres

    Andres Elder - Старейшина

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Может кто-то с вап сайтами работал, так вот:

    1)Распокавл и залить скрипт на сервер.
    2)Установил базу данных MySQL (tables.txt)
    3)Прописал все данные в файле inc.php (названия комнат,адрес и имя сайта,домен чата)
    4)Установил права доступа 777 всем файлам с разрешением .dat и папке photos(так было в ридми написано, насчет chmod)
    5)Запустил вопросы к викторине http://домен.нет/chat/down/index.php

    И блин падло не работает, когда перехожу на индекс чата, пишет: error select the database...
    Access denied for user 'wapmix_user'@'localhost' to database 'wapmix_chat'

    А когда перехожу на страницу регистрации, все работает, а когда нажимаю "зарегистрироваться" выдает вот что: error select the database...

    Помогите плизз, мож я чет не то прописал..
     
  15. Andres

    Andres Elder - Старейшина

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Скрипт чата..
     
  16. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Чё тут думать, реквизиты неверные... Твой юзер (wapmix_user), не имеет права работы с базой wapmix_chat.
     
  17. Andres

    Andres Elder - Старейшина

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Ну смотри, создаю базу, называю ее chat
    Создаю пользователя, называю его user
    В файле inc.php пишу следуйщее:
    PHP:
    $MySQL_Hostname "localhost";
    $MySQL_Username "wapmix_user"; - того пользователя что создал.
    $MySQL_Password "1111"; - пароль к нему.
    $MySQLDatabasename "wapmix_chat"; - ну и сама база.
    ?> 
    Ну так же? Или по другому? Объясни плизз.
     
  18. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    Если юзер "user", то и писать нужно
    И если база chat, то и писать нужно
     
  19. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    К сожалению, Пушкин А.С. трагически погиб 10 февраля 1837 года, поэтому он не сможет за вас выдать привелегии юзеру wapmix_user на базу wapmix_chat. Но ситуацию можно исправить:

    Code:
    GRANT ALL ON wapmix_chat.* TO 'wapmix_user'@'localhost';
    FLUSH PRIVILEGES;
     
  20. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    Подскажите, пожалуйста, как переделать регулярку:
    preg_match("/(\d+(\.\d+)?)/is",$w,$b);

    так чтобы брало не только цифры, а и знак "-" (минус) если он есть
     
Thread Status:
Not open for further replies.