UPDATE de un sólo usuario partiendo de su User y Password
Tras haber probado y gastado tiempo no consigo hacer una cosa que creo debe de ser simple.
Tengo una db alumnos y tabla llamada socios, con un SELECT, con las variables ususario y clave consigo pedir los datos o tantos campos que ese registro tenga,
Este es el código que procede de un sencillo formulario html dónde cada uno pone su usuario y contraseña. action= "consultadata"
Archivo php "consultadata"
¿<?php
include ("conection.php");
$usuario = $_POST["usuario"];
$clave = $_POST["clave"];
$consulta = "SELECT Situacion, Nombre, Apellido1, Apellido2, Conyuge, email, cc, Alumno1, Alumno2, Alumno3, Alumno4, Alumno5, Telf1, Telf2, Telf3, Dirección, observaciones FROM socios WHERE usuario='".$usuario."' and clave='".$clave."'";
$resultado = mysql_query($consulta,$conn);
##echo $consulta ;
$filas = mysql_num_rows($resultado);
if ($filas >= 1)
{
echo "<html><head><title>tus datos</title></head>";
echo "<body><h1>Eres asociado a nuestra organización, aquí puedes ver tus datos etc...</h1><br><br>";
echo date("d-m-Y");
while($fila = mysql_fetch_array($resultado,MYSQL_ASSOC))
{
echo
"Situacion :{$fila['Situacion']} <br>" .
"Nombre :{$fila['Nombre']} <br>" .
etc...
Esto es lo que no consigo hacer
Aunque si he conseguido editar todos los campos de la tabla con 3 archivos;
PRIMER ARCHIVO: LISTAR.php
¿<?php
include ("../../conection.php");
mysql_query("SET NAMES 'utf8'");
$ssql = "select idsocio, Situacion, Apellido1, Apellido2, from `socios` ORDER BY `Apellido1` ASC";
$rs_socios = mysql_query($ssql);
while($fila = mysql_fetch_array($rs_socios)){
echo '[<a href="updatesocio.php?id=' . $fila["idsocio"] . '">Editar</a>] ';
echo $fila["Situacion"] . ' ' . $fila["Apellido1"] .' '. $fila["Apellido2"] . "<br>";
}
mysql_close($dbhost);
¿?>
Este script nos reporta toda la tabla con todos los socios junto al campo link editar.
Seleccionamos uno y los datos quedan ubicados en cada campo en un formulario en un archivo con códico mixto; PHP - HTML
SEGUNDO ARCHIVO: "updatesocio"
¿<?php
include ("../../conection.php");
$idsocio = $_GET["id"]; //esto es lo que no tengo claro, si a de ser GET o quizás POST y si tengo que utilizar necesariamente el campo idsocio???
$ssql = "select * from `socios` where idsocio=" . $idsocio;
$socio_editar =mysql_query($ssql);
$fila = mysql_fetch_object($socio_editar);
?>
le sigue el script normal de un formulario en html;
<p>
<form action="updatesocio2.php" method="post">
<input type="hidden" name="idsocio" value="<?php echo $idsocio;?>">
</p>
<input name="Situacion" type="text" class="camposuser" value="<?php echo $fila->Situacion;?>" size="3" maxlength="2">
<p>Nombre<br />
<input type="text" name="Nombre" class="campos" value="<?php echo $fila->Nombre;?>">
<br />
Apellido1:<br>
<input type="text" name="Apellido1" class="campos" value="<?php echo $fila->Apellido1;?>">
<br />
Apellido2<br>
<input type="text" name="Apellido2" class="campos" value="<?php echo $fila->Apellido2;?>">
<br /> etc...
<input type="submit" value="Modificar Datos">
TERCER Y ÚLTIMO: "updatesocio2.php"
<?php
include ("conection.php");
$ssql = "UPDATE socios set ";
$ssql .="Situacion='" .$_POST["Situacion"] . "', ";
$ssql .="Nombre='" .$_POST["Nombre"] . "', ";
$ssql .="Apellido1='" .$_POST["Apellido1"] . "', ";
$ssql .="Apellido2='" .$_POST["Apellido2"] . "', "; // etc..
$ssql .= "where idsocio=" . $_POST["idsocio"];
if(mysql_query($ssql)) {
echo "Socio actualizado con éxito";
}else {
echo "Error ha habido algún problema";
}
?>
<br>
<br>
<a href="listar.php">Volver y seleccionar otro socio</a>
<?php
mysql_close($dbhost);
?>
Agredecería de corazón quien me pueda ayudar, lo que me gustaría hacer que un usuario cuando introduzca su usuario y contraseña saldrá la pantalla con sólo sus únicos datos. ¿Cómo puedo en este misma pantalla colocar un enlace de "Editar sus datos" y se abra otra ventana con el formulario y dentro de los campos sus datos para que pueda modificarlos?
¿Podría prescindir del campo idsocio y utilizar en la búsqueda los campos usuario y contraseña?
Lo que ya tengo hecho es una selección y edición múltiple de toda la tabla, lógicamente esto no me vale ya que el socio además de ver a otros podría modificarlos, sólo me ha de salir el suyo en cuestión partiendo la búsqueda de los campos usuario y contraseña ubicados en la misma fila de la tabla. (