За последние 24 часа нас посетили 164297 программистов и 3025 роботов. Сейчас ищут 1689 программистов ...

Вывод сообщения через яваскрипт.

Тема в разделе "PHP для новичков", создана пользователем MCTrane, 14 янв 2010.

  1. MCTrane

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

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    [JS]<script language="javascript">
    function checkTextAreaLength(form) {
    alert("Причина: <?=$res1['reas']?>");
    }
    </script>[/JS]

    PHP:
    1.  
    2. <?php while($res1=mysql_fetch_array($res))
    3. {
    4.     $idtask=$res1["idtask"];
    5.     $row=mysql_query("select * from tb_task where id='$idtask'");
    6.     $row=mysql_fetch_array($row);
    7.  
    8.     $status=$res1["status"];
    9.     if($status=='0'){ $cvet='666666'; $status='В ожидании';}
    10.     if($status=='1'){ $cvet='00ff00'; $status="Подтверждено";}
    11.     if($status=='2'){ $cvet='ff0000'; $status="Отклонено/<a href='#?id=$idtask' onclick='checkTextAreaLength(this)'>Причина</a>";}
    12.  
    13.     echo "<tr bgcolor=".$row["hltask"]."><td align=center>$idtask</td><td align=center>".date("d.m.Y в H:i",$res1["data"])."</td><td align=center>".
    14.     $row["amunt"]." $vn</td><td align=center>".$row["author"]."</td><td align=center><font color=#$cvet><b>$status</b></font></td></tr>";
    15.  
    16. }
    17.  
    Вот есть такой код.Тут Выводится список из базы данных.И мне надо чтобы при нажатии на причина мне выводил причину именно это строки(причина берётся из базы данных) Получалось сделать только то что в каждой строке когда причину жмешь одно и то же выводится.как это сделать?Пробывал в while() ява скрипт прописать вообще ничего не получается.
     
  2. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    оформите код подобающе
     
  3. karakh

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

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    PHP:
    1. <?
    2. if($status=='2'){ $cvet='ff0000'; $status="Отклонено/<a href='#?id=$idtask' onclick='alert(".$res1['reas'].")'>Причина</a>";}
     
  4. MCTrane

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

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    Спасибо огромное! Код оформил=)
     
  5. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    MCTrane

    Код (Text):
    1. [php]<?php
    2. echo "something";[/php]
    PHP:
    1. <?php
    2. echo "something";
    3.  
     
  6. MCTrane

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

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    Сделал так если я кликаю по первому то всё выводится а другие не выводятся.
     
  7. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    MCTrane
    Исправьте js-script:

    [js]
    function checkTextAreaLength(reason) {
    alert("Причина: " + reason);
    }
    [/js]
     
  8. MCTrane

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

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    Вы предлагаете тоже самое практически.
    у меня всё получилось это я просто тупонул.
     
  9. Simpliest

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

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    в 6й строке
    var_dump($res1);

    и смотрим в браузере что имеется в ключах 'status'
     
  10. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    А так:
    PHP:
    1. <?php
    2. while(false !== ($res1 = mysql_fetch_array($res)) )
    3. {
    4.     echo $res1['reas'] . '<br />';
    5. }
    6.  
     
  11. MCTrane

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

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    Говорю же всё получилось, спасибо)
     
  12. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    MCTrane
    Тогда в догонку:

    PHP:
    1. <?php
    2. if ( $status == '2' ){
    3.     $color = 'ff0000';
    4.     $status = sprintf('Отклонено/<a href="#?id=%d" onclick="alert('%s');">Причина</a>', $idtask, json_encode($res1['reas']));
    5. }
    6.  
     
  13. MCTrane

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

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    Только вот незнаю почему но когда я пишу запрос
    PHP:
    1. $res=mysql_query("select * from tb_taskstats   order by id DESC");
    То у меня выводятся всё только не самая последняя...не знаете почему?
     
  14. ATI

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

    С нами с:
    3 янв 2008
    Сообщения:
    254
    Симпатии:
    0
    Адрес:
    Москва
    Условие в цикле неверное.
     
  15. MCTrane

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

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    А какое нужно???
     
  16. А нужно правильное.
     
  17. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    нет, нужно верное

    [sql]select * from tb_taskstats order by id desc limit 1[/sql]