PHP - Tabla de Multiplicar con HTML y PHP

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

Tabla de Multiplicar con HTML y PHP

Publicado por Dany (10 intervenciones) el 11/10/2017 03:08:47
Hola cordiales saludos a todos,

Tengo una practica que entregar para la escuela y no me queda:

En html tengo dos comobox, en el combo 1 selecciono un valor (Inicial) combobox2 selecciono otro valor (Final)

Entonces si en Combo1 tomo 5 y en combo 2 tomo 4 en PHP deberia de mostrarme la tabla de multiplicar del 5 hasta el 4.

5*1=5
5*2=10
5*3=15
5*4=20

Pero me arroja errores, cabe mencionar que estoy empezando a usar PHP y esta es mi segunda practica. Lo estoy haciendo con for. Este es el codigo:
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
63
64
65
Codigo html:
<!DOCTYPE html>
    <html lang="es">
<head>
        <meta charset="utf-8">
        <title>Practica Nueva</title>
</head>
    <body>
<form name="Form1" action="calcular.php" method="get"><br />
       <label for="Inicio">Seleccione el valor inicial</label><br /><br />
        <select name="op">
        <option value="1">Uno</option>
        <option value="2">Dos</option>
        <option value="3">Tres</option>
        <option value="4">Cuatro</option>
        <option value="5">Cinco</option>
        <option value="6">Seis</option>
        <option value="7">Siete</option>
        <option value="8">Ocho</option>
        <option value="9">Nueve</option>
        <option value="10">Diez</option>
    </select>
    <br />
    <br />
        <label for="Fin">Seleccione el valor final</label><br /><br />
        <select name="op1">
        <option value="1">Uno</option>
        <option value="2">Dos</option>
        <option value="3">Tres</option>
        <option value="4">Cuatro</option>
        <option value="5">Cinco</option>
        <option value="6">Seis</option>
        <option value="7">Siete</option>
        <option value="8">Ocho</option>
        <option value="9">Nueve</option>
        <option value="10">Diez</option>
    </select>
<br /><br />
        <input type="submit" value="Calcular" />
        </form>
    </body>
</html>
 
Codigo PHP:
 
<?php
 
$numIni = $_GET["$op"];
$numFin = $_GET["$op1"];
 
echo 'op' .$NumIni.'<br/>';
echo 'op1' .$NumFin.'<br/>';
 
for($contador=$NumIni; $contador=$NumFin; $contador++){
 
    echo 'Tabla del ' .$contador.'<br/';
    for($i=1; $i<=10; $i++){
       echo $contador.'*'.Si.'='.$contador*$i.'<br/>';
 
    }
    echo '<br/>';
    echo '<br/>';
}
 
?>

Gracias por la ayuda que puedan prestarme, adjunto los archivos.

Saludos

DS
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
sin imagen de perfil
Val: 604
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Tabla de Multiplicar con HTML y PHP

Publicado por Miguel (218 intervenciones) el 11/10/2017 04:49:14
Ok:

1) $numIni y $numFin no es lo mismo que $NumIni y $NumFin respectivamente (notar la mayúscula al inicio). Hago la observación porque estás tratando de usar varias veces variables no declaradas por la confusión previamente mencionada.

2) Tu for no está bien. Ahora mismo si el tema del primer punto estuviera bien tendrías un bucle infinito, dado que en el segundo bloque del for no realizas una comparación sino una asignación (que siempre dará como resultado true).

3) Veo que has tecleado mal y tienes una S en lugar de $ cuando tratas de usar la variable $i.

4) El código está un poco desordenado y no cierras correctamente una etiqueta (<br>) en la salida HTML.


1
2
3
4
5
6
7
8
9
10
11
12
13
$numIni = $_GET["$op"];
$numFin = $_GET["$op1"];
 
for ($contador = $numIni; $contador <= $numFin; $contador++)
{
    echo '<h3> Tabla del ' . $contador . ' </h3>';
    for ($i=1; $i <= 10; $i++)
    {
       echo $contador . '*' . $i . '=' . ($contador * $i) .'<br>';
    }
 
    echo '<br>';
}


Voy a agregar otro punto que se me pasó pero es igual de importante:

0) Tus variables $numIni y $numFin deben ser convertidas a tipo int para no tener inconvenientes luego con las operaciones, y se debe validar que la variable $numFin no sea menor a $numIni para no tener problemas con el for. Por lo tanto, la primera parte del código debe quedar así:

1
2
3
4
$numIni = intval($_GET["$op"]);
$numFin = intval($_GET["$op1"]);
 
if ($numFin < $numIni) $numFin = $numIni;
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: 22
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Tabla de Multiplicar con HTML y PHP

Publicado por Dany (10 intervenciones) el 11/10/2017 18:55:24
Hice los ajustes que me comentas, ahora me muestra la tabla de multiplicar en el PHP completa pero no respeta lo que se agrega en los combos.

Es decir la tabla me muestra:
0*1=0
0*2=0
0*3=0

Hasta el 10 y me indica que el error esta en la linea 3 y 4, pero no interpreto cual sea el error:

Notice: Undefined variable: op in C:\xampp\htdocs\Practicas\calcular.php on line 3

Notice: Undefined variable: _get in C:\xampp\htdocs\Practicas\calcular.php on line 3

Notice: Undefined variable: op1 in C:\xampp\htdocs\Practicas\calcular.php on line 4

Notice: Undefined variable: _get in C:\xampp\htdocs\Practicas\calcular.php on line 4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
 
$numIni = intval($_get["$op"]);
$numFin = intval($_get["$op1"]);
 
if ($numFin < $numIni) $numFin = $numIni;
 
for ($contador = $numIni; $contador <= $numFin; $contador++)
{
    echo '<h3> Tabla del ' . $contador . ' </h3>';
    for ($i=1; $i <= 10; $i++)
    {
       echo $contador . '*' . $i . '=' . ($contador * $i) .'<br>';
    }
 
    echo '<br>';
}
 
?>

Gracias nuevamente por ayudar.

DS
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: 604
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Tabla de Multiplicar con HTML y PHP

Publicado por Miguel (218 intervenciones) el 11/10/2017 20:17:45
Como te comenté anteriormente, en PHP las variables son case-sensitive (sensibles a minúsculas y mayúsculas). En las líneas 3 y 4 tienes que usar $_GET y no $_get como ahora.

Otra cosa, para obtener los parámetros del $_GET no hay que usar el símbolo $, es solamente el nombre que tiene tu campo en el formulario:

1
2
3
4
$numIni = intval($_GET["op"]);
$numFin = intval($_GET["op1"]);
 
if ($numFin < $numIni) $numFin = $numIni;
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: 22
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Tabla de Multiplicar con HTML y PHP

Publicado por Dany (10 intervenciones) el 11/10/2017 20:31:59
De hecho hice un cambio y puse $_get en vez de $_GET como me lo habias mencionado pensando que ese era el error pero no es asi, Lo he dejado tal cual me lo indicas y aun asi me marca el error.

1
2
3
4
5
6
7
8
9
En html lo tengo asi:
 
<form name="Form1" action="calcular.php" method="GET"><br />
 
 
Y en php como me lo indicas:
 
$numIni = intval($_GET["$op"]);
$numFin = intval($_GET["$op1"]);

Donde mas pudiera estar el error?

DS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
sin imagen de perfil
Val: 604
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Tabla de Multiplicar con HTML y PHP

Publicado por Miguel (218 intervenciones) el 11/10/2017 22:42:15
Aún tienes el símbolo $ donde extraes el parámetro del $_GET.
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: 22
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Tabla de Multiplicar con HTML y PHP

Publicado por Dany (10 intervenciones) el 11/10/2017 22:49:56
Tal cual como esta el codigo aqui:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$numIni = intval($_GET["$op"]);
$numFin = intval($_GET["$op1"]);
 
if ($numFin < $numIni) $numFin = $numIni;
 
for ($contador = $numIni; $contador <= $numFin; $contador++)
{
    echo '<h3> Tabla del ' . $contador . ' </h3>';
    for ($i=1; $i <= 10; $i++)
    {
       echo $contador . '*' . $i . '=' . ($contador * $i) .'<br>';
    }
 
    echo '<br>';
}
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: 604
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Tabla de Multiplicar con HTML y PHP

Publicado por Miguel (218 intervenciones) el 12/10/2017 04:48:32
._.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$numIni = intval($_GET["op"]);
$numFin = intval($_GET["op1"]);
 
if ($numFin < $numIni) $numFin = $numIni;
 
for ($contador = $numIni; $contador <= $numFin; $contador++)
{
    echo '<h3> Tabla del ' . $contador . ' </h3>';
    for ($i=1; $i <= 10; $i++)
    {
       echo $contador . '*' . $i . '=' . ($contador * $i) .'<br>';
    }
 
    echo '<br>';
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 22
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Tabla de Multiplicar con HTML y PHP

Publicado por Dany (10 intervenciones) el 12/10/2017 19:28:02
Gracias esta casi hecho modifique mi for porque me estaba haciendo todas las tablas apartit de los combos.

Solo me falta un detalle.

Combo1=2
Combo2=5

Me da:
2*1=2
2*2=4
2*3=6
2*4=8
2*5=10

Esto esta bien....!

Ahora bie si los valores son:

Combo1=5
Combo2=3

Me da esto:
5*1=5
5*2=10
5*3=15
5*4=20
5*5=25

Cuando en realidad solo deberia de mostrarme hasta el 3:
5*1=5
5*2=10
5*3=15

Este es mi for modificado, ya estuve haciendo diagramas de flujo pero no puedo meterlo al codigo php:

Este es mi codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
$numIni = intval($_GET["op"]);
$numFin = intval($_GET["op1"]);
 
if ($numFin < $numIni) $numFin = $numIni;
 
$contador=$numIni;
    for ($i=1; $i <= $numFin; $i++)
    {
       echo $numIni . '*' . $i . '=' . ($numIni * $i) .'<br>';
    }
     echo '<br>';
 
?>

DS
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

Elabore las tablas de multiplicar hasta 15,

Publicado por Danie leal (1 intervención) el 14/06/2018 02:04:00
Hola buenas noches como estan,

Necesito de su ayuda para que me hagan el favor de resolver este problema no le he resuelto y no le entiendo.

Muchas gracias por su atencion prestada.
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 italo
Val: 920
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Elabore las tablas de multiplicar hasta 15,

Publicado por italo (150 intervenciones) el 15/06/2018 03:57:19
pues si con el primer if funciono, talvez deberias de agregar un segundo if .

salud2
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