Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - javi in the sky

Páginas: 1 ... 10 11 12 13 14 [15] 16 17 18 19 20
281
Yo lo he probado con números de 0 a 10 y con números mayores de 100 y todo funciona bien, no me aparece ningún número 78. Puede que sea un  problema de refresco de pantalla, el código parece que está todo bien.

283
¿Has probado a usar el operador & en lugar de el operador +? Es decir, la consulta quedaría así:

SQL3 = "SELECT * FROM checador WHERE [NumEmp] =" & NumEmp.Text & "AND [fecha] =" & fecha1.Text & ""

Una cosa que deberías probar es ponerle una fecha concreta a ver si ejecuta la consulta, por ejemplo:

SQL3 = "SELECT * FROM checador WHERE [NumEmp] =" & NumEmp.Text & "AND [fecha] =05/02/2013" & ""

Si te ejecuta esta consulta (con una fecha que tú quieras que tenga datos en la base de datos) ya habrás avanzado algo.

284
¿Qué tipo de dato es fecha1 cuando lo has declarado en Visual BAsic?

¿Si haces la consulta:

SQL3 = "SELECT * FROM checador WHERE [NumEmp] =" + NumEmp.Text + "#"

¿Te funciona correctamente aunque no te devuelva lo que quieres? (Es para comprobar si te conecta bien a la base de datos) y ¿qué tipo de base de datos es la que usas? Saludos

285
Hola zequi, si hay que realizar una operación sobre una base de datos, como bien dices lo más lógico es entrar directamente por MySQl y operar directamente. No obstante, hay situaciones en que es necesario que la base de datos se modifique automáticamente cuando ocurra algo. Por ejemplo imagínate que tienes una página web donde se pueden registrar usuarios. El usuario rellena un formulario y al darle a enviar esa información se debe escribir en la base de datos: de eso se encarga un fragmento de código PHP o de otro lenguaje. No vas a estar manualmente recibiendo formularios con datos, abriendo manualmente la base de datos, guardando datos, etc. Por tanto usar un lenguaje como PHP sirve para que las operaciones sobre la base de datos se hagan automáticamente sin necesidad de tener que estar accediendo manualmente a la base de datos. Saludos

286
Por cierto para quien le interese ya que me lo han preguntado varias personas, para eliminar los videos recomendados de youtube que aparecen al final lo que hay que hacer es añadir ?rel=0 al final de la url de youtbe, es decir, que el código sería como este:

<iframe width="420" height="315" src="http://www.youtube.com/embed/jI2wSz2BvMM?rel=0" frameborder="0" allowfullscreen></iframe>

Al poner el ?rel=0 al final ya no salen los videos recomendados cuando termina el video.

287
De todo un poco... / Re:Ciertas verdades, ciertas ternuras...
« en: 09 de Octubre 2013, 08:14 »
Hola! Gracias por compartir ese texto y ese video con los que estoy de acuerdo excepto en una cosa, que la infancia es un lugar al que no se querría volver ¿por qué no?, yo sí volvería. Además refleja algo que tengo comprobado: a los niños de hoy en día se les satura cada vez más con actividades "buenas para su futuro¿?" como estudiar inglés y cada vez juegan menos y esto a la la larga es más perjudicial que beneficioso.

288
Bueno todo eso constituye un lenguaje, el lenguaje SQL que es bastante extenso, no creo que exista un sitio donde se recopile todo de golpe porque como digo es muy extenso y más que aprenderlo todo habría que ir sabiendo resolver las situaciones que se nos vayan presentando como programadores.

Aquí hay algo de información: http://dev.mysql.com/doc/refman/5.0/es/select.html

289
Hola pasisica, cuando incluyas código usa el botón # que aparece en el editor del foro, si no lo usas resulta difícil de leer. El código tiene que quedar entre las etiquetas [ code] y [ / code] que te aparecerán al pulsar este botón.

Tienes dos fallos en el código, por un lado declaras nota como tipo int (entero) y esto es para números como 1, 2, 3, 4, ... pero tú necesitas decimales así que lo más lógico es declararlo double.

Por otro lado en la condición if((nota<0) && (nota>10)) tienes los símbolos cambiados, sería if((nota>0) && (nota<10))

El código sería así revísalo a ver si lo entiendes y te va bien

Código: [Seleccionar]
#include <iostream>

using namespace std;

int main() {
    double nota;
    nota=0;
    cout<<"ingrese la nota del alumno ";

    cin>>nota;
    cout<<"Ahora nota es igual que "<<nota;

    if((nota>0) && (nota<10)) {
        if((nota>=0)&&(nota<=4.99)) {
            cout<<"Su nota es "<<nota<<" Suspenso ";
        }
        if((nota>=5)&&(nota<=6.99)) {
            cout<<"Su nota es "<<nota<<" Aprobado ";
        }
        if((nota>=7)&&(nota<=8.99)) {
            cout<<"Su nota es "<<nota<<" Notable ";
        }
        if(nota>=9&&nota<=9.99) {
            cout<<"Su nota es "<<nota<<" Suspenso ";
        }
        if(nota==10) {
            cout<<"Su nota es "<<nota<<" Matricula de Honor ";
        }
    } else {
        cout<<"Error";
    }
    cin.get();
    cin.get();
}

290
Simplemente en el WHERE tendrías que poner la condición que quieras que se cumpla:

WHERE codigo='2'  borra el registro 2

WHERE codigo='2' OR '5' OR '9' borra los registros 2, 5 y 9

WHERE codigo<20    borra todos los registros menores de 20

WHERE codigo BETWEEN 30 AND 40  borra todos los registros comprendidos entre el número 30 y 40

Hay más formas de expresar condiciones, depende de la condición que quieras expresar y del tipo de dato con el que estés trabajando (si es numérico o si es texto, etc.)

291
Aquí te dejo más o menos indicado cómo pienso que podría ser. Con este código creo que no quedan variables indefinidas simplemente porque he quitado las variables, que al final creo que tampoco eran imprescindibles. A mí parece que me va funcionando pero tendrás que revisarlo tú a ver qué te parece. Saludos.


Código: [Seleccionar]
<!DOCTYPE html>
<HTML>
<?php

if ($_POST["guarde"]) {



if (!
$_POST["nombre"]){
   
$msgNombre " ¡..Atencion..!  Nombre Vacio * ";
   
$claseNombre="error";
   }
 else{
 if(
is_numeric($nombre)){
$msgNombre=" ¡..Atencion..! El Campo Nombre No Puede Ser Numerico * ";
$claseNombre="error";
 }
}
if (!
$_POST["clave"]){
$msgClave " ¡..Atencion..! Contraseña Vacia * ";
$claseClave="error";
 }
 
 if (!
$_POST["sexo"] ){
$msgSexo " ¡..Atencion..! Escoja Un Sexo * ";
$claseSexo="error";


 if (!
$_POST["hobbie1"] && !$_POST["hobbie2"] && !$_POST["hobbie3"] && !$_POST["hobbie4"]){
$msgHobbie " ¡..Atencion..! Escoja Un Hobbie * ";
$claseHobbie="error";
 }
 

 if(
$claseNombre=="" && $claseClave=="" && $claseSexo=="" && $claseHobbie==""){
 echo 
"<center><h2> ::..OK... Sus Datos Fueron Ingresados Al Servidor ..:: <h2></center>";
 echo 
"<center><h2> ::..OK... Muchas Gracias ..:: <h2></center>";
 }
 
 }
 
 
?>

<head>

<title>Formulario</title>
<meta charset="utf-8">
<style>
.error{
color: orange;
border: solid  5px red;
}
.msg{
color: white;
font-size: 8px;
font-size: 9cm
}
</style>
</head>
<body>
<form name="form1"   action="testJM031013borrar.php"    method="POST">

<center><fieldset>
<legend>send.php</legend>
<table border="2">

<div class="<?php echo $claseNombre?>">
<tr><td>Nombres</td>
<td><input type="text" name="nombre" value="<?php echo $_POST["nombre"]; ?>"></td>

<span class=".msg"> <?php echo $msgNombre;?></span>
</tr>
</div>

<div class="<?php echo $claseClave?>">
<tr><td>Contraseña</td>
<td><input type="password" name="clave" maxlength="4" size="4"  value="<?php echo $_POST["clave"]; ?>"></td>
<span class=".msg"><?php echo $msgClave;?></span>
</tr>
</div>




<div class="<?php echo $claseSexo?>">
<tr><td>Escoja sexo</td>
<td><input type="radio" name="sexo" <?php if ($_POST["sexo"]=="H") {echo 'value="H" checked';} else {echo 'value="H"';} ?>   >Hombre


<input     type="radio" name="sexo" <?php if ($_POST["sexo"]=="M") {echo 'value="M" checked';} else {echo 'value="M"';} ?>   >Mujer
<span class=".msg"><?php echo $msgSexo;?></span>
</tr>
</div>

<div class="<?php echo $claseHobbie?>">
<tr><td>Escoja Hobbie(s)</td>
<td><input type="checkbox"name="hobbie1" <?php if ($_POST["hobbie1"]=="true") {echo 'value="true" checked';} else {echo 'value="true"';} ?> >Deportes
<input type="checkbox"    name="hobbie2" <?php if ($_POST["hobbie2"]=="true") {echo 'value="true" checked';} else {echo 'value="true"';} ?> >Música
<input type="checkbox"    name="hobbie3" <?php if ($_POST["hobbie3"]=="true") {echo 'value="true" checked';} else {echo 'value="true"';} ?> >Internet
<input type="checkbox"    name="hobbie4" <?php if ($_POST["hobbie4"]=="true") {echo 'value="true" checked';} else {echo 'value="true"';} ?> >Lectura
<span class=".msg"><?php echo $msgHobbie;?></span>
</td>
</tr>
</div>


<tr><td>Escoja Profesión</td>
<td><select name="prof">
<option value="1">Ingeniería</option>
<option value="2" selected>Medicina</option>
<option value="3"  >Analista de Sistemas</option>
<option value="4">Administrador de Empresas</option>
</select>
</td>
</tr>
<tr><td>Escriba su comentario ...</td>
<td><textarea name="coment" rows="6" cols="30">
</textarea>
</td>
</tr>
</table>
<input type="reset" value="Limpiar">
<select name="guarde">
<option value="si">Si guarde en archivo</option>
<option value="no" selected>No guarde en archivo</option>
</select>

<input type="submit" value="Validar">

</fieldset>
</form>
</body>
</HTML>   

292
Hay varios problemas en el código. Uno de ellos es el siguiente:

Código: [Seleccionar]
if ($_POST){
$nombre =   $_POST["nombre"];
$clave  =   $_POST["clave"];
$sexo   =   $_POST["sexo"];
$hobbie1 =   $_POST["hobbie1"];
$hobbie2 =   $_POST["hobbie2"];
$hobbie3 =   $_POST["hobbie3"];
$hobbie4 =   $_POST["hobbie4"];

Aquí hay un if que se supone evalúa una condición, pero lo cierto es que si estando vacío el formulario pulsamos validar y lo enviamos por get obtenemos esto:

nombre=&clave=&prof=2&coment=&guarde=no

El nombre está vacío, la clave vacía, el profesor vacío, sexo ni aparece, comentario vacía y guarde trae un valor.

¿Qué ocurre entonces? Que aunque esté vacío el formulario vienen algunas variables por POST con lo que $_POST siempre existe y ese if siempre se cumple. Si siempre se cumple, entra dentro del if y ejecuta lo que hay dentro, por ejemplo

$sexo   =   $_POST["sexo"];

Pero como $_POST["sexo"] no viene definido viene como NULL, después tratas de usar esa variable pero como esa variable vale NULL te dice que no está definida y por eso te salta el SCREAM error (o al menos eso creo)


293
Bueno, el asunto es que si salta un error es por algo, ahora lo que se trataría de averiguar es por qué.

¿Cuándo te salta el error, la primera vez que cargas la página o cuando pulsas el botón validar?

294
A mí no me sucede, yo lo ejecuto sin problemas. Con la captura de pantalla que has puesto pienso que el problema se debe a una extensión de PHP denominada xDebug y que tienes configurada esa extensión para que informe de posibles errores y warnings que normalmente no se muestran, esa sería la explicación para que a tí se salgan esos errores y a mí no.

xDebug tiene una opción denominada "Scream" que fuerza la aparición de errores que normalmente se ignoran.

Tienes dos opciones: tratar de modificar la configuración de php (en wamp o en xampp o en el servidor que sea) para evitar la acción de xDebug (desactivarlo o desinstalarlo), o corregir el código pues lo que está indicando es que detecta errores. Como estos errores son menores, sin xDebug uno "ni se entera", pero con xDebug se muestran precisamente porque xDebug está pensado para eso (aunque realmente en servidores reales no se usa xDebug porque sería muy problemático que estuvieran saltando continuamente avisos que pueden ser ignorados).


295
Si vas a permitir que el usuario escoja uno o varias opciones de hobbies veo más lógico tener una variable para cada hobbie, de forma que puedas saber si está marcado o no. Por eso usaríamos $hobbie1 para saber si el primer hobbie está marcado, $hobbie2 para saber si el segundo está marcado y así sucesivamente. Aquí está el código, además he quitado la repetición de value

Código: [Seleccionar]
<!DOCTYPE html>
<HTML>
<?php
$nombre
="";
$clave="";
$sexo="";
$hobbie1="false";
$hobbie2="false";
$hobbie3="false";
$hobbie4="false";
$msgNombre="";
$msgClave="";
$msgSexo="";
$msgHobbie="";
$claseNombre="";
$claseClave="";
$claseSexo="";
$claseHobbie="";
if (
$_POST){

$nombre =   $_POST["nombre"];
$clave  =   $_POST["clave"];
$sexo   =   $_POST["sexo"];
$hobbie1 =   $_POST["hobbie1"];
$hobbie2 =   $_POST["hobbie2"];
$hobbie3 =   $_POST["hobbie3"];
$hobbie4 =   $_POST["hobbie4"];

if (
$nombre == ""){
   
$msgNombre " ¡..Atencion..!  Nombre Vacio * ";
   
$claseNombre="error";
   }
 else{
 if(
is_numeric($nombre)){
$msgNombre=" ¡..Atencion..! El Campo Nombre No Puede Ser Numerico * ";
$claseNombre="error";
 }
}
if (
$clave == ""){
$msgClave " ¡..Atencion..! Contraseña Vacia * ";
$claseClave="error";
 }
 
 if (
$sexo == ""){
$msgSexo " ¡..Atencion..! Escoja Un Sexo * ";
$claseSexo="error";


 if (
$hobbie1 == "" && $hobbie2=="" && $hobbie3=="" && $hobbie4==""){
$msgHobbie " ¡..Atencion..! Escoja Un Hobbie * ";
$claseHobbie="error";
 }
 

 if(
$claseNombre=="" && $claseClave=="" && $claseSexo=="" && $claseHobbie==""){
 echo 
"<center><h2> ::..OK... Sus Datos Fueron Ingresados Al Servidor ..:: <h2></center>";
 echo 
"<center><h2> ::..OK... Muchas Gracias ..:: <h2></center>";
 }
 
}
//finaliza el if de post
 
?>

<head>

<title>Formulario</title>
<meta charset="utf-8">
<style>
.error{
color: orange;
border: solid  5px red;
}
.msg{
color: white;
font-size: 8px;
font-size: 9cm
}
</style>
</head>
<body>
<form name="form1"   action="send.php"    method="POST">
<center><fieldset>
<legend>send.php</legend>
<table border="2">

<div class="<?php echo $claseNombre?>">
<tr><td>Nombres</td>
<td><input type="text" name="nombre" value="<?php echo $nombre?>"></td>
<span class=".msg"> <?php echo $msgNombre;?></span>
</tr>
</div>

<div class="<?php echo $claseClave?>">
<tr><td>Contraseña</td>
<td><input type="password" name="clave" maxlength="4" size="4"  value="<?php echo $clave?>" ></td>
<span class=".msg"><?php echo $msgClave;?></span>
</tr>
</div>




<div class="<?php echo $claseSexo?>">
<tr><td>Escoja sexo</td>
<td><input type="radio" name="sexo" value="H"    >Hombre
<input     type="radio" name="sexo" value="M"   >Mujer
<span class=".msg"><?php echo $msgSexo;?></span>
</tr>
</div>

<div class="<?php echo $claseHobbie?>">
<tr><td>Escoja Hobbie(s)</td>
<td><input type="checkbox"name="hobbie1" value="true"  >Deportes
<input type="checkbox"    name="hobbie2" value="true" >Música
<input type="checkbox"    name="hobbie3" value="true" >Internet
<input type="checkbox"    name="hobbie4" value="true" >Lectura
<span class=".msg"><?php echo $msgHobbie;?></span>
</td>
</tr>
</div>


<tr><td>Escoja Profesión</td>
<td><select name="prof">
<option value="1">Ingeniería</option>
<option value="2" selected>Medicina</option>
<option value="3"  >Analista de Sistemas</option>
<option value="4">Administrador de Empresas</option>
</select>
</td>
</tr>
<tr><td>Escriba su comentario ...</td>
<td><textarea name="coment" rows="6" cols="30">
</textarea>
</td>
</tr>
</table>
<input type="reset" value="Limpiar">
<select name="guarde">
<option value="si">Si guarde en archivo</option>
<option value="no" selected>No guarde en archivo</option>
</select>

<input type="submit" value="Validar">

</fieldset>
</form>
</body>
</HTML>

296
Hola walvaka, te recomiendo que te mires esto: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193

Para el programa de las tablas el código podría ser este:

Código: [Seleccionar]
<?php

$numTablaInicial 
=3;
$numTablaFinal 5;

echo 
'Numero inicial '.$numTablaInicial.'<br/>';
echo 
'Numero final '.$numTablaFinal.'<br/>'.'<br/>';

for (
$contador=$numTablaInicial$contador<=$numTablaFinal$contador++){
echo 'Tabla del '.$contador.'<br/>';
for ($i=1$i<=10$i++){
echo $contador.'*'.$i.'='.$contador*$i.'<br/>';
}
echo '<br/>';
echo '<br/>';
}
?>

El otro programa dices ¿realizar la operación mediante sumas? Me imagino que será mediante multiplicaciones, porque una potencia de un número se puede calcular con multiplicaciones, no con sumas.

Para hacerlo con multiplicaciones el código sería parecido al anterior, lo que tendrías que hacer es un bucle for que multiplique el número por sí mismo tantas veces como indique el exponente.  ;D



297
Aquí tienes una cosa bastante extraña:

Código: [Seleccionar]
<td>Escoja Hobbie(s)</td>
<td><input type="checkbox"name="hobbie" value="1" value="<?php echo $hobbie?>" >Deportes
<input type="checkbox"    name="hobbie" value="1" value="<?php echo $hobbie?>">Música
<input type="checkbox"    name="hobbie" value="1" value="<?php echo $hobbie?>">Internet
<input type="checkbox"    name="hobbie" value="1" value="<?php echo $hobbie?>">Lectura

¿Tienes 4 opciones con el nombre hobbie? ¿Por qué no le pones distinto nombre a cada opción? ¿Si no le pones distinto nombre cómo vas a diferenciarlo después?

¿Por qué defines dos veces value, una después de otra? value="1" value="<?php echo $hobbie; ?>

Este fragmento de código parece que no cuadra.



298
Aprender a programar desde cero / Re:Arreglos: Vectores y Matrices.
« en: 20 de Septiembre 2013, 22:01 »
No entiendo lo que quieres decir con desordenada, si te refieres a que se muestran los números con muchos decimales ¿ese es el mismo problema que te he indicado antes que se resolvía con x = (double)Math.round(x * 1000) / 1000; ? Si es el mismo problema te basta con aplicar esto pero no sé si te refieres a otra cosa.

299
Aprender a programar desde cero / Re:Arreglos: Vectores y Matrices.
« en: 20 de Septiembre 2013, 14:50 »
¿A qué te refieres con que la matriz definitiva sale desordenada?

300
Aprender a programar desde cero / Re:Arreglos: Vectores y Matrices.
« en: 20 de Septiembre 2013, 09:27 »
Hola, el motivo por el que te arroja números como 4.0 en vez de 4.2 lo tienes en el método llenar_matrices:

Código: [Seleccionar]
    static void llenar_matrices(double p1[][], double p2[][], double p3[][],double n1){

        Random  rnd = new Random();
        for (int i=0;i<n1;i++){
            for (int j=0;j<6;j++){

                p1[i][j]=(int)(rnd.nextDouble()* 5)+1;
                p2[i][j]=(int)(rnd.nextDouble()* 5)+1;
                p3[i][j]=(int)(rnd.nextDouble()* 5)+1;

            }
        }
    }

Si te fijas la instrucción (int)(rnd.nextDouble()* 5)+1; al llevar el (int) delante lo que hace es redondear el número obtenido a un entero, por eso siempre te sale 4.0, 5.0, etc.

Para redondear un número tipo double a cierto número de decimales puedes usar lo siguiente:

Por ejemplo para una variable x = 3.235645678;

x = (double)Math.round(x * 1000) / 1000; En este caso lo que haces es primero multiplicar por 1000 para obtener 3235.645678. Luego redondeas aplicando el método round de la clase Math que te devuelve 3236. Luego divides 3236 entre 1000 para obtener 3.2336 que es el resultado. El número de ceros que pongas en la multiplicación es el número de decimales que obtienes.

Si haces x = (double)Math.round(x * 10) / 10; obtendrás 3.2

Si haces x = (double)Math.round(x * 100) / 100; obtendrás 3.23


En el método llenar_matrices el cambio podría hacerse así para que te muestre los números con un decimal:

Código: [Seleccionar]
static void llenar_matrices(double p1[][], double p2[][], double p3[][],double n1){     
        Random  rnd = new Random();
        for (int i=0;i<n1;i++){
            for (int j=0;j<6;j++){

                p1[i][j]=(rnd.nextDouble()* 5)+1; p1[i][j]=(double)Math.round(p1[i][j] * 10) / 10;
                p2[i][j]=(rnd.nextDouble()* 5)+1; p2[i][j]=(double)Math.round(p2[i][j] * 10) / 10;
                p3[i][j]=(rnd.nextDouble()* 5)+1; p2[i][j]=(double)Math.round(p3[i][j] * 10) / 10;

            }
        }
    }


Páginas: 1 ... 10 11 12 13 14 [15] 16 17 18 19 20

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".