2016-12-21 2 views
0

Я новичок в html5 и php. Мне интересно, как использовать javascript в случае моего письменного кода.Как использовать Javascript в встроенном сценарии cStringHTML?

Я выводю данные своей базы данных в таблицу в формате HTML. Я хочу, чтобы последний вывел немного больше вправо. Но если я использую встроенный CSS стиль я получаю синтаксическую ошибку:

мой код:

<table class="scroll"> 
    <thead style="background-color: #99E1D9; color: #705D56;"> 
     <tr> 
      <th>ID</th> 
      <th>Name</th> 
      <th>Last Update</th> 
      <th style="padding-left: 30%;">Status</th> 
     </tr> 
    </thead> 
     <tbody id="hoverTable"> 
       <?php 

        $connection = mysql_connect('localhost', 'root', ''); 

        mysql_select_db('patientdb'); 

        $query = "SELECT id, name, date, status FROM clients"; 

        $result = mysql_query($query); 

        while($row = mysql_fetch_array($result)){ //looping through results 
        echo "<tr> 
          <td>" . $row['id'] . "</td> 
          <td>" . $row['name'] . "</td> 
          <td>" . $row['date'] . "</td> 
          <td class=\"fa fa-circle\" style=\"color: grey; margin-left: \30%;\"></td> //my question is regarding this line!!!! 
         </tr>"; //$row['index'] the index here is a field name 
        } 

        mysql_close(); 

       ?> 
</tbody> 
</table> 

Моя цель состоит в том, чтобы изменить цвет на выходе последнего <td> в зависимости от кастрированный баран данных моя база данных по в этой логике:

if (x > 60) { 
    echo: "orange output"; 
}elseif (x >50) { 
    echo: "red output"; 
}else{ 
echo: "green output"; 
} 

**** Как я могу использовать JS в моем нынешнем случае ****

EDIT: пробуя решение s

<script> 
    $('#hoverTable td').css('background-color',function(){ 
     var x = DATA FROM MY DATABASE; 
      if (x > 50) { 
      echo: "orange output"; 
      }elseif (x >60) { 
      echo: "red output"; 
      }else{ 
      echo: "green output"; 
      } 
    }); 
    </script> 

Таблица кода

<table class="scroll"> 
    <thead style="background-color: #99E1D9; color: #705D56;"> 
     <tr> 
      <th>ID</th> 
      <th>Naam Client</th> 
      <th>Laatste Update</th> 
      <th style="padding-left: 30%;">Status</th> 
     </tr> 
    </thead> 
     <tbody id="hoverTable"> 
       <?php 

        $connection = mysql_connect('localhost', 'root', ''); //The Blank string is the password 
        mysql_select_db('patientdb'); 

        $query = "SELECT id, naam, datum, status FROM clients"; //You don't need a ; like you do in SQL 
        $result = mysql_query($query); 

        while($row = mysql_fetch_array($result)){ 
         $statusClass = 'class="green output"'; 

         if($row['status'] > 60){ 
          $statusClass = 'class="red output"'; 
         }else if($row['status'] > 50){ 
          $statusClass = 'class="orange output"'; 
         } 
         echo 
         '<tr> 
         <td>' . $row["id"] . '</td> 
         <td>' . $row["name"] . '</td> 
         <td>' . $row["date"] . '</td> 
         <td class="fa fa-circle" style="color: grey; margin-left: 30%;" .$statusClass."></td> 
         </tr>'; 
        } 
        mysql_close(); //Make sure to close out the database connection 
       ?> 
</tbody> 
</table> 

ответ

0

привет, если вы хотите использовать в PHP и статуса является последним «TD» код может выглядеть так:

while($row = mysql_fetch_array($result)){ 
    $statusClass = 'green output'; 

    if($row['status'] > 60){ 
     $statusClass = 'red output'; 
    }else if($row['status'] > 50){ 
     $statusClass = 'orange output'; 
    } 

    echo '<tr> 
    <td>' . $row["id"] . '</td> 
    <td>' . $row["name"] . '</td> 
    <td>' . $row["date"] . '</td> 
    <td class="fa fa-circle '.$statusClass.'" style="color: grey; margin-left: 30%;"></td> 
</tr>' 
} 

убедитесь, что у вас самое большое количество в состоянии на первом месте, потому что если вы используете этот код

if (x > 50) { 
    echo: "orange output"; 
}elseif (x >60) { 
    echo: "red output"; 
}else{ 
    echo: "green output"; 
} 

и х 65 возвращает «оранжевую выход» вместо «красного выхода», потому что первое утверждение верно, то х больше, чем 50

и использование jquery для этого - самое простое решение. комментарий выше, используйте только идентификатор для таблицы вместо селектора «таблица»

$("#hoverTable td")... 
+0

Спасибо, я попробую! – user7186935

+0

убедитесь, что вы скопировали новую версию, у меня была синтаксическая ошибка :) Я написал ее в этом редакторе и не сделал, попробуйте – Pitrsn

+0

Спасибо, я сейчас пытаюсь поместить свои данные в базу данных -> var x. – user7186935

0

Вы не можете разбить строки в PHP. Используйте:

echo "<tr>". 
"<td>" . $row['id'] . "</td> ". 
"<td>" . $row['name'] . "</td> ". 
"<td>" . $row['date'] . "</td>". 
"<td class=\"fa fa-circle\" style=\"color: grey; margin-left: \30%;\"></td> ". 
"</tr>"; 

Вы должны сцепить концы каждой линии, или использовать heredoc.

+0

Благодарим за быстрый ответ. Где я могу это поставить? И как теперь этот столбец в моей таблице DB проверяет значения для сравнения? – user7186935

+0

Вы не можете сломать строки в PHP, см. Обновленный ответ. – TricksfortheWeb

0

Простой, если вы используете jQuery.

$('#hoverTable td:last-child').css('background-color',function(){ 
    var x = /*your target argument*/; 
    if(x > 50){return 'orange '}; 
}); 
Смежные вопросы