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

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

Thread Status:
Not open for further replies.
  1. lexa hak

    lexa hak New Member

    Joined:
    13 Jul 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    помогите

    привет всем.помогите залить скрипт на хостинг.пишите мне на мыло.моя почта [email protected]
    ===========================================================
    заранее спасибо
     
  2. XopoIII

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

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    авторизируешься в административной панеле, заходишь на ftp и заливаешь скрипт=)
     
  3. XopoIII

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

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    есть 5 частей

    а1
    а2
    а3
    а4
    а5

    нужно рандомно выбрать 3 части, разные. =) не сооброжу

    нашел =)

    PHP:
    <?php

    $rand 
    = array();
    while (
    count($rand) < $total ) {
        
    $r mt_rand($min,$max); 
        if ( !
    in_array($r,$rand) ) {
            
    $rand[] = $r;
        }
    }

    ?>
    если есть проше пишите=)
     
    #10763 XopoIII, 15 Jul 2009
    Last edited: 15 Jul 2009
  4. Zitt

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

    Joined:
    7 May 2006
    Messages:
    736
    Likes Received:
    268
    Reputations:
    59
    del
     
    #10764 Zitt, 15 Jul 2009
    Last edited: 15 Jul 2009
  5. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    XopoIII, конечно есть...
    PHP:
    <?php

    $array 
    = array('a1''a2''a3''a4''a5');
    for (
    $i 0$i <= 2$i++)
        echo 
    $array[array_rand($array)] . "<br>\r\n";

    ?>
     
  6. nub-hacker

    nub-hacker Banned

    Joined:
    23 Jun 2009
    Messages:
    69
    Likes Received:
    5
    Reputations:
    -10
    Не врубон

    PHP:
    <?php
    if(mysql_connect("localhost","root","")!=0)
        print (
    "Connect to MySQL");
    else
        die;

    mysql_select_db("forum");
    $result=mysql_query("SELECT FROM * user");
    print (
    $result);

    ?>
    Вот поставил себе на локалхост форум vbulitenn для оббучения SQL. Так вот написанно в учебниkе что этот код должен вывести содержание таблицы user. но выводиться токо Connect to MySQL и всё. помогите плиз
     
  7. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Нельзя вывести сам результат mysql, необходимо его обработать одной из функций: mysql_fetch_array, mysql_fetch_assoc.
    Для вывода массива используется функция print_r();
    PS: У тебя куча ошибок в коде, используй этот:
    PHP:
    <?php 

    mysql_connect
    ('localhost''root'false) or die(mysql_error()); 
    mysql_select_db('mysql'); 
    $result mysql_query('SELECT * FROM `user`'); 
    while(
    $array mysql_fetch_assoc($result))
    print_r($array); 

    ?>
    Врать научись...
     
    #10767 mailbrush, 15 Jul 2009
    Last edited: 15 Jul 2009
  8. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    у тебя в таблице user есть записи?
     
  9. nub-hacker

    nub-hacker Banned

    Joined:
    23 Jun 2009
    Messages:
    69
    Likes Received:
    5
    Reputations:
    -10
    Как минимум я есть.


    ЗЫ функция print_r() Не помогает.

    Зато когда я юзал не скрипт а прогу mysql.exe таким запросом всё выводило без проблем. версия mysql 4.1
     
  10. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    пробуй так:
    PHP:
    <?php 
    if(mysql_connect("localhost","root","")!=0
        print (
    "Connect to MySQL"); 
    else 
        die(
    mysql_error()); 

    mysql_select_db("forum"); 
    $r=mysql_query('SELECT * FROM user')
     or die (
    mysql_error());
      for(
    $data=array();$row=mysql_fetch_assoc($r);$data[]=$row);
      echo 
    "<pre>";
    print_r($data);
    echo 
    "</pre>";
    ?>
     
    1 person likes this.
  11. nub-hacker

    nub-hacker Banned

    Joined:
    23 Jun 2009
    Messages:
    69
    Likes Received:
    5
    Reputations:
    -10
    респект LIGA, получилось. только хотелось бы узнать что я не так зделал. в книге PHP глазами ламера написанно что мой код тру.
     
  12. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    бредовый твой код
    в своем коде я с помощью функции mysql_fetch_assoc и цикла for
    записал все данные в двухмерный массив $data.
     
  13. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    nub-hacker, посмотри мой пост. http://forum.antichat.ru/showpost.php?p=1388019&postcount=11360

    Посмотри на его код :)

    Посмотри на свой код :D
     
  14. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    и что ты хотел этим сказать,есть замечаняи? я готов выслушать.
     
  15. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    По поводу оптимальности:
    1. LIGA,
    PHP:
    for($data=array();$row=mysql_fetch_assoc($r);$data  []=$row); 
    Вместо for для вывода всех записей желательно использовать while.
    2. LIGA && nub-hacker, if(mysql_connect("localhost","root","")!=0) - условие будет выполнятся в том случае, если ф-кция mysql_connect не вернула 0, т.е. вернула true, т.е. "!=0" совсем не обязательно.
    3. LIGA && nub-hacker, код else die(mysql_error()); лишний. Вместо него после mysql_query() можно вставить or die(mysql_error()). Ошибка выведется, когда mysql_query вернет 0, т.е. false.
    4. LIGA && nub-hacker, Текст, не использующий переменных, желательно заключать в одинарные.
    5. LIGA && nub-hacker, Вместо функции print желательно использовать echo.
     
    #10775 mailbrush, 15 Jul 2009
    Last edited: 15 Jul 2009
  16. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    1объясни почему именно while?
    2,3 я не переписывал его код а дописал.
    4,5и что ты секономишь?там всего пару строчек кода

    есть еще замечания?
     
    #10776 L I G A, 15 Jul 2009
    Last edited: 15 Jul 2009
  17. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Code:
    5. LIGA && nub-hacker, Вместо функции print желательно использовать echo.
    
    echo_r($data) что ли?:)
     
  18. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    ненене, они могут повториться, а нужно разные
     
  19. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Я не говорил, вместо print_r, я сказал вместо print.

    L I G A,
    1. В конкретном случае цикл while займет меньше времени, оперативки.
    2,3. Это не оправдание.
    4,5. Время, оперативку.

    1-5 - Если сделать все это, код будет выполнятся быстрее, станет оптимальнее. Проверить можно функцией microtime(). Оперативку до и после работы скрипта тоже можно измерить функцией, но я не помню какой.
     
  20. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    1запиши мне в условие while то что я написал в цикл for
    2,3кто ты такой что б я перед тобой оправдывался?,я исправил кусок кода и тем самым помог пользователю в отличии от твоих бредовых постов которыми ты не знаешь как до***ца.
    4,5 гонщик спиди бля


    Ответ на пост снизу:

    2,3 теперь я переписал полностью код,в прошлый раз я исправил только ту часть кода без которой он не работал бы
    PHP:
    <?php  
    mysql_connect
    ("localhost","root")or  die(mysql_error()); 
    mysql_select_db("forum");  
    $r=mysql_query('SELECT * FROM user'
     or die (
    mysql_error()); 
      for(
    $data=array();$row=mysql_fetch_assoc($r);$data  []=$row); 
      echo 
    "<pre>"
    print_r($data); 
    echo 
    "</pre>"
    ?>
    Code:
    2. LIGA && nub-hacker, if(mysql_connect("localhost","root","")!=0) - условие будет выполнятся в том случае, если ф-кция mysql_connect не вернула 0, т.е. вернула true, т.е. "!=0" совсем не обязательно. 
    3. LIGA && nub-hacker, код else die(mysql_error()); лишний. Вместо него после mysql_query() можно вставить or die(mysql_error()). Ошибка выведется, когда mysql_query вернет 0, т.е. false.
    4. LIGA && nub-hacker, Текст, не использующий переменных, необходимо заключать в одинарные кавычки для экономии памяти.
    5. LIGA && nub-hacker, Вместо функции print использовать echo, для экономии памяти.
    2,3,4,5 отпадает это были его строки кода.

    ___________________________________________________
    если уже зашел розговор то соединение к БД лучше подключать через функцию require_once
    например: require_once "mysql_connect.php";
    как ты мог про такое забыть если же
    вписывать в каждый код
    PHP:
     mysql_connect("localhost","root",false)or  die(mysql_error()); 
    mysql_select_db("forum"); 
    то сколько мы памяти это займет?(чем оптимальнее код - тем выше его работоспособность)(С)Меилбруш,не так ли?
    в твоем коде :
    Code:
    print_r($data);
    что при запуске будет совсем не читабильно в отличии от моего:
    PHP:
     echo "<pre>"
    print_r($data); 
    echo 
    "</pre>";
    Code:
    mysql_select_db('mysql');
    ты же говорил что быдлокод не пишешь ?
    у него БД 'forum' а не 'mysql'
    ___________________________________________________
    HTML:
    Чтобы помочь пользователю, недостаточно исправить кусок кода - надо исправить ВЕСЬ код, если это необходимо, и объяснить что к чему и зачем, что и сделал я.
    HTML:
    респект LIGA, получилось.
    с твоим мего оптимезированым кодом у него почему то ничего не получилось.
    вижу ты разозлился и поудалял все плюсы с мой репы,знаешь мне как то все равно я не реподрочер.
     
    #10780 L I G A, 15 Jul 2009
    Last edited: 15 Jul 2009
Thread Status:
Not open for further replies.