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

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

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

    fudzimaro New Member

    Joined:
    16 Jan 2008
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
  2. n3m0

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

    Joined:
    11 May 2007
    Messages:
    133
    Likes Received:
    92
    Reputations:
    11
    $im = @imagecreatetruecolor(120, 20) / (длина, высота) - для начала нужно узнать длину текста, так как будет не влазить в картинку.

    Кликни по ссылке, я кусочек кода показал с офф мануала. http://ua.php.net/manual/ru/function.imagecreatetruecolor.php
    Там и картинка есть

    Все ж есть в документации!
     
    1 person likes this.
  3. Dr.Z3r0

    Dr.Z3r0 Leaders of the World

    Joined:
    6 Jul 2007
    Messages:
    284
    Likes Received:
    595
    Reputations:
    567
    прощу прощения, но синтаксис у этой функции выглядит так:
    Code:
    str_replace('text', 'zamena',$prermenaya);
     
    2 people like this.
  4. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    Вот как сделал я:
    файл http://bul666.info/ban.html:
    Файл banner.php:
    PHP:
    <?php 
    $a 
    =file_get_contents("http://bul666.info/ban.html");   
    preg_match_all ("|<hr>(.*)<|s"$a$regs); 

    header ("Content-type: image/png"); 
    $im = @imagecreatetruecolor(50020); 
    $text_color imagecolorallocate($im255255255); 
    $fon_color imagecolorallocate($im075255); 
    imagefill($im00$fon_color);
    imagestring($im1222$regs[1][0], $text_color); 
    imagepng($im); 
    imagedestroy($im); 
    ?>
    Результат: [​IMG]
     
    #1604 bul.666, 17 Jan 2008
    Last edited: 17 Jan 2008
  5. NNNS

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

    Joined:
    26 May 2007
    Messages:
    44
    Likes Received:
    28
    Reputations:
    -5
    Есть таблица в БД MySQL
    id int(4) | datetime datetime | text varchar(500)

    datetime формата (0000-00-00 00:00:00)
    Как реализовать выборку за текущий день и текущий месяц?
     
    #1605 NNNS, 17 Jan 2008
    Last edited: 17 Jan 2008
    1 person likes this.
  6. dinar_007

    dinar_007 Мадемуазель

    Joined:
    18 Jan 2005
    Messages:
    1,019
    Likes Received:
    770
    Reputations:
    97
    php? =-O

    Вот...
    Это за сегодня:
    Code:
    select * from TABLE where date(datetime)=date(now());
    Это выборка по определённому дню (если день с 00:00):
    Code:
    select * from TABLE where date(datetime)=date('2008-01-30');
    
    Или просто
    
    select * from TABLE where date(datetime)=''2008-01-30';
    По месяцу (если месяц с 1-го числа):
    Code:
    select * from TABLE where month(datetime)+year(datetime)*12=month(now())+year(now())*12;
     
    #1606 dinar_007, 17 Jan 2008
    Last edited: 17 Jan 2008
    2 people like this.
  7. PiNzit

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

    Joined:
    14 Jan 2008
    Messages:
    57
    Likes Received:
    10
    Reputations:
    0
    кстати этот вопрос часто задают при приеме на работу
     
  8. fudzimaro

    fudzimaro New Member

    Joined:
    16 Jan 2008
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    ребят это сново я, код bul.666 работает на ура но только с кирилицей он не дружит
    з.ы всем спасибо выручили
     
  9. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    dinar_007, бляха-муха... А вот вместо того, чтобы городить такие запросы, не проще ли воспользоваться конструкцией interval?

    fudzimaro, что значит не дружит? iconv тебе поможет?
     
  10. [R]eD

    [R]eD Elder - Старейшина

    Joined:
    1 Aug 2006
    Messages:
    72
    Likes Received:
    1
    Reputations:
    0
    Пишу небольшой двиг, сделал добавку/удаление новостей, в БД есть колонка id она сама присваивает каждой новости свой ид через auto_increment то есть 1,2,3,4...
    PHP:
    $query "INSERT INTO news VALUES(NULL, '$_POST[theme]', '$_POST[text]');
    Но потом при удалении одной он отсчетывает дальше, например:
    были с ид 1,2,3,4,5,6
    затем я удалил 6 и 5

    И при добавлении новой уже ставит ид не 5 или 6(т.к новостей с этим ид нет), а продалжает считать 7,8,9..
    и это создает кучу проблем.
    Помогите..
     
  11. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Так и должно быть. Почитай труды Эдгара Кодда... Ты пытаешься бороться с теорией реляционных баз данных. Ты сделал первичный ключ, назначил на него атрибут auto_increment, следовательно ты приказал СУБД следить за целостностью по этому ключу. Это гарантирует, что не возникнет никакой коллизии по этому ключу, скажем у тебя будут записи, которые ссылаются на записи в этой таблице... Понимаешь, что произойдёт? Возможно нарушение логической целостности твоей схемы данных... А так значение каждый раз новое, это гарантирует, что никакой коллизии не будет, т.к. это значение ключа нигде не использовалось.
     
    1 person likes this.
  12. presidentua

    presidentua милиционер Античата

    Joined:
    4 Nov 2007
    Messages:
    305
    Likes Received:
    236
    Reputations:
    15
    А что тебе в этом не нравиться. Просто забуть про это поле, пусть МуСкул про него думает.

    А если тебе так это надо, так добавть еще одно поле, которое будешь сам заполнять. Тоесть если тебе нужно выставлять порядок высвечивания новостей, то в том поле пусть будет, номер по порядку выведения на экран. А в самом запросе выберешь сортировать по этому новому полю.
     
  13. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    По просьбе Хелиоса:

    Вот тут можно узнать об Кодде:
    http://www.kgau.ru/istiki/teis/ch13.html

    А вот тут есть неплохая метода по теории баз данных, старой закалки между прочим...
    http://www.kgau.ru/istiki/teis/
     
    1 person likes this.
  14. P(i)n*Fl0p1

    P(i)n*Fl0p1 Elder - Старейшина

    Joined:
    19 Dec 2006
    Messages:
    157
    Likes Received:
    35
    Reputations:
    9
    Всем здрасте)вообщем у меня проблема есть))
    Имеется флэш шаблон (папка в ней library,музыка,2 картинки,и документ браузерский)
    Помогите плиз)как поставить этот шаблона на юкозовский сайт?)))и возможно ли вообще это)и чтоб после самого флэш ролика автоматом переходило на сайт)хэлп)

    Да,и там когда ролик играет выводятся слова keyword1 keyword2 keyword3 company name)где их изменить?)) :confused: :confused:
     
  15. dinar_007

    dinar_007 Мадемуазель

    Joined:
    18 Jan 2005
    Messages:
    1,019
    Likes Received:
    770
    Reputations:
    97
    Через interval ИМХО - сложнее, неудобнее, хотя кому-как... Я там "нагородил" такие запросы для простоты понимания, чтобы было легче понять что к чему...
    К datatime прибавить или отнять интервал select now()+ interval 1 mounth
    Если отнять интервал от now() и сравнить с datetime то можно выбрать за нужный промежуток...
    А если уж хочется что-то попроще, то:

    Code:
    select * from TABLE where date_format(now(),'%m %Y')=date_format('2008-01-19 02:10:20','%m %Y');
    
     
    #1615 dinar_007, 18 Jan 2008
    Last edited: 18 Jan 2008
  16. dinar_007

    dinar_007 Мадемуазель

    Joined:
    18 Jan 2005
    Messages:
    1,019
    Likes Received:
    770
    Reputations:
    97
    Почему опять в теме php?

    На счёт юкозовского сайта - думаю получится, но ХЗ как =) Не люблю этот хостинг почему-то =)
    Для того чтобы автоматом переходило: как вариант можно будет засечь сколько времени в секундах длиться флеш-клип и в html-страницу между <head></head>добавить:
    HTML:
    <META HTTP-EQUIV="Refresh" CONTENT="x; URL=http://dinar007.by.ru/нужная_статаница.html"> 
    Чтобы браузер автоматически переключался на новый адрес через x секунд...

    Через Macromedia Flash поправь файл с расширением .fla, .swf

    P.S. И хватит элементарные вопросы по ХТМЛ задавать в теме о вопросах по PHP...
     
    #1616 dinar_007, 18 Jan 2008
    Last edited: 18 Jan 2008
  17. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    PHP:
    <?php
            $array 
    = array('768667''732533''763637','784556');
            function 
    array_count($array$index )
            {
                
    $result 0;
                foreach(
    $array as $element)
                {
                    if (
    $element === $index) ++ $result;
                }
                return 
    $result;
            }

            
    $indexs = array ();

            foreach(
    $array as $index )
            {
                for(
    $tmp $tmp $tmp ++)
                {
                    
    $indexs[$tmp][] = $index[$tmp];
                }
            }

            foreach(
    $indexs as $element)
            {
                
    $search    0;
                
    $result '';
                foreach(
    $element as $index)
                {
                    if(
    $search array_count($element$index))
                    {
                        
    $result $index;
                        
    $search array_count($element$index);
                    }
                }
                echo 
    $result;
            }
    ?>
    $result выводит число нормально.....но как вывести результ за пределами foreach() ?
    Если просто вывод, то будет только последняя цифра..
     
  18. Helios

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

    Joined:
    14 Jan 2007
    Messages:
    414
    Likes Received:
    180
    Reputations:
    103
    Если я тебя правильно понял, то так:
    PHP:
    <?php 
            $array 
    = array('768667''732533''763637','784556'); 
            function 
    array_count($array$index 
            { 
                
    $result 0
                foreach(
    $array as $element
                { 
                    if (
    $element === $index) ++ $result
                } 
                return 
    $result
            } 

            
    $indexs = array ();
            
    $final '';

            foreach(
    $array as $index 
            { 
                for(
    $tmp $tmp $tmp ++) 
                { 
                    
    $indexs[$tmp][] = $index[$tmp]; 
                } 
            } 

            foreach(
    $indexs as $element
            { 
                
    $search    0
                
    $result ''
                foreach(
    $element as $index
                { 
                    if(
    $search array_count($element$index)) 
                    { 
                        
    $result $index;
                        
    $search array_count($element$index); 
                    } 
                } 
                
    $final .= $result;
            }
            
            echo 
    $final;
     
    #1618 Helios, 19 Jan 2008
    Last edited: 19 Jan 2008
  19. inlanger

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

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Помогите, пожалуйста, с таким делом...
    Есть адрес скрипта, например - _http://liveclix.net/links/104125.js
    Как из этого файла выдрать все ссылки и записать их в массив?
     
  20. Macro

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

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    2 inlanger

    PHP:
    <?
    $c=file_get_contents('http://liveclix.net/links/104125.js');
    preg_match_all('|(http://[^\s\'">]+)|i',$c,$matches);
    $massiv_s_ssylkami=$matches[1];
    ?>
     
    2 people like this.
Thread Status:
Not open for further replies.