Foros del Web » Programando para Internet » PHP »

Inconveniente mientras inserto en bd mysql con php

Estas en el tema de Inconveniente mientras inserto en bd mysql con php en el foro de PHP en Foros del Web. Cordial saludo, Tengo 2 botones, uno consecutivo del anterior, que al pulsar el primero guarda un valor en una bd, luego me muestra el segundo ...
  #1 (permalink)  
Antiguo 13/09/2016, 10:00
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 13 años, 6 meses
Puntos: 0
Inconveniente mientras inserto en bd mysql con php

Cordial saludo,

Tengo 2 botones, uno consecutivo del anterior, que al pulsar el primero guarda un valor en una bd, luego me muestra el segundo para hacer lo mismo en el mismo registro

Quiero que cuando dos personas o más lo presionen al tiempo, se le asigne un id independiente para cada uno y no exista cruce, es decir, que el dato de la persona2 no se ingrese en el registro con id de la persona1.

Es algo como lo siguiente:

Código HTML:
<article id="sexo">
 <br>
      <h2>Seleccione su Género</h2>     
      <br>
	  <div class="center">
	  <button class="boton anaranjado formaBoton" id="masculino" title="Masculino">Masculino</button>
	  <button class="boton anaranjado formaBoton" id="femenino" title="Femenino">Femenino</button>
	  </div>
</article>
<article id="servicios">
<br>
<h2>Seleccione el Servicio por el que fue atendido</h2>     
<br>
        <div class="center>
        <button class="boton anaranjado formaBoton" id="inscripcion" title="Inscripción/Selección/Admisión">Inscripción/Selección/Admisión</button>
       <button class="boton anaranjado formaBoton" id="matricula" title="Matrícula Financiera/Académica">Matrícula Financiera/Académica</button>
       <button class="boton anaranjado formaBoton" id="certificados" title="Certificaciones">Certificaciones</button>
       <button class="boton anaranjado formaBoton" id="grados" title="Proceso de Grado">Proceso de Grado</button>
       </div>
	</article> 
Código PHP:
if ($action == "masc") {
$consulta="SELECT * FROM encuesta";
$resultado mysql_query($consulta,$link)or die(mysql_error());
$sihaymysql_num_rows($resultado);
if(
$sihay 0){
    
$idsex=31;
    
$hora date("H:i:s a");
    
$fecha date("Y-m-d");
    
$insertar="INSERT INTO encuesta (idsexo,fechacreac,horacreac) VALUES ('".$idsex."','".$fecha."','".$hora."')";
    
mysql_query($insertar,$link)or die(mysql_error());
}
else{
$consultatotalmasculino="SELECT * FROM encuesta ORDER BY idencuesta DESC";
$resultadototalmasculino mysql_query($consultatotalmasculino,$link)or die(mysql_error());
$filamasc=mysql_fetch_array($resultadototalmasculino);
$idmasc $filamasc['idencuesta'];
 
$totalmasculinofilas mysql_num_rows($resultadototalmasculino);
      if (
$totalmasculinofilas 0){
        
$m=31;
        
$hora date("H:i:s a");
        
$fecha date("Y-m-d");
        
$contarmasculino="UPDATE encuesta SET idsexo='$m',fechacreac='$fecha',horacreac='$hora' where idencuesta='$idmasc'";
        
mysql_query($contarmasculino,$link)or die(mysql_error());
}
else
{
        
$m=31;
        
$insertmasculino="INSERT INTO encuesta (idsexo) VALUES ('".$m."')";
mysql_query($insertmasculino,$link)or die(mysql_error());
}
}        
}
if (
$action == "fem") {
$consulta="SELECT * FROM encuesta";
$resultado mysql_query($consulta,$link)or die(mysql_error());
$sihaymysql_num_rows($resultado);
if(
$sihay 0){
    
$idsex=32;
    
$hora date("H:i:s a");
    
$fecha date("Y-m-d");
    
$insertar="INSERT INTO encuesta (idsexo,fechacreac,horacreac) VALUES ('".$idsex."','".$fecha."','".$hora."')";
    
mysql_query($insertar,$link)or die(mysql_error());
    
}
else{
$consultatotalfemenino="SELECT * FROM encuesta ORDER BY idencuesta DESC";
$resultadototalfemenino mysql_query($consultatotalfemenino,$link)or die(mysql_error());
$filafem=mysql_fetch_array($resultadototalfemenino);
$idfem $filafem['idencuesta'];
 
$totalfemeninofilas mysql_num_rows($resultadototalfemenino);
      if (
$totalfemeninofilas 0){
        
$f=32;
        
date_default_timezone_set('America/Bogota');
        
$hora date("H:i:s a");
        
$contarfemenino="UPDATE encuesta SET idsexo='$f',fechacreac='$fecha',horacreac='$hora' where idencuesta='$idfem'";
        
mysql_query($contarfemenino,$link)or die(mysql_error());
}
else
{
        
$f=32;
        
$insertfemenino="INSERT INTO encuesta (idsexo) VALUES ('".$f."')";
mysql_query($insertfemenino,$link)or die(mysql_error());
}
}        

Les agradezco su aporte ;)
  #2 (permalink)  
Antiguo 13/09/2016, 14:29
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 11 años, 4 meses
Puntos: 46
Respuesta: Inconveniente mientras inserto en bd mysql con php

Se me ocurre "reservar la row" osea desde el momento en que alguien ingresa al form se insert por lo menos el ID en la DB y ya quede reservado para esa persona, la otra es crear el ID de manera aleatoria para cada registro, dudo que se te puedan cruzar dos registros asi
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #3 (permalink)  
Antiguo 16/09/2016, 15:24
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años, 7 meses
Puntos: 8
Respuesta: Inconveniente mientras inserto en bd mysql con php

existe la función mysql_insert_id que te devuelve el ID generado por el ultimo insert. (al presionar el primer botón).
Quizas puedas guardar ese valor en un hidden y al presionar el segundo botón captures ese valor del hidden, al capturar ese valor ya no usarías un insert sino un update.

Etiquetas: inserción, mysql
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 11:14.