За последние 24 часа нас посетили 20114 программистов и 1693 робота. Сейчас ищут 1844 программиста ...

? Получние списка даных из базы.

Тема в разделе "Вопросы от блондинок", создана пользователем Anonymous, 10 июн 2007.

  1. Anonymous

    Anonymous Guest

    Здраствуйте. У меня есть идея создать сервер чтото типа миниаюрного яндекса. Начал писать код на PHP вот столкнулся с токой проблемой в коде

    error

    Parse error: parse error, unexpected T_INC, expecting ')' in z:\home\sp\www\stroitel-efirmi.php on line 10

    Вот сам код.

    <?php
    $base=mysql_connect('localhost','root','123456');
    mysql_select_db('CtroitelniiFirmi',$dase);
    $result=mysql_query('SELECT * FROM Firmi', $base);
    $ColStol=intval(mysql_num_fields($result));
    $ColStrok=intval(mysql_num_rows($result));
    $daniestrok=mysql_fetch_row($result);
    function SpisokFirm()
    { print("<table border=0 aling=centor valing=top>");
    for ($ColStolNum=0;$ColStolNum<ColStol;ColStolNum ++)
    { print("<tr>");
    for($ColStrokNum=0;$ColStrokNum<$ColStrok;$ColStrokNum++)
    {
    print("<td>"$daniestrok[$ColStrokNum]"</td>\n");
    }
    print("</tr>");
    }
    print("</table>");
    }
    mysql_close($base);
    ?>

    У кого есть соображения на эту тему.
     
  2. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    мдя, рановато Вам Яндекс писать...

    1. оформили бы код тэгами, что ли...
    2.
    PHP:
    1. <? for ($ColStolNum=0;$ColStolNum<ColStol;ColStolNum ++) ?>
    переменные без $
    3.
    PHP:
    1. <? print("<td>"$daniestrok[$ColStrokNum]"</td>\n"); ?>
    тута тоже ошибка выпадет :D

    4. Про область видимости переменных когда-нибудь слышали? Нет? Скоро познакомитесь...
     
  3. Anonymous

    Anonymous Guest

    Перед языками программирования советую выучить еще и русский.
     
  4. Anonymous

    Anonymous Guest

    Я зделал вот так
    <? for ($ColStolNum=0;ColStolNum<$ColStol;ColStolNum ++) ?>

    <? print("<td>"$daniestrok[ColStrokNum]"</td>\n"); ?>

    но ошбка тем не мнеее не исчезает

    Parse error: parse error, unexpected T_INC, expecting ')' in z:\home\sp\www\stroitel-efirmi.php on line 10
     
  5. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    ColStolNum - переменная. Чего не хватает?
     
  6. Anonymous

    Anonymous Guest

    С переменными все исправил:

    <?php

    $base=mysql_connect('localhost','root','123456');
    function SpisokFirm($base)
    {
    $base=mysql_select_db('CtroitelniiFirmi',$base);
    $dannie=mysql_query('SELECT * FROM Firmi', $base);
    $ColStol=mysql_num_fields($dannie);
    $ColStrok=mysql_num_rows($dannie);
    $daniestrok=mysql_fetch_row($dannie);
    print("<table border=0 aling=centor valing=top>");
    for ($ColStolNum=0;$ColStolNum<$ColStol;$ColStolNum ++)
    { print("<tr>");
    for($ColStrokNum=0;$ColStrokNum<$ColStrok;$ColStrokNum++)
    {
    print("<td> $daniestrok[$ColStrokNum] </td>\n");
    }
    print("</tr>");
    }
    print("</table>");
    }
    mysql_close($base);
    ?>


    Вот только вылезают токие предупреждения.

    Warning: mysql_select_db(): 2 is not a valid MySQL-Link resource in z:\home\sp\www\stroitel-efirmi.php on line 6

    Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in z:\home\sp\www\stroitel-efirmi.php on line 7

    Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in z:\home\sp\www\stroitel-efirmi.php on line 8

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in z:\home\sp\www\stroitel-efirmi.php on line 9

    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in z:\home\sp\www\stroitel-efirmi.php on line 10

    что они означают и как иходавить?
     
  7. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    нет подключения к базе :)

    Зачем всё в функции делать? сделайте обычным скриптом
    хотя бы так
    PHP:
    1. <?php
    2. $link = mysql_connect('localhost','root','123456');
    3. mysql_select_db('CtroitelniiFirmi', $link) or die("Invalid query: " . mysql_error());
    4.  
    5. $str = '';
    6.  
    7. $dannie=mysql_query('SELECT * FROM `users`;', $link) or die("Invalid query: " . mysql_error());
    8. mysql_close($link);
    9.  
    10. if($dannie){
    11.     $str .= '<table border=0 aling=centor valing=top>';
    12.     while($row=mysql_fetch_row($dannie))
    13.         $str .= '<tr><td>'.$row[0].'</td><td>'.$row[1].'</td></tr>';
    14.  
    15.     $str .= '</table>';
    16. }
    17. else
    18. $str .= 'Облом';
    19. echo $str;
    20. ?>
     
  8. Anonymous

    Anonymous Guest

    Не обычным скриптом делать не хочу. Дело в то что это будет не единственное место которое работает с базой. Да еще и фунцию переделаю может .
     
  9. Anonymous

    Anonymous Guest

    Фунция то универсальная.

    PHP:
    1.  
    2. $base=mysql_connect('localhost','root','123456');
    3.     function SpisokFirm($base)
    4.     {
    5.     $base=mysql_select_db('CtroitelniiFirmi',$base);
    6.     $dannie=mysql_query('SELECT * FROM Firmi', $base);
    7.     $ColStol=mysql_num_fields($dannie);
    8.     $ColStrok=mysql_num_rows($dannie);
    9.     $daniestrok=mysql_fetch_row($dannie);
    10.                 print('<table border=0 aling=centor valing=top>');
    11.                     for ($ColStolNum=0;$ColStolNum<$ColStol;$ColStolNum ++)
    12.                     {   print('<tr>');
    13.                             for($ColStrokNum=0;$ColStrokNum<$ColStrok;$ColStrokNum++)
    14.                             {
    15.                                 print('<td>' .$daniestrok[$ColStrokNum]. '</td>\n');                               
    16.                             }
    17.                         print('</tr>');
    18.                     }
    19.                 print('</table>');
    20.             }
    21.     mysql_close($base);
     
  10. Anonymous

    Anonymous Guest

    НУ почти универсальная немного надо переделать т.е. в ф-й SpisokFirm добавить помимо переменной конеткта, переменную (название) базы данных, и переменную таблици (Название).
    А причем здесь к ошибке, область видимости, так и не понял.
     
  11. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    чем?

    а что, если понадобится что-то найти или заменить в таблице, то базу выбирать?
    COUNT(*) шустрее, да и здесь вообще не нужен
    а что, Вы сами не знаете сколько полей у таблицы?
    \n здесь не сработает

    P.S. хотел бы я посмотреть на конечный результат сей разработки... Толпа функций, в которых в одну кучу собраны и запросы, и их обработка, и вывод результатов, а возможно ещё и логика. Если надо будт что-нибудь исправить, то чёрт ногу сломит.
     
  12. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    виноват, ступил. В ф-ии $base не заметил
     
  13. Anonymous

    Anonymous Guest

    Эта функция изначально предназначенна для вывода инфор-й.


    Я то знаю но может со временем таблица измениться потом код придется менять а так понял таблицу и дело в шапке.

    print("<td>$daniestrok[$ColStrokNum]</td>\n");

    А так сработает?
     
  14. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    ну, когда всё закончите, то поделИтесь ощущениями от внесения изменений и исправления ошибок
    а попробовать? да.
     
  15. Anonymous

    Anonymous Guest

    Я конечно не считаю себя профессионалом, дело в том что у меня стоит Денвер и какбы есть подозрения что он грешит с подключением к базе. Вот и хотелось у знать что правильно синтаксически написан код.
     
  16. Anonymous

    Anonymous Guest

    Все неудачники ищут везде виноватых...
     
  17. Anonymous

    Anonymous Guest

    Ну ты вооще *****, я тебе скажу молотого что ты ***** неотвечаещ но еще и ****. ****** ты вообще здесь нужен.

    vb: Да Олег, на *** ты отвечаешь на посты долбо***? В ***** товарисча, в *****!
     
  18. Hight

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

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    пошла жара =)
     
  19. Davil

    Davil Guest

    ухаха 8)
     
  20. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    Stogov, так его, так его :)

    Горбунов Олег, ты бы отдельную тему создал и кидал туда подобное. Так, для истории
     
  21. Anonymous

    Anonymous Guest

    Дык, этим же вопросом я сам задаюсь, нафиг я тут нужен, с дураками няньчится? ни денег, ни слова доброго =)
     
  22. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Денвер, бывает глючит, с бд. Но проверить её работоспособность легко. Достаточно написать функцию mysql_connect с выдачей результата.
    А пока, могу только посоветовать купить учебник по php и прочитать хотя бы первые 20 страниц о синтаксисе, основах программирования и основных элементах.
     
  23. Anonymous

    Anonymous Guest

    я 4 года работаю с Денвером. Ни разу ни одной проблемы не наблюдал. А кривые руки даже самый обточенный Апач поломают.
     
  24. Davil

    Davil Guest

    Действительно.
    Денвер - его и конфигурировать не надо. Ставь и пользуйся.
    Просто надо знать что -uroot -p(`пустой`)
     
  25. stas_t

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

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
    Stogov
    из отрывка не видно, как вы вызываете функцию, похоже, проблема именно при вызове

    переменная $base у вас довольно странно используется в функции -- сначала это соединение, затем -- bool

    код бы форматировали нормально -- было бы лучше для всех, в том числе и для вас

    а попинали вас правильно :) я бы тоже добавил, но неохота сейчас