Buenos días,
Estoy construyendo un sitio de comercio electrónico.
He usado MySQL para la base de datos de back-end y PHP para completar los datos y las tablas en mi sitio web.
He logrado una forma en que cuando un producto se vende con éxito, el texto interno de ese botón (que conduce a su página detallada) cambia de "Ver" a "VENDIDO".
Ahora quiero usar JavaScript para escanear la tabla y encontrar todos los botones que contienen la palabra "VENDIDO" y cambiar el estilo de ellos.
*Creo que mi principal problema es que los datos se extraen de la base de datos MySQL y no se 'fijan' en el HTML, por lo que creo que mi código no funciona.
Aquí hay fragmentos de mi código relevante: Este es el "botón" que quiero cambiar, si se cumple la condición requerida.
<td id="view_button"><?php echo "<a id='isSold' href='/dynamic_page.php?id={$row['id']}'>{$row['View']}</a>"; ?></td>Aquí está mi intento en JavaScript:
const isSold = document.getElementById('isSold'); function ToggleSold(){ if(isSold.innerHTML === "SOLD"){ this.style.backgroundColor = "grey"; } else { this.style.backgroundColor = ""; } }Tenga paciencia conmigo, aprendí a programar por mi cuenta durante los últimos 6 meses. ¡Toda ayuda es apreciada!
Seguí el consejo del comentario anterior de usar PHP en lugar de JavaScript. Ha hecho el truco.
Voy a publicar el código aquí, en caso de que alguien tenga el mismo problema:
<td id="view_button"> <a style="<?php if ($row['View'] == 'SOLD') { echo 'color:rgb(128, 128, 128); background: rgb(217, 217, 217); border: 2px solid rgb(128, 128, 128); font-size: 10px'; } else if($row['View'] == 'View') { ; } ?>" href="<?php if($row['View'] == 'SOLD') { echo ''; } else if($row['View'] == 'View') { echo "/dynamic_page.php?id={$row['id']}"; } ?>"> <?php echo $row['View'] ?> </a> </td>