Foros del Web » Programando para Internet » PHP »

Ejecutar sentencia SQL en un HREF (no puedo)

Estas en el tema de Ejecutar sentencia SQL en un HREF (no puedo) en el foro de PHP en Foros del Web. Hola que tal, estoy tratando de que por medio de un click en un enlace se actualice un campo en mi base de datos, la ...
  #1 (permalink)  
Antiguo 04/08/2014, 11:32
 
Fecha de Ingreso: julio-2014
Mensajes: 22
Antigüedad: 9 años, 9 meses
Puntos: 0
Ejecutar sentencia SQL en un HREF (no puedo)

Hola que tal, estoy tratando de que por medio de un click en un enlace se actualice un campo en mi base de datos, la sentencia me funciona si la pruebo directamente en mi base, pero el problema es que cuando trato de meterlo en el HREF simplemente no actualiza, no tengo idea de que suceda (lo que se busca es que al dar click en (VER) entres a a otra pagina e inmediatamente se actualice el campo de status a (en proceso)

les dejo el codigo de la tabla

Código PHP:
<?php
include("./funciones/funciones.php");
$con =  conecta ();

$sql="select * from reporte ";
$result=mysql_query($sql) or die("Error en SQL:".$sql);
$row_rstipo mysql_fetch_assoc($result);


?>



<html lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>----Reporte de fallos----</title>
<link rel="stylesheet" href="./css/estilos.css" type="text/css" />

<script src="Funciones/js/jquery-1.2.6.min.js" type="text/javascript"></script>


</head>
<body background="./imagenes/bg_top3.gif" >

    <div class="contenedorHeader"></div>
    <!--Inicia header-->
    <div class="encabezado"></div>
    
    
    <!--/header-->

    <div class="contenido"></div>

    <div class="error" id="msgError"></div>



<div class="usuario">

                    <table width="900" height="50" border="1" align="left" cellpadding="1" cellspacing="1" bordercolor="#aaaaaa" >

        <tr>
            <td align="center" valign="middle" bgcolor="##FF0000" style="color: #FFF"><b>Atender Reporte</b></td>
            <td align="center" valign="middle" bgcolor="#009FFF" style="color: #FFF">ID del Reporte</td>
          <td align="center" valign="middle" bgcolor="#009FFF" style="color: #FFF">Empresa</td>
          <td align="center" valign="middle" bgcolor="#009FFF" style="color: #FFF">Nombre</td>
      <td align="center" valign="middle" bgcolor="#009FFF" style="color: #FFF">Correo</td>
      <td align="center" valign="middle" bgcolor="#009FFF" style="color: #FFF">Ubicacion</td>
    <td align="center" valign="middle" bgcolor="#009FFF" style="color: #FFF">Tipo de falla</td>
               <td align="center" valign="middle" bgcolor="#009FFF" style="color: #FFF">Observaciones</td>
               <td align="center" valign="middle" bgcolor="#009FFF" style="color: #FFF">Status</td>
       </tr>    
<?php 
        
do { 
            
$empresa $row_rstipo['empresa'];
            
$sql "SELECT * FROM empresa WHERE id = $empresa";
            
$empres mysql_query($sql);
            
$row_empresa mysql_fetch_assoc($empres);
            
$nombre_empresa $row_empresa['nombre'];

            
$ubicacion $row_rstipo['ubicacion'];
            
$sql "SELECT * FROM ubicacion WHERE id = $ubicacion";
            
$ubi mysql_query($sql);
            
$row_ubicacion mysql_fetch_assoc($ubi);
            
$nombre_ubicacion $row_ubicacion['nombre'];

            
$status $row_rstipo['status'];
            
$sql "SELECT * FROM status WHERE id = $status";
            
$sta mysql_query($sql);
            
$row_status mysql_fetch_assoc($sta);
            
$nombre_status $row_status['nombre'];

            
$select1 $row_rstipo['select1'];
            
$sql ="SELECT opcion from select_1 WHERE id=$select1";
            
$s1 mysql_query($sql);
            
$row_select1 mysql_fetch_assoc($s1);
            
$nombre_select1 $row_select1['opcion'];

            
$select2 $row_rstipo['select2'];
            
$sql ="SELECT opcion from select_2 WHERE id=$select2";
            
$s2 mysql_query($sql);
            
$row_select2 mysql_fetch_assoc($s2);
            
$nombre_select2 $row_select2['opcion'];

            
$select3 $row_rstipo['select3'];
            
$sql ="SELECT opcion from select_3 WHERE id=$select3";
            
$s3 mysql_query($sql);
            
$row_select3 mysql_fetch_assoc($s3);
            
$nombre_select3 $row_select3['opcion'];

        
?>
          <tr> 
              <td><a href="check.php?ID=<?php echo $row_rstipo['id']; ?><?php $sql="UPDATE reporte  SET status=2 where id='$id' "?> ><img src="./imagenes/reporte.png" width="50" height="50" align ="right" /><center>Ver</center></a></td>
               <td align="center"><?php printf(" INC%04s",  $s);  ?><?php echo $row_rstipo['id']; ?></td> 
            <td align="center"><?php echo $nombre_empresa?></td>
            <td align="center"><?php echo $row_rstipo['nombre']; ?></td>
            <td align="right"><center><?php echo $row_rstipo['correo']; ?></center></td>
            <td align="center"><?php echo $nombre_ubicacion?></td>

            <td align="center" width="17%"><?php echo "-$nombre_select1<br> -$nombre_select2<br> -$nombre_select3"?></td>

             <td align="center"><?php echo $row_rstipo['observaciones']; ?></td>
            <td align="center"><?php echo $nombre_status?></td>
          </tr>
          <?php } while ($row_rstipo mysql_fetch_assoc($result)); ?>
</table>
                    
                    
                </div>
    

</body>
</html>
y esta es una foto de como se ve
  #2 (permalink)  
Antiguo 04/08/2014, 21:51
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ejecutar sentencia SQL en un HREF (no puedo)

Ningún código lo vas a poder ejecutar desde una HREF; así que desde ahí ya estás cometiendo errores.

El código lo debes ejecutar en algún punto del script, mediante lógica.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 05/08/2014, 02:28
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Respuesta: Ejecutar sentencia SQL en un HREF (no puedo)

Yo te diría que esa consulta que quieres hacer la hagas mediante Ajax, y nunca mostrando el código de la consulta de cara al "cliente" ya que podría usarse para inserción de códigos.

Yo haría lo siguiente.

ArchivoProceso.php
Código PHP:
Ver original
  1. <?php
  2. // Acceso a la base de datos
  3. // Recogida de datos $_POST
  4. $ID = $_POST['ID'];
  5. $Accion = $_POST['Acc'];
  6. // Switch con acciones
  7. switch($Accion){
  8.     case 'SEL':
  9.         // Acciones
  10.         echo 'Seleccionaste: ' .$ID; // Esto es la prueba, tendrias que cambiarlo por las consultas
  11.     break;
  12.     case 'UPD':
  13.         // Acciones
  14.         echo 'Actualizaste: ' .$ID;
  15.     break;
  16.     case 'INS':
  17.         // Acciones
  18.         echo 'Insertaste: ' .$ID;
  19.     break;
  20. }
  21. ?>


Función que llama a la actualización desde la "tabla":
Código Javascript:
Ver original
  1. function ActualizaCheck(Nid, Accion){
  2.     $.post('ArchivoProceso.php', {
  3.         ID : Nid,
  4.         Acc : Accion
  5.     }, function(data){
  6.         // Muestra un aviso
  7.         $('#Resultado').html(data);
  8.        
  9.         // Recargo el "contenedor"
  10.     });
  11. }


Sabiendo esto tendrías que ajustarlo para que cuando presiones en algún enlace/span/icono (esto ya a tu elección) llame a la función:
Código HTML:
Ver original
  1. <b onClick="ActualizaCheck('3', 'SEL')">Selección</b>

Ejemplo en funcionamiento: Enlace

Y como digo siempre, esto es un ejemplo, ahora te faltaría desarrollarlo para lo que necesitas.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net

Etiquetas: href, html, mysql, select, sentencia, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:50.