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

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

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

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    проблема в том что это гавно код на который страшно смотреть, ты сначала попробуй что ни будь простое сделать на мультикурле а потом уже пихай своё условие.

    на вот тебе нормальный пример, с него и копай дальше

    PHP:
     for ($i 0$i count ($proxies); $i++)
        {
    $ch = array();
    $ch[$i] = curl_init();
    curl_setopt($ch[$i], CURLOPT_URL,"$query");
    curl_setopt($ch[$i], CURLOPT_HEADER0);
    curl_setopt($ch[$i], CURLOPT_RETURNTRANSFER1);
    curl_setopt ($ch[$i], CURLOPT_PROXYtrim($proxies[i]));  
    }




     
    $mh curl_multi_init();

         
        foreach(
    $ch as $id => $c)
                {
    curl_multi_add_handle($mh,$ch[$id]);
    curl_multi_add_handle($mh,$ch[$id]);

    }
         
          
    $running null;
         
         do {
            
    curl_multi_exec($mh,$running);

         } while (
    $running 0);





    foreach(
    $ch as $id => $c)
                {

    $result[$id] = curl_multi_getcontent($c);
    curl_multi_remove_handle($mh$c);

    }



         

       
         
    curl_multi_close($mh);



    foreach(
    $result as $get_result) {

    // тут перебираешь результат и парсишь то что тебе нужно

    }
     
  2. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    Всем привет!
    как лучше реализовать определение четной недели?, если неделя начинается с четного числа и показывать один контент для четной недели, другой для нечетной
     
  3. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75

    PHP:
    <?
    $number_day date(w);
    $date date(j);


    if( 
    $number_day ) {

    $need_count_of_day = -($number_day 1);

    }elseif( 
    $number_day == )  {

    $need_count_of_day "0";

    }elseif( 
    $number_day )  {

    $need_count_of_day "-6";

    }




    if( 
    is_float((($date $need_count_of_day) / 2)) ) {

    echo 
    "неделя нечётная";

    }else{

    echo 
    "неделя чётная";

    }
    ?>
     
    1 person likes this.
  4. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    qaz, спасибо большое, проверил на локалхосте на месяца разные и на разные даты !
     
  5. -=Nikola=-

    -=Nikola=- New Member

    Joined:
    21 Oct 2011
    Messages:
    24
    Likes Received:
    3
    Reputations:
    0
    Привествую!
    Помогите решить проблему есть массив вида:
    Array
    (
    [id] => 11
    [text] => lolololo
    [name] => lalallaala
    )
    Array
    (
    [id] => 11
    [text] => lolololo
    [name] => lalallaala
    )
    Array
    (
    [id] => 12
    [text] => looooooo
    [name] => laaaaaaaaaa
    )

    необходимо массив прогнать и если id совпадают, то не дублировать а выдать один id с text, name

    В нашем случае выше, должно получится так:
    id = 11. text = lolololo. [name] => lalallaala
    id = 12. text = looooooo [name] => laaaaaaaaaa

    Короче избавиться от дулей надо.
     
  6. weInc

    weInc New Member

    Joined:
    29 Mar 2012
    Messages:
    40
    Likes Received:
    3
    Reputations:
    0
    Смешно конечно, но почему не хочет за место полей подкладывать переменную с полями..если напрямую заполнять переменную, то все норм, но когда вывод из другой таблицы - происходит это:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

    Code:
    $dc = mysql_query("SELECT category_rows from information_category");
    				while($category = mysql_fetch_assoc($dc)){
    					$catlist = $category['category_rows'];
    					$dt = mysql_query("SELECT ".$catlist." from information_title") or die(mysql_error());
    					
    				}
    
     
  7. ocheretko

    ocheretko Banned

    Joined:
    15 May 2010
    Messages:
    144
    Likes Received:
    51
    Reputations:
    116
    Сделайте
    PHP:
    echo $dt; exit();
    чтобы увидеть, что в запросе приводит к ошибке синтаксиса
     
  8. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75

    Code:
    $dc = mysql_query("SELECT `category_rows` from `information_category`");
    				while($category = mysql_fetch_assoc($dc)){
    					$catlist = $category['category_rows'];
    					$dt = mysql_query("SELECT `$catlist` from `information_title`") or die(mysql_error());
    					
    				}
    



    чёза набор слов?




    эт чё, двоимерный массив?


    PHP:
    <?

    $array2 = array(array
    (
        
    "id" => "11",
        
    "text" => "lolololo",
        
    "name" => "lalallaala"
    ),
    array
    (
        
    "id" => "11",
        
    "text" => "lolololo",
        
    "name" => "lalallaala"
    ),
    array
    (
        
    "id" => "12",
        
    "text" => "looooooo",
        
    "name" => "laaaaaaaaaa"
    ));



    $array_id = array();
    $clean_array = array();


    foreach( 
    $array2 as $str 

        {





    if( !
    in_array($str[id],$array_id)  )   

            {

    $array_id[] = $str[id];

    $clean_array[] = array("id" => $str['id'],"text" => $str['text'],"name" => $str['name']);

            }



        }






    print_r($clean_array);
    ?>
     
  9. weInc

    weInc New Member

    Joined:
    29 Mar 2012
    Messages:
    40
    Likes Received:
    3
    Reputations:
    0
    Вообщем не добавление кавычек, не вывод ошибки любым способом не решают проблему.
    $catlist имеет значение в виде "use,uac,uname" и все.
    Заполняя на прямую без вывода из базы все работает...
    В чем же причина..
     
  10. ocheretko

    ocheretko Banned

    Joined:
    15 May 2010
    Messages:
    144
    Likes Received:
    51
    Reputations:
    116
    Сделайте echo $dt из скрипта, и скопируйте вывод сюда
     
  11. weInc

    weInc New Member

    Joined:
    29 Mar 2012
    Messages:
    40
    Likes Received:
    3
    Reputations:
    0
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
     
  12. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    можно ли с помощью php определить разрешение экрана ?
     
  13. weInc

    weInc New Member

    Joined:
    29 Mar 2012
    Messages:
    40
    Likes Received:
    3
    Reputations:
    0
    Вообщем решил проблему, хотя так и не понял в чем она заключалась.
    Добавляя дополнительный знак в поле, а потом просто удаляя последний элемент все работало, хотя в данных изменений не происходило..
     
  14. mironich

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

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Нет, но можно с помощью js.
     
  15. weInc

    weInc New Member

    Joined:
    29 Mar 2012
    Messages:
    40
    Likes Received:
    3
    Reputations:
    0
    Ну а если произвдить какие то хитрые мохинации с библиотекой для работы с изображениями, незнаю..пиксели там считать, может что получится)
    Но лучше конечно искользовать готовый метод в js)
     
  16. Scofild

    Scofild Member

    Joined:
    26 Jun 2007
    Messages:
    29
    Likes Received:
    43
    Reputations:
    0
    Помогите разобраться, вот есть форма обратной связи с записью в текстовый файл

    PHP:
    <?php
    $name 
    $_POST['name']; 
    $mail $_POST['mail'];
    $message $_POST['message'];

    $text .= "\nИмя: $name \n"
    $text .= "Почта: $mail \n"
    $text .= "Сообщение: $message \n"

    if (isset(
    $_POST['name'])) { $login $_POST['name']; if ($login == '') { unset($name);} }

        {
        
    $text ="\n\n---------------------\n" $text;
        
    $file fopen ("file.txt""a+"); 
        
    fwrite ($file,$text); 
        
    fclose ($file); 
        }
    ?>



    <form action="/feed.php" method="POST">

    <b>Имя:</b> <input type="text" name="name"  value="">
    <b>e-mail:</b> <input type="text" name="mail"  value="">

    <b>Сообщение:</b>
    <textarea  name="message" rows="10" cols="20">
    </textarea>

    <input type="submit" name="submit" value="Отправить">
    </form>


    feed.php - это страница с формой
    Получается когда на страницу с формой заходишь, он сразу записывает в файл пустое сообщение. Как сделать чтобы скрипт записывал только по нажатию на кнопку? И чтобы на этой же странице появлялось сообщение что всё отправлено.
     
  17. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Scofild
    PHP:
    if (isset($_POST['name'])) { 
        
    $login $_POST['name']; 
        if (
    $login == '') { unset($name);}
        
    $text ="\n\n---------------------\n" $text;
        
    $file fopen ("file.txt""a+"); 
        
    fwrite ($file,$text); 
        
    fclose ($file); 
        } 
     
    _________________________
  18. antras2007

    antras2007 New Member

    Joined:
    4 Jul 2013
    Messages:
    33
    Likes Received:
    0
    Reputations:
    0
    Доброго времени суток вам! Изучаю PHP самостоятельно, поэтому не у кого спросить. Подскажите пожалуйста почему при первом входе на страницу содержащую форму выдает ошибку:

    Notice: Undefined index: rows in D:\cod\test\self\table_self.php on line 7

    Notice: Undefined index: cols in D:\cod\test\self\table_self.php on line 8
    но код работает как надо. При вводе данных и при следующих обновлениях страницы эти ошибки больше не выводятся до того времени пока заново не введешь адрес в браузер.

    вот код:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
    <head>
    <title>Таблица умножения</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>
    <body>
    <h1>Таблица умножения</h1>
    <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
    <input type="text" name="rows">
    <input type="text" name="cols">
    <input type="submit" name="submit" value="Умножить">
    </form>


    <?php
    $rows = trim(strip_tags($_POST['rows']));
    $cols = trim(strip_tags($_POST['cols']));
    echo "<p>";
    echo "<table border='1' align='center'>";
    for($tr=1; $tr<=$rows; $tr++){
    echo "<tr>";
    for($td=1; $td<=$cols; $td++){
    if($tr==1 or $td==1)
    echo "<th style='background: red'>".$tr*$td."</th>";
    else
    echo "<td style='background: yellow'>".$tr*$td."</td>";
    }
    echo "</tr>";
    }
    echo "</p>";
    echo "</table>";
    ?>
    </body>
    </html>
     
  19. Scofild

    Scofild Member

    Joined:
    26 Jun 2007
    Messages:
    29
    Likes Received:
    43
    Reputations:
    0
    Gifts когда заходишь на страницу пустые данные записываются, а надо чтобы по нажатию на кнопку.
     
    1 person likes this.
  20. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    PHP:
    if (isset($_POST['name'])) { 
    замени на
    PHP:
    if (isset($_POST['name']) && !empty($_POST['name']) ) {
     
Thread Status:
Not open for further replies.