Evidentiere Lista afisata cu date din baza de date

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Stefan
Mesaje: 117

Evidentiere Lista afisata cu date din baza de date

Salut, am o lista cu niste notificari intr-o baza de date, cum as putea selecta (evidentia) o anumita notificare ? Dar sa apara si celelalte notificari
Exemplu: imgur.com/a/clQEC
Am fost incercat dar nu mi-a iesit

MarPlo Mesaje: 4343
Salut
In principiu se face cu CSS. Se adauga un "class" sau "style" la elementul html care sa fie evidentiat.
Daca adaugi aici bucata de cod cu selectarea datelor si crearea /afisarea LIstei pe care ai facut-o, poate primesti un raspuns mai la obect.

Stefan Mesaje: 117

Cod: Selectaţi tot

<?php 
include ('../core/init.php');
include ('includes/head.php');
include ('includes/inceput.php');
protejare_pagina();
protectie_admin();

$selected = $_GET['selected'];
$id = $_GET['id'];
$sql = mysql_query("SELECT * FROM `notificari`");
$sql2 = mysql_query("SELECT * FROM `notificari` WHERE `id` = '$id'");
?>

<style>
.nav li.selected {
 background-color:red;
}
</style>

<?php
    while($row = mysql_fetch_array($sql)){
?>
<ul class="nav">
            <li >
                <div class="media">
                    <div class="pull-left p-r-10">
                        <em class="<?php echo $row['icon']; ?>"></em>
                    </div>
                    <div class="media-body">
                        <h5 class="media-heading"><?php echo $row['notificari']; ?></h5>
                        <p class="m-0">
                            <small><?php echo $row['txt_sec']; ?></small>
                        </p>
                    </div>
                </div>
            </li>
        </ul>
<?php
while($row2 = mysql_fetch_array($sql2)){
    ?>
         <ul class="nav">
            <li <?php if($selected == 'da') echo 'class="selected"'?>>
                <div class="media">
                    <div class="pull-left p-r-10">
                        <em class="<?php echo $row['icon']; ?>"></em>
                    </div>
                    <div class="media-body">
                        <h5 class="media-heading"><?php echo $row['notificari']; ?></h5>
                        <p class="m-0">
                            <small><?php echo $row['txt_sec']; ?></small>
                        </p>
                    </div>
                </div>
            </li>
        </ul>
<?php
}
}

?>
Nu stiu ce am vrut sa fac pe acolo, si cu cele 2 while-uri :))

MarPlo Mesaje: 4343
Daca vrei sa evidentiezi un element in functie de o anumita valoare din randurile selectate, se adauga stilul de evidentiere la compararea valorii din randul selectat cu valoarea la care vrei sa fie evidetiata.
In principiu cam asa:

Cod: Selectaţi tot

while($row = ...){
  //if 'col_name' has 'some_value", evidentiate this <li>
  $class = ($row['col_name'] =='some_value') ? ' class="some_class"' :'';
  echo '<li'. $class .'>'. $row['col_name'] .'</li>';
}
- In codul tau ar putea fi asa, nu stiu sigur, dar stie cine l-a facut.

Cod: Selectaţi tot

<?php
while($row2 = mysql_fetch_array($sql2)){
?>
<ul class="nav">
  <li<?php if($selected == $row['notificari']) echo ' class="selected"'; ?>>
    <div class="media">
      <div class="pull-left p-r-10">
        <em class="<?php echo $row['icon']; ?>"></em>
      </div>
      <div class="media-body">
        <h5 class="media-heading"><?php echo $row['notificari']; ?></h5>
        <p class="m-0">
          <small><?php echo $row['txt_sec']; ?></small>
        </p>
      </div>
    </div>
  </li>
</ul>
<?php
}
}
?>

Stefan Mesaje: 117
Eu l-am facut, doar ca m-am fost blocat la un moment dat. Eu nu stiu ce verificam cu acel if, am inlocuit cu if($id == $row['id']) (...) iar acum afiseaza corect, multumesc

Subiecte similare