PHP - funcion JS en echo PHP

 
Vista:
sin imagen de perfil
Val: 470
Bronce
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Alejandro (160 intervenciones) el 18/05/2020 14:21:05
hola,

me gustaria saber como meter una funcion JavaScript en un echo de PHP, mi codigo es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
 
	<head>
 
        <meta name="robots" content="noindex">
	      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link href="style_propio.css" rel="stylesheet" type="text/css" />
        <script src="funcion_mostrar.js"></script>
 
 
        <title>Mi pagina</title>
 
  </head>
 
<?php
 
            echo"
            <p>
                <label>¿Actualmente trabaja?</label><input type='radio' name='trabaja' value='Si' onchange='";?><script> divRadioTrabaja(this.value)</script><?php echo"'>Si<input type='radio' name='trabaja' value='No' onchange='";?><script>divRadioTrabaja(this.value)</script><?php echo"' checked>No
            </p>
            <p>
                <div id='lugarTrabaja'>
                    <label>¿Donde?</label><input type='text' name='lugarTrabaja'>
                </div>
            </p>";
 
 
 
?>

Lo que hace la funcion es mostrar el div de abajo si la respuesta en el radio button es si.

Pero no muestra el div...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Julio (830 intervenciones) el 18/05/2020 15:58:38
Hola.

Sencillo, no salgas de PHP. El script es texto al fin y al cabo, "imprímelo" junto a la cadena. Es decir, antes del script quita "?> y después del script quita <?php echo" para meter al script en la cadena al igual que metes el código HTML.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 470
Bronce
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Alejandro (160 intervenciones) el 19/05/2020 09:44:02
Lo he dejado asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
 
	<head>
 
        <meta name="robots" content="noindex">
	      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link href="style_propio.css" rel="stylesheet" type="text/css" />
        <script src="funcion_mostrar.js"></script>
 
 
        <title>Mi pagina</title>
 
  </head>
 
<?php
 
            echo"
            <p>
                <label>¿Actualmente trabaja?</label><input type='radio' name='trabaja' value='Si' onchange='<script> divRadioTrabaja(this.value)</script>'>Si<input type='radio' name='trabaja' value='No' onchange='<script>divRadioTrabaja(this.value)</script>' checked>No
            </p>
            <p>
                <div id='lugarTrabaja'>
                    <label>¿Donde?</label><input type='text' name='lugarTrabaja'>
                </div>
            </p>";
 
 
 
?>

pero nada...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Julio (830 intervenciones) el 19/05/2020 09:53:46
Ups, no me había fijado en un detalle. En el onchange no debes poner <script>. Mira, un ejemplo:

1
2
3
4
5
6
7
Enter some text: <input type="text" name="txt" value="Hello" onchange="myFunction(this.value)">
 
<script>
function myFunction(val) {
  alert("The input value has changed. The new value is: " + val);
}
</script>

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 470
Bronce
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Alejandro (160 intervenciones) el 19/05/2020 10:05:29
Le he quitado el <script></script> pero nada, sigue igual :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Julio (830 intervenciones) el 19/05/2020 10:47:32
Cuando visualizas la página y le das al inspector, ¿el HTML te lo imprime bien? Si es así, mira a ver si en la pestaña de la consola te aparece algún error de JavaScript, porque ya tiene pinta de que es eso.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 470
Bronce
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Alejandro (160 intervenciones) el 19/05/2020 11:12:11
No aparece ningun error en la consola y el html me lo muestra bien. Igual es un error mio de planteamiento.... El caso es que cuando cambio de valor en el radio button de NO a SI, si que me muestra los divs correspondientes. Pero cuando el valor sale como Si al cargar la pagina no me muestra el div, es evidente puesto que es cuando cambia el valor cuando se muestra.

Como podria mostrar los divs al cargar la pagina si el valor del button es SI?? Con PHP??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Julio (830 intervenciones) el 19/05/2020 11:15:41
A ver si te he entendido. ¿Entonces te funciona? O sea, si pasas de no a sí y te sí a no, te funciona. Entonces está correcto, porque hace lo que quieres (onchange al final se ejecuta cuando se cambia el valor). Si quieres hacer algo al cargar la página, tendrás que añadir el código JavaScript necesario que, cuando cargue la página, compruebe inicialmente si es sí o no y muestre el div que quieres. O incluso si tienes ese sí o no almacenado en PHP, utilízalo con PHP en un simple if para que lo imprima o no dependiendo de la carga inicial.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 470
Bronce
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Alejandro (160 intervenciones) el 19/05/2020 11:22:02
Si que me funciona en los cambios tanto de SI a No como de No a SI. El problema es que los SI y los NO no los almaceno en la base de datos, solo el dato de los div. Entonces yo lo que hago es lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
if(empty($donde_trabaja)){
 
    echo"
    <p>
        <label>¿Actualmente trabaja?</label><input type='radio' name='trabaja' value='Si' onchange='divRadioTrabaja(this.value)'>Si<input type='radio' name='trabaja' value='No' onchange='divRadioTrabaja(this.value)' checked>No
    </p>
        <div id='lugarTrabaja'>
            <label>¿Donde?</label><input type='text' name='lugarTrabaja'>
        </div>";
 
}else{
 
    echo"
    <p>
        <label>¿Actualmente trabaja?</label><input type='radio' name='trabaja' value='Si' onchange='divRadioTrabaja(this.value)' checked>Si<input type='radio' name='trabaja' onchange='divRadioTrabaja(this.value)' value='No'>No
    </p>
        <div id='lugarTrabaja'>
            <label>¿Donde?</label><input type='text' value='$donde_trabaja' name='lugarTrabaja'>
        </div>";
}

Ves le digo que si esta lleno la variable $lugar_trabaja me muestre el dato del div con valor o sin valor, dependiente si es un SI o un NO, pero ademas quiero que si es SI me muestre el div al cargar la pagina. Igual me estoy liando con algo muy simple xD
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 470
Bronce
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Alejandro (160 intervenciones) el 19/05/2020 11:24:55
El problema esta en que creia que la funcion iba a ir correctamente estableciendo checked al input radio, pero veo que no...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Julio (830 intervenciones) el 19/05/2020 11:30:25
A ver, si desde un principio el valor es SÍ o el valor es NO, lo tendrás almacenado en algún sitio en PHP, ¿no?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 470
Bronce
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Alejandro (160 intervenciones) el 19/05/2020 12:31:29
Lo tengo almacenado en la pagina donde valido los datos del primer formulario, el que hace INSERT INTO.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Julio (830 intervenciones) el 19/05/2020 13:20:17
Pero veo que haces un if para mostrar si lo pones con un SÍ o lo pones con un NO, ¿verdad? Simplemente cuando lo pongas con un SÍ muestra el div y cuando lo pones con un NO pon en el div el style="display: none;" (o como tengas definido el que no se muestre).

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 470
Bronce
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Alejandro (160 intervenciones) el 19/05/2020 14:24:37
Claro eso lo hago con la funcion divRadioTrabaja(), el problema esta en que cuando carga la pagina del formulario que modifica los datos, el valor puede estar directamente en SI y quiero que cuando cargue la pagina si esta en SI, muestre directamente el div.
Lo he intendado haciendo onload con esta funcion:

1
2
3
4
5
6
7
8
9
10
11
function divsModificar(){
 
	var buttonTrabaja = document.getElementById("trabaja");
 
	if(buttonTrabaja.value=="Si"){
 
		document.getElementById("lugarTrabaja").style.display="block";
 
	}
 
}

Pero sin resultado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Julio (830 intervenciones) el 19/05/2020 14:35:17
A ver, o yo no te entiendo o tú no me entiendes a mí. Si tienes algo así:

1
2
3
4
5
if ($valor) {
   echo '<div>Valor SÍ</div>';
} else {
    echo '<div>Valor NO</div>';
}

Lo único que tienes que hacer es:

1
2
3
4
5
if ($valor) {
   echo '<div>Valor SÍ</div>';
} else {
    echo '<div style="display: none;">Valor NO</div>';
}

¿No? O eso o me estoy perdiendo. Luego ya controlas con JavaScript que aparezca o desaparezca ese div, pero si sabes de antemano si su valor es sí o no, simplemente imprímelo escondido o no de antemano, ¿no?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 470
Bronce
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Alejandro (160 intervenciones) el 19/05/2020 14:52:39
Eso es lo que tengo, ese div esta oculto por defecto en el archivo CSS que tengo. Si la condicion no es el problema, yo hago un SELECT a la tabla donde guardo estos datos con una consulta prepara. En esa consulta utilizo las variables de la funcion "mysqli_stmt_bind_result" y luego hago un while(mysqli_stmt_fetch()) donde dentro muestro esa condicion con el echo. El problema esta en que no guardo los SI o los NO en la base de datos, entonces no puedo usar un valor Si o un valor No y utilizo lo que te he mostrado..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 470
Bronce
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Alejandro (160 intervenciones) el 19/05/2020 15:16:02
Te recapitulo, yo tengo un formulario donde hago INSERT a la bd. En el caso que te he presentado estoy en otro formulario que hace UPDATE a la bd. Y a este formulario accedo desde un boton en el primer formulario. Entonces los valores del INPUT RADIO pueden estar checked directamente en SI. Y cuando eso pasa quiero que se muestre directamente el div que tiene abajo, puesto que ese div SOLO se muestra cuando input radio es SI, cuando es NO no se muestra.

Por la tanto, el problema que tengo es que si hay un input button directamente en SI, no muestra el div al cargar la pagina. Pero cuando cambio los valores despues de cargar ESTE formulario si que lo hace.

Me entiendes mejor??? Perdona si no soy todo lo claro que podria ser xD Es dificil decirlo por aqui escrito....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Julio (830 intervenciones) el 19/05/2020 15:34:45
Creo que te estás liando en una cosa. No importa que no tengas el SÍ o el NO guardados en la base de datos, importa que tengas ese SÍ o ese NO en el momento en que vas a imprimir los divs y, por lo que entiendo que me comentas, eso lo tienes (te lo da el botón ese del primer formulario o algo así, la cuestión es que tienes un sitio que te dice SÍ o NO).

Veo que indicas que ocultas el div desde el CSS, ¿verdad? Entonces siempre te aparecerá el div oculto por defecto. Aquí estás trabajando de forma dinámica, por lo que vuelve a mirar mi ejemplo de antes. Estoy poniéndole directamente al div el style="display: none", sin que esté en un archivo CSS. Es que si la ocultación está en un archivo CSS va a ser siempre oculto pase lo que pase, y si quieres que de primeras no esté oculto, quita la ocultación desde el CSS y ponla directamente cuando imprimes el div dependiendo de si tienes un SÍ o un NO.

¿Ahora sí? Jaja.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 470
Bronce
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Alejandro (160 intervenciones) el 20/05/2020 10:46:45
Pero el boton modificar del primer formulario no le envia al segundo los datos, sino que simplemente es un enlace al segundo formulario y por lo tanto no le envia esos SI y NO, entonces no puedo recorger esos datos. A no ser que se pueda llamar en la pagina del segundo formulario a las variables que recogen los SI y NO haciendolas globales...

Por cierto lo de los divs funciona :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Julio (830 intervenciones) el 20/05/2020 10:50:18
¿Entonces ya te funciona todo? ¿Y cómo te ha funcionado? Porque entonces sí que debes tener una manera de decirle SÍ o NO al div.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 470
Bronce
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Alejandro (160 intervenciones) el 20/05/2020 11:04:02
Vale no funciona porque habia puesto display:block en vez de display:none :(

Si hubiera alguna forma de hacer que ese boton Modificar enviara los datos pero que los enviara a la pagina de modificar podria enviar esos SI y No a la pagina modificar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 470
Bronce
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Alejandro (160 intervenciones) el 20/05/2020 11:30:29
A parte ahora con display:none y quitando display del CSS aparece de primeras todos los divs siendo si o no, entonces realmente hace los mismo pero al reves.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Julio (830 intervenciones) el 20/05/2020 11:41:25
Yo es que sigo sin entender dónde le indicas de antemano que ponga el input radio a SÍ o a NO. De alguna forma tienes que decirle que inicialmente esté en SÍ o en NO, al menos eso has dicho.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 470
Bronce
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Alejandro (160 intervenciones) el 20/05/2020 13:02:58
Yo te he dicho que esos SI y No los envio en el primer formulario a una pagina de validacion donde valido tanto los datos del primer formulario como del segundo formulario (el de modificar). Ahi es donde recogo los Si y No de ambos formularios.

Pero el problema esta en el segundo formulario, porque queria que si en el primero, donde hay tres campos que segun un SI o un NO se muestran sus respectivos divs y estan seleccionados en SI, en el segundo formulario aparecieran directamente esos campos en SI mostrando los divs con los datos proporcionados en el primer formulario. Para luego ahi poder modificar.

Te mostrare un ejemplo con uno de los campos que muestran los divs.

Pagina del primer formulario:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<form method="post" action="validardatos.php" autocomplete="off">
 
<label>¿Trabaja?</label><input type="radio" name="trabaja" value="Si" onchange="divRadioTrabaja(this.value)">Si<input type="radio" name="trabaja" value="No" onchange="divRadioTrabaja(this.value)" checked>No
 
<div id="lugarTrabaja">
 
           <label>¿Donde?</label><input type="text" name="lugarTrabaja">
 
</div>
 
<button type="submit" value="agregar" name="action">Agregar</button>
 
</form>
 
        <a href="modificar.php"><input type="submit" value="modificar"></a>


Pagina del segundo formulario:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
    $select = "SELECT lugar_trabaja FROM tabla WHERE codigo=?";
    $result = mysqli_prepare($GLOBALS['conn'],$select);
    $ok = mysqli_stmt_bind_param($result, "i", $id);
    $ok = mysqli_stmt_execute($result);
        if($ok==false){
 
            echo "Error al ejecutar la consulta";
 
        }else{
 
            $ok = mysqli_stmt_bind_result($result, $lugarTrabaja);
 
            while($fila = mysqli_stmt_fetch($result)){
 
    ?>
<form method="post" action="validardatos.php" autocomplete="off">
 
<?php
 
if (empty($lugarTrabaja)){
 
echo"
<label>¿Trabaja?</label><input type="radio" name="trabaja" value="Si" onchange='divRadioTrabaja(this.value)'>Si<input type="radio" name="trabaja" value="No" onchange="divRadioTrabaja(this.value)" checked>No
<div id='lugarTrabaja' >
           <label>¿Donde?</label><input type='text' name='lugarTrabaja'>
</div>";
 
 
}else{
 
 echo"
            <p>
                <label>¿Actualmente trabaja?</label><input type='radio' name='trabaja' value='Si' onchange='divRadioTrabaja(this.value)' checked>Si<input type='radio' name='trabaja' onchange='divRadioTrabaja(this.value)' value='No'>No
            </p>
                <div id='lugarTrabaja' style='display:block'>
                    <label>¿Donde?</label><input type='text' value='$lugarTrabaja' name='lugarTrabaja'>
                </div>";
        }
 
?>
<button type="submit" value="modificar" name="action">Modificar</button>

Pagina de validacion de ambos formularios:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
$action = $_POST['action'];
 
$trabaja = (isset($_POST['trabaja']))?$_POST['trabaja']:"";
$lugarTrabaja = (isset($_POST['lugarTrabaja']))?$_POST['lugarTrabaja']:"";
 
switch($action){
 
case "agregar":
 
      if($trabaja=="Si"){
 
           $SQL = "INSERT INTO tabla (lugar_trabaja, codigo) VALUES (?,?)";
 
            $result = mysqli_prepare($GLOBALS['conn'],$SQL);
            $ok = mysqli_stmt_bind_param($result, "si",$lugarTrabajo, $id);
            $ok = mysqli_stmt_execute($result);
 
                if($ok==false){
 
                    echo "Error al ejecutar la consulta";
 
                }else{
 
                    echo "Agregado los datos '</br>";
 
                }
 
 
    }else{
 
 
       //NADA
 
 
    }
 
break;
 
case "modificar":
 
    if($trabaja=="Si"){
 
         $SQL = "UPDATE tabla SET lugar_trabaja='".$lugarTrabaja."',  WHERE codigo=".$id;
 
            $result = mysqli_query($GLOBALS['conn'],$SQL);
 
                if($result==false){
 
                    echo "Error al ejecutar la consulta";
 
                }else{
 
                    echo "Modificados los datos</br>";
 
                }
 
    }
 
 
break;
 
}

Me faltan los datos de la conexion y no he puesto todo lo que guardo en la bd por aliviar un poco el codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Julio (830 intervenciones) el 20/05/2020 13:12:22
Si no estoy viendo donde no toca, sigo viendo que haces:

1
2
3
4
5
if (empty($lugarTrabaja)){
   // Indicas el radio NO como check
} else {
   // Indicas el radio SÍ como no check
}

Con lo cual, te digo, ¿es ahí donde le estás diciendo SÍ o NO la primera vez? Pues, como te comento, imprime el div que te interese en cada parte. En una parte imprímelo oculto y en la otra parte no. ¿No? Porque me estoy volviendo loco de que seas capaz de imprimir un radio button marcado o no dependiendo de unas condiciones pero no utilices las mismas condiciones para mostrar o no el div a continuación, jajaja.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 470
Bronce
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Alejandro (160 intervenciones) el 20/05/2020 13:55:51
Es que no entiendo tu pregunta jajaja Yo digo SI o No en el primer formulario, pero ese Si o No del primer formulario no lo envio a la pagina donde esta el formulario de modificar sino que lo envio a la pagina de validacion para decir que rellene el dato del div segun si es SI o NO, pero no lo guardo en la base de datos. Por lo tanto, no puedo recoger ese dato para el condicional de la pagina del segundo formulario.

En cuanto al div te refieres a esto??

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if (empty($lugarTrabaja)){
 
echo"
<label>¿Trabaja?</label><input type="radio" name="trabaja" value="Si" onchange='divRadioTrabaja(this.value)'>Si<input type="radio" name="trabaja" value="No" onchange="divRadioTrabaja(this.value)" checked>No
<div id='lugarTrabaja'  style="display:none">
           <label>¿Donde?</label><input type='text' name='lugarTrabaja'>
</div>";
 
 
}else{
 
 echo"
            <p>
                <label>¿Actualmente trabaja?</label><input type='radio' name='trabaja' value='Si' onchange='divRadioTrabaja(this.value)' checked>Si<input type='radio' name='trabaja' onchange='divRadioTrabaja(this.value)' value='No'>No
            </p>
                <div id='lugarTrabaja' style='display:block'>
                    <label>¿Donde?</label><input type='text' value='$lugarTrabaja' name='lugarTrabaja'>
                </div>";
        }

Poner style:none en el empty y style:block en el otro caso??


Editado: Era hacer esto ultimo, madre mia, por favor.... vaya suplicio por una tonteria jajjajajaja

Muchas gracias por tu paciencia Julio, de verdad siento haberte hecho perder el tiempo de esta manera xD
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Julio (830 intervenciones) el 20/05/2020 14:31:57
Lo que te llevo intentando decir desde hace un montón de mensajes pero no me entendías, jajaja. Estabas ahí poniendo el radio button en SÍ o NO dependiendo de un if y sólo tenías que poner ahí el div visible u oculto, nada más. Pero no lo veías y yo no me explicaba bien, jajaja.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 470
Bronce
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

funcion JS en echo PHP

Publicado por Alejandro (160 intervenciones) el 20/05/2020 14:47:59
lo siento de verdad no veia lo que querias decir, estaba obcecado con la funcion de JavaScript xD
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar