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

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

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

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Привет

    Подскажите как массив с вложенными в него массивами encode в XML документ
    Пример
    PHP:
    $arr = array('Result'=>array('Code'=>1'Desc'=>'Ыы'));
    echo 
    xml_encode($arr);

    На выводе
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <CurrenciesList xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://MyUrl">
      <Result>
        <Code>1</Code>
        <Desc>Ыы</Desc>
      </Result>
    </CurrenciesList>
     
  2. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    byrger
    http://www.simplecoding.org/sozdanie-xml-failov-iz-php-massivov.html
     
  3. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Еще вопрос, как округлить в большую сторону и оставить 2 знака после запятой?
    Пример

    2.0396 => 2.04
    2.0321 => 2.04
     
  4. necroleptick

    necroleptick Member

    Joined:
    3 Jan 2011
    Messages:
    105
    Likes Received:
    11
    Reputations:
    0
    http://www.php.net/manual/en/function.round.php
     
  5. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    5.3.0 The mode parameter was introduced.

    Версия 5.2 пхп нужна
     
  6. Kusto

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

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    PHP:
    <?php 
    $val
    ='3.2578';
    $d='2';

    function 
    p_ceil($val$d)
    {
        return 
    ceil($val*pow(10,$d))/pow(10,$d);
    }
    $a=p_ceil($val$d);
    echo  
    $a;
    ?>
     
    #17426 Kusto, 17 Jan 2011
    Last edited: 17 Jan 2011
    1 person likes this.
  7. psQs

    psQs New Member

    Joined:
    6 Mar 2010
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    надо записывать в файл из 2 массивов. первый
    PHP:
    $list
    второй
    PHP:
    $data
    .
    причем надо так чтобы на одно значение из первого массива приходилось 3 из второго.
    Пример:
    Code:
    list_one:Data1,Data2,Data3
    .
    Сделал вот так:
    PHP:
    for($i 0$i count($list); $i++)
    {
        for(
    $j 0$j count($data); $j+=3)
       {
           
    function_write2file($list[$i],$data[$j],$data[$j+1],$data[j+2]);
       }
    }
    Но получалось что просто выводились 3 последних значения из $data столько раз каков был размер $list.

    Пример:
    Code:
     Размер $list = 3; $data = 9; $data = q,w,e,r,t,y,u,i,o,p,a,s;
    Вывелось в файл
    Code:
    p a s
    p a s
    p a s
    Помогите разобраться как сделать правильно. Если не ппонятно в чем проблема пишите в ЛС.
    Спасибо.
     
    #17427 psQs, 17 Jan 2011
    Last edited: 17 Jan 2011
  8. Andres

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

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    По сложности почта какая должна быть?
     
  9. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    плыз подскажите как исправить ошибку

    Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /usr/home/mai1-ru/htdocs/serfing/actionlichka.php on line 16


    PHP:
    <?

    include (
    "dbconnect.php");

    $query "SELECT  `id`,`thema`, `msg`,`id_otpravitel`
                FROM `lichka`
                WHERE `id_poluchatel`= '
    {$_SESSION['id']}'
                "


     
    $sql mysql_query($query) or die(mysql_error());
    while (
    $row mysql_fetch_array($sql) )
    {

    echo 
    "<tr>"
    echo 
    "<td>";  
    echo 
    "<input type = "radio"  name ="del" value = "$row['id'];">";
    echo 
    "</td>";  



    echo 
    "<td>";  
    echo 
    $row['id_otpravitel'];
    echo 
    "</td>";  



    echo 
    "<td>";  
    echo 
    $row['thema'];
    echo 
    "</td>";  


    echo 
    "<td>";  
    echo 
    $row['msg'];
    echo 
    "</td>";  
    echo 
    "</td>";  





    }



    ?> 
     
  10. FindeR

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

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    У тебя так
    PHP:
    echo "<input type = "radio"  name ="del" value = "$row['id'];">";
    а проще уж
    PHP:
    echo '<input type = "radio"  name ="del" value = "'.$row['id'].'">';
    ну или, раз тебе хочется двойные кавычки,

    PHP:
    echo "<input type = \"radio\"  name =\"del\" value = \"$row['id']\">";
    Но я бы так писать не советовал. Для визуального восприятия кода так гораздо хуже.

    Лучше вот так
    PHP:
    <?
    include (
    "dbconnect.php");

    $query "SELECT  `id`,`thema`, `msg`,`id_otpravitel`
                FROM `lichka`
                WHERE `id_poluchatel`= '
    {$_SESSION['id']}'
                "


     
    $sql mysql_query($query) or die(mysql_error());
    while (
    $row mysql_fetch_array($sql) )
    {
    ?>
    <tr>
    <td>
    <input type = "radio"  name ="del" value = "<?=$row['id']?>">
    </td>
    <td>
    <?=$row['id_otpravitel']?>
    </td>
    <td>
    <?=$row['thema']?>
    </td>
    <td>
    <?=$row['msg']?>
    </td>
    </td>

    <?
    }
    ?>
    Сейчас начнутся холивары про short tags...
     
    #17430 FindeR, 18 Jan 2011
    Last edited: 18 Jan 2011
    1 person likes this.
  11. snet

    snet New Member

    Joined:
    19 Dec 2010
    Messages:
    61
    Likes Received:
    2
    Reputations:
    0
    А еще лучше так:
    PHP:
    echo "<input type = "radio"  name ="del" value = "{$row['id']}">";  
    имхо
     
  12. h00lyshit!

    h00lyshit! [From Nobody To Root]

    Joined:
    10 Sep 2009
    Messages:
    289
    Likes Received:
    290
    Reputations:
    195
    Этот код выдаст точно такую же ошибку.
     
  13. snet

    snet New Member

    Joined:
    19 Dec 2010
    Messages:
    61
    Likes Received:
    2
    Reputations:
    0
    аа не заметил кавычек. думал решается вопрос с $row['id']
    PHP:
    echo "<input type = \"radio\"  name =\"del\" value = \"{$row['id']}\">";  
    На счет $row['id'], так как предложил FindeR не сработает. Только простую переменную можно сувать в двойные кавычки
    PHP:
    echo "Hello, $name, how are you?";  
    А масив либо так:
    PHP:
    echo "Hello, {$massiv['name']},  how are you?";  
    Либо так:
    PHP:
    echo "Hello, ".$massiv['name'].",  how are you?";
    Это выведет ошибку:
    PHP:
    echo "Hello, $massiv['name'],  how are you?";
     
    #17433 snet, 19 Jan 2011
    Last edited: 19 Jan 2011
  14. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    Лучше так:
    PHP:
    echo 'Hello, '.$massiv['name'].',  how are you?';
     
    1 person likes this.
  15. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    А так нет

    PHP:
    echo "Hello, $massiv[name],  how are you?"
    И работает ;) и Красиво смотрится
     
    2 people like this.
  16. snet

    snet New Member

    Joined:
    19 Dec 2010
    Messages:
    61
    Likes Received:
    2
    Reputations:
    0
    -=Zhenek=-, ухты, а я и незнал), классно
     
  17. REBUUS

    REBUUS Active Member

    Joined:
    6 Apr 2009
    Messages:
    314
    Likes Received:
    111
    Reputations:
    9
    Позабыл уже все, как дату правильно вывести если в БД записан в формате 29.01.2010 11:31:00 , а при простом выводе дает из 01.01.70 , если выводить как date("d.m.y", поле из БД) то тоже выдает крво. как вывести вот так 29.01 или полностью 29.01.2010 ???
     
  18. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    REBUUS
    Это не правильный формат даты mysql
    какой тип ячейки в которой эта запись хранится?
     
    #17438 LStr1ke, 19 Jan 2011
    Last edited: 19 Jan 2011
  19. REBUUS

    REBUUS Active Member

    Joined:
    6 Apr 2009
    Messages:
    314
    Likes Received:
    111
    Reputations:
    9

    DATETIME и так заносится по умолчанию
     
  20. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Формат DATETIME в MySQL - YYYY-MM-DD H:i:s
     
Thread Status:
Not open for further replies.