entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

como actualizar imagen por id con codigo PHP

hola amigo este mismo código quiero hacer las actualizaciones y verlo pero por id, del siguiente código:

<?php
error_reporting(0);
include("conexion.php");
sleep(1);
$image=$_POST["resim"];

$bra=mysqli_query($con,"update usuarios set foto='$image' where id='lugar de esto que tenga esto .... ".$_POST['id'].";"'");

if ($bra) {
    echo"foto tomada";
    } else {

    echo"foto no tomada";

}
?>

Leonardo-Tadei comentado Abr 17

Hola @numero2222,

por el ID de qué? En tu código anterior no aparece ningún ID, salvo los ID de los elementos HTML.

Es el ID de una tabla? Cuál es la estructura de las tablas que estás usando?

numero2222 comentado Abr 18

si tengo una base de datos con registros en ella que es la siguiente:

id: matricula : nombre: grupo: grado: imagen
 1: 342324324 : vero      a       1     hdkskdkskkd
2: 34534553453: Luis      b        1     jsdjhsjhcjhsjh

este es la tabla lo que quiero es que id que yo requiero por ejemplo id =1 sea de vero pero por php no por letra, no se si me expreso bien lo que quiero decir.

numero2222 comentado Abr 18

y este es el código de webcam :

<!DOCTYPE html >
<html >
<head>
<style>
#resimler img{

height:335px;
width:280px;

}
canvas {
    opacity:0;
    }
video {
    border: 2px solid #999 height:345 width:290 ;
    padding:0px;}
</style>

<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>

<script>

window.URL=window.URL || window.webkitURL;
var video=document.getElementById("cam");

    navigator.getUserMedia=navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || msGetUsermedia;
    if(navigator.getUserMedia){

        navigator.getUserMedia({audio:false,video:true},function(stream){

        document.getElementById("cam").src=window.URL.createObjectURL(stream);
        document.getElementById("cam").play();
        console.log(stream);

        document.querySelector("button").addEventListener("click",function () {
            document.getElementById("canvas").getContext("2d").drawImage(document.getElementById("cam"),0,0,335,280);
            document.getElementById("resim").src=document.getElementById("canvas").toDataURL("image/png");

var resimyolu=document.getElementById("resim").src;

    $(document).ready(function(){ 

        $.post("post.php",{resim:resimyolu},function (data) {
        alert(data);

                });

            });

            });

        },function(error){alert(error);});

        } else {
        alert("dkhdkkskdkds");
        }

</script>
<meta charset="utf-8">
<title>Webcam</title>

</head>

<body>

<video id="cam" src="" height="335" width="280"></video><canvas height="335" width="280" id="canvas"></canvas><button>tomar foto </button> <img id="resim" n src="" height="335" width="280" />
</body>
</html>

2 Respuestas

2votos

gerko23 Puntos1380

Hola @numero2222, supongo que cuando dices ID te refieres a al ID que se va a actualizar, pues no veo como es que lo ver o leer pero suponiendo por el update te puede quedar asi:

"UPDATE usuarios SET imagen ='$imagen' WHERE id = ".$_POST['ID']." ";
  if(mysql_affected_rows() > 0)
  {
    echo "si";
   }else{
          "no";
         }

luego con otra consulta puedes leer las filas porque ya tienes el id en el

$_POST

numero2222 comentado Abr 18

si tengo una base de datos con registros en ella que es la siguiente:

id: matricula : nombre: grupo: grado: imagen
 1: 342324324 : vero      a       1     hdkskdkskkd
2: 34534553453: Luis      b        1     jsdjhsjhcjhsjh

este es la tabla lo que quiero es que id que yo requiero por ejemplo id =1 sea de vero pero por php no por letra, no se si me expreso bien lo que quiero decir.

numero2222 comentado Abr 18

y este es el código de webcam :

<!DOCTYPE html >
<html>
<head>
<style>#resimler img{height:335px;width:280px;}canvas{opacity:0;}video{border:2px solid #999 height:345 width:290;padding:0px;}</style>

<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>

<script>

window.URL=window.URL || window.webkitURL;
var video=document.getElementById("cam");

    navigator.getUserMedia=navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || msGetUsermedia;
    if(navigator.getUserMedia){

        navigator.getUserMedia({audio:false,video:true},function(stream){

        document.getElementById("cam").src=window.URL.createObjectURL(stream);
        document.getElementById("cam").play();
        console.log(stream);

        document.querySelector("button").addEventListener("click",function () {
            document.getElementById("canvas").getContext("2d").drawImage(document.getElementById("cam"),0,0,335,280);
            document.getElementById("resim").src=document.getElementById("canvas").toDataURL("image/png");

var resimyolu=document.getElementById("resim").src;

    $(document).ready(function(){ 

        $.post("post.php",{resim:resimyolu},function (data) {
        alert(data);

                });

            });

            });

        },function(error){alert(error);});

        } else {
        alert("dkhdkkskdkds");
        }

</script>
<meta charset="utf-8">
<title>Webcam</title>

</head>

<body>

<video id="cam" src="" height="335" width="280"></video><canvas height="335" width="280" id="canvas"></canvas><button>tomar foto </button> <img id="resim" n src="" height="335" width="280">
</body>
</html>

3votos

Leonardo-Tadei Puntos208250

Hola @numero2222,

con estos datos en las tablas, lo que tenés que hacer es ampliar tu script de la webcam para que tenga el ID del alumno.

Si fuera el caso que el alumno está ingresando al sistema, podrías sacarlo de la variable de sesión que mantiene la conexión por ejemplo, o hacer una query al momento de cargar esta página con los datos del usuario.

Si fuera el caso de que hay un administrador que está actualizando las fotos, tendrías que darle algún mecanismo para que seleccione al alumno de la DB al que corresponde la imagen, y sacar el ID de ahí.

Lo anterior depende de cómo se llega a esta página y quién lo hace...

En ambos casos, luego debés enviar además de la imagen este ID por POST a tu script, para que puedas saber a qué alumno corresponde y actualizar el dato corecto.

PD: para qué hay un sleep(1) en tu código PHP??? Al revés de la mayoría de los programadores, querés que funcione más lento?

numero2222 comentado Abr 18

pues es un administrador que controla esa funciones de los alumnos modificar las fotos de cada registro, pero en caso de eso ando confundido con JavaScript.

Leonardo-Tadei comentado Abr 18

Hola @numero2222,

no es para tanto... tu código está bien encaminado.

Siendo que esto lo va a usar un adminsitrador, te hace falta algún mecanismo para que este administrador seleccione previamente al alumno del que va a editar la foto. Cómo esta parte necesita acceso a la DB funcionará en PHP del lado del servidor.

Hay varias formas de seleccionar datos: desde un simple select con los nombres de los alumnos o búsquedas incrementales o eligiéndolo en la pantalla anterior y luego llegando a esta, etc.

En cualquier caso, mediante el mecanismo que sea, vas a obtener de alguna manera el ID del alumno correspondiente.

Supongamos que los alumnos están en un SELECT html con esta forma:

...
<select id="alumno" name="alumno">
  <option value="1">342324324 - vero</option>
  <option value="2">34534553453 - Luis</option>
  ...
</select>
...

Luego, en el click del botón, bastaría leer el valor del SELECT y agregarlo como parámetro POST a la llamada, por ejemplo así:

...
var resimyolu=document.getElementById("resim").src;
var idalu=$('alumno').val(); // asigna el ID seleccionado
...
$.post("post.php",{resim:resimyolu,id:idalu},function (data) {
...

Entonces en post.php recibís 2 valores, resim y id, y con el valor del ID sabés la imagen de qué registro estás modificando.

Saludos cordiales!

numero2222 comentado Abr 18

muchas gracias amigo, funciono completo y no se si puedo pasar aquí la solución que resolví ???

Leonardo-Tadei comentado Abr 18

Claro que sí! El código que funciona siempre es bienvenido!

Poné la porción de código con la solución como un comentario aquí abajo, así el tema queda cerrado y el código sirve de referencia para otros. Gracias por compartir.

numero2222 comentado Abr 18

hola amigo de nuevo las molestia ahora no funciona todo esto en un hosting, me meto en el sitio web y me muestra un aviso dice asi : "esta pagina esta cargando secuencias de fuentes no autorizadas ". esto en el area de webcam de foto..

Leonardo-Tadei comentado Abr 18

Danos el enlace para verlo... también puede que nos haga falta ver el código fuente entero y la empresa de hosting, para ver que puede ser, pero en cualquier caso este asunto correspondería para una nueva pregunta, porque este problema no tiene que ver con lo que estás preguntando acá.

numero2222 comentado Abr 18

ya lo resolvi jeje solo le puse en el link https y no tenia asi lo tenia http :D gracias amigo pero ahora ando batallando como actualizar una pagina la imagen y se redireccione a otra pagina este es el código :

<?php 
    include "Datos/conexion.php";
?>

<?php
require '../../funciones/funciones.php';
if(! haIniciadoSesion() || ! esAdmin())
{
    header("Location: ../index.html");

}

conectar();
desconectar();
?>

<?php

            $con=mysqli_connect($server,$username,$password,$db);
            $re = mysqli_query($con,"select * from alumnos where id = ".$_GET['Foto'].";");
            while ($f=mysqli_fetch_array($re)){
            $url=$f['imagen'];
                ?>
                <script language="JavaScript" type="text/javascript">

var pagina="https://melcorp.com.mx/bienvenidoAdmin/Consul_Alumnos/Consulta_Alumnos.php"
function redireccionar() 
{
location.href=pagina
} 
setTimeout ("redireccionar()", 6000);

</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel=alternate media=print href="reporte.php">

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title><?php echo $f['imagen'] ?></title>
 <link href="../css/bootstrap.min.css" rel="stylesheet">

<style type="text/css">
<!--
body {

margin-top:100px;
margin-right:500px;

}
.image {

position: relative;
width:100%;
margin-left:500px;
margin-top:200px;
}
.boton {

position: relative;
margin-left:580px;
margin-top:10px;
}

-->
</style>
</head>

<body>

<div class="image">
<?php 
                    echo

                    "

                    <img src=".$url." width=\"280\" height=\"335\" alt=\"\" />

                    " ?>;

</div>
<div><a href="tomarfoto/webcam.php?Tomar=<?php echo $f['id']?>" type="button" class="btn btn-primary boton" > <i class='glyphicon glyphicon-camera'></i>&nbsp; Tomar Foto</a></div>

</body>
</html>
<?php } ?>

Leonardo-Tadei comentado Abr 18

Hola @numero2222,

esa es, sin dudas, otra pregunta.

Plantealo como una pregunta nueva, así entre todos ayudamos a tener organizado EntreDesarrolladores.

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Actividad Reciente

¿Eres Usuario Apple?

...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta