Como filtrar imagens visualmente e atualizar status no DB

  • Autor Autor Oliver Hakim
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
Oliver Hakim

Oliver Hakim

Beta
Verificación en dos pasos activada
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Hola que tal,

Les explico un poco lo que quiero hacer, a una pagina llegan imágenes via web (como aportaciones), estas se guardan en una base de datos en las columnas imagen, usuario y status, el valor por defecto del status es pendiente y cuando cambia a aprobado entonces se publican en automático.

Antes eran pocas imágenes y se hacia manualmente desde la db, ahora quiero ver como armar un editor visual (sin diseño) para que por medio de un check o un boton pueda cambiar el status de la db a aprobado, llamo editor visual ya que se tiene que ver la imagen para saber si se aprueba o no.

Gracias de antemano por la ayuda.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Pues es fácil, solo obtén de la db todas las imágenes que tengan el status pendiente, ya ahí haces un update a las imágenes que quieras que estén publicadas.
 
Como menciona kanikase haz un llamado a la base de datos para mostrar las imagenes en pendiente, lo puedes poner por ejemplo con un checkbox, das clic en todas las aprobadas y las actualizas.

Saludos
 
Como menciona kanikase haz un llamado a la base de datos para mostrar las imagenes en pendiente, lo puedes poner por ejemplo con un checkbox, das clic en todas las aprobadas y las actualizas.

Saludos

PHP:
if ($row["status"] == "pendiente") {
            echo '<div style="float:left;width:70%;"><img src="images/'.$row["imagen"].'" width="200px" /></div>';
            echo '<div style="float:right;width:20%;"><input type="submit" value="aprobado" name="aprobado"></div>';
            if(isset($_POST['aprobado'])){
                $aprobar="UPDATE images SET status = 'aprobado' WHERE id = '$a'";
                if (isset($_POST["aprobado"]))
                {
                    $aprobar="UPDATE images SET status = 'aprobado' WHERE id = '$a'";
                    $result3 = $conexion->query($aprobar);
                }
            }
        }

Estoy en esto, pero no me actualiza, la variable"$a" me saca los ids mediante un for dependiendo del numero de rows que saque anteriormente, lo quiero hacer en la misma pagina si es posible. Gracias de antemano.
 
PHP:
if ($row["status"] == "pendiente") {
            echo '<div style="float:left;width:70%;"><img src="http://forobeta.com/images/'.$row["imagen"].'" width="200px" /></div>';
            echo '<div style="float:right;width:20%;"><input type="submit" value="aprobado" name="aprobado"></div>';
            if(isset($_POST['aprobado'])){
                $aprobar="UPDATE images SET status = 'aprobado' WHERE id = '$a'";
                if (isset($_POST["aprobado"]))
                {
                    $aprobar="UPDATE images SET status = 'aprobado' WHERE id = '$a'";
                    $result3 = $conexion->query($aprobar);
                }
            }
        }

Estoy en esto, pero no me actualiza, la variable"$a" me saca los ids mediante un for dependiendo del numero de rows que saque anteriormente, lo quiero hacer en la misma pagina si es posible. Gracias de antemano.

Mira lo que yo haria es poner cada imagen con un checkbox y con un limite de 10 si son muchos, el checkbox pasarlo como un array en el form.

asi no tengo que ir uno por uno

Saludos
 
Mira lo que yo haria es poner cada imagen con un checkbox y con un limite de 10 si son muchos, el checkbox pasarlo como un array en el form.

asi no tengo que ir uno por uno

Saludos

Me ayudarías con el código o una referencia para hacerlo
 
Con el codigo que tienes se puede hacer, pero tienes que revisar que te lleguen todos los datos

no se por que revisas dos veces isset($_POST['aprobado']

Saludos
 
Con el codigo que tienes se puede hacer, pero tienes que revisar que te lleguen todos los datos

no se por que revisas dos veces isset($_POST['aprobado']

Saludos

Fue error de copiado, ya lo quite eso, pero como saco lo de los checkbox
 
Fue error de copiado, ya lo quite eso, pero como saco lo de los checkbox

Mira este ejemplo!

PHP:
if(isset($_POST['aprobar']) && !empty($_POST['aprobar'])){
	foreach($_POST['aprobar'] as $id){
		$update = 'UPDATE images SET status = "aprobado" WHERE id = '.$id;
		$result3 = $conexion->query($update);
	}
}

$sql = 'SELECT * FROM images WHERE status = "pendiente"';
if(($res = $conexion->query($sql)) && ($res->num_rows > 0)){
	echo '<form action="" method="post">';
    while($row = $res->fetch_array(MYSQLI_ASSOC)){
		echo '<div style="float:left;width:70%;"><img src="images/'.$row['imagen'].'" width="200px"/></div>';
		echo '<div style="float:right;width:20%;"><input type="checkbox" name="aprobar[]" value="'.$row['id'].'"/></div>';
    }
	echo '<input type="submit" value="Aprobar todos!">';
	echo '</form>';
}
 
Última edição:
Mira este ejemplo!

PHP:
if(isset($_POST['aprobar']) && !empty($_POST['aprobar'])){
	foreach($_POST['aprobar'] as $id){
		$update = 'UPDATE images SET status = "aprobado" WHERE id = '.$id;
		$result3 = $conexion->query($update);
	}
}

$sql = 'SELECT * FROM images WHERE status = "pendiente"';
if(($res = $conexion->query($sql)) && ($res->num_rows > 0)){
	echo '<form action="" method="post">';
    while($row = $res->fetch_array(MYSQLI_ASSOC)){
		echo '<div style="float:left;width:70%;"><img src="http://forobeta.com/images/'.$row['imagen'].'" width="200px"/></div>';
		echo '<div style="float:right;width:20%;"><input type="checkbox" name="aprobar[]" value="'.$row['id'].'"/></div>';
    }
	echo '<input type="submit" value="Aprobar todos!">';
	echo '</form>';
}

Me sirvio de maravilla, mi problema era con los $_POST y los isset, tendre que darle una leida a fondo. Agregue tambien otro checkbox para rechazar ya que actualizaba y me aparecian los mismos que quedaban en pendiente, asi con el nuevo checkbox ya no aparecen mas.

Gracias, te debo una [MENTION=1597]YeltsinGraphs[/MENTION] y a todos los que dejaron si comentario.
 
[MENTION=133148]tuitero[/MENTION] que bueno que te funciono man! :encouragement:
 
Voltar
Topo