Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/10/2014, 13:01
Avatar de cascanfer56
cascanfer56
 
Fecha de Ingreso: octubre-2014
Mensajes: 9
Antigüedad: 9 años, 6 meses
Puntos: 0
Ideas con tabla generada PHP por una consulta a base de datos.

Soy nuevo en el foro así que lo primero es lo primero, Hola y muy buenas a todos!!!

Estoy estudiando php y demás cositas para diseñar webs así que aún estoy algo verde perdonad si el tema es un poco novatillo .

Bueno dicho esto os comento:
Estoy haciendo página de un portal de pedidos web en el cual necesito mostrar los pedidos de cada cliente registrado, hasta aquí todo bien.Sin embargo no logró introducir una función cuyo objetivo es imprimir un mensaje que te muestre una pregunta con 2 enlaces, por ejemplo; para poder confirmar pedidos o rechazarlos solo en caso de que en la tabla se imprima un pedido con estado "localizado" (es decir tenga dicho estado en la base de datos).

El caso es, quiero que si alguna de esas celdas digamos imprime el valor,en este caso la palabra "pendiente"; en la celda de estado, aparezca el mensaje con los enlaces para confirmar o no el producto modificando luego el estado de este en la base de datos a "confirmado" o "rechazado" dependiendo del script.

No se me ocurre como lograr identificar si en las celdas ha aparecido "pendiente" o no y luego si aparecen varios productos en estado "pendiente" como identificar cada uno para poder ir modificando su estado con los scripts.

Primero pensé en usar la variable de "row" del array generado por foreach para identificar los estados pero este se queda solo con el último pedido de la base lógicamente.
Luego pensé en poner un id o name a las filas de las tablas y celdas para sacar la info con DOM ;pero al ser generadas de manera automática se generan todas con el mismo id/name y no sirve para identificar cada producto de la tabla.

Pff espero haberme logrado explicar decentemente '^^ A ver si alguien me puede echar una manita con alguna idea para seguir avanzando.Muchas gracias a todos!

Os adjunto el código de la página con algunos comentarios en el lugar del conflicto de lo que he intentado ir haciendo :)

Código PHP:
 <article class="content">
      <h1 class="auto-style12">Pedidos</h1>
      <br>
      <div class="auto-style13" style="width: 779px; height: 186px; position: absolute; left: 20px; top: 241px; border: #FF6600 groove">
          <img alt="pedidos" height="186" src="../../Archivos%20necesarios/videojuegosAlmacen.jpg" width="779"></div>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
    <section>
      <h2 class="eslogan">Tus pedidos :</h2>
      
      <table class="auto-style2" style="margin: 10px 0 15px 10px; height: 47px; width: 377px;">
          <tr>
              <th class="auto-style11">Pedido</th>
              <th class="auto-style11">Plataforma</th>
              <th class="auto-style11">Estado</th>
              <th class="auto-style11">Precio</th>
          </tr>
       <?php 
          
require '../ModeloControlador/conexion.php';
          
$result $con ->query("SELECT nombre,plataforma,estado,precio FROM productos WHERE propietario like"$con ->quote($_SESSION["user"]));
          foreach(
$result as $row) {
          
          echo 
"<tr>
                <td>$row[0]</td>
                <td>$row[1]</td>
                <td>$row[2]</td> 
                <td>$row[3]</td>
                </tr>"
;
          
          
/*$row[2] representa el estado, primero pensé en crear un if con esta varibale tal que: if($row[2] == "pendiente")
           * y ya el mensaje con los de los enlaces a sus respectivos scripts, sin embargo esta idea solo serviría si estuvieramos habando 
           * de un solo producto ya que al haber más se van sobreescribiendo en la variable, pudiendo el último no estar
           * pendiente mientras que el 2º sí.
           * La segunda opción fue <td name=celdaEstado>$row[2]<\td> y con DOM meter el valor de la celda en una variabley etsa en un if,
           * desechada por la misma razón que antes todas las filas tienen el mismo identififcador y por tanto al haber varios productos 
           * no se puede realizar correctamente la comprobación.
           */
          
}
          
       
?>       
      </table>