hola
me suscede algo raro o no se si este equivocado
tengo esta consulta
$result_hora = mysql_query("SELECT * FROM servicios WHERE ing ='".$_POST['ing']."' AND fecha_entrada='".$_POST['fecha']."'",$link)or die (mysql_error());
la cual retorna tres fila con los valores numéricos: 15,16 y 17
y tengo el siguiente codigo:
while($row = mysql_fetch_assoc($result_hora)){
echo $row['hora_entrada'];
if ( $row['hora_entrada'] == 8 ){
$var1 = "1";
}else{
$var1 = "0";
}
if ( $row['hora_entrada'] == 9 ){
$var11 = "1";
}else{
$var11 = "0";
}
if ( $row['hora_entrada'] == 10 ){
$var2 = "1";
}else{
$var2 = "0";
}
if ( $row['hora_entrada'] == 11 ){
$var22 = "1";
}else{
$var22 = "0";
}
if ( $row['hora_entrada'] == 12 ){
$var3 = "1";
}else{
$var3 = "0";
}
if ( $row['hora_entrada'] == 13 ){
$var33 = "1";
}else{
$var33 = "0";
}
if ( $row['hora_entrada'] == 14 ){
$var4 = "1";
}else{
$var4 = "0";
}
if ( $row['hora_entrada'] == "15" ){
$var44 = "si";
}else{
$var44 = "no";
}
if ( $row['hora_entrada'] == 16 ){
$var5 = "1";
}else{
$var5 = "0";
}
if ( $row['hora_entrada'] == 17 ){
$var55 = "1";
}else{
$var55 = "0";
}
}
mando a escribir los resultados de las variable asi:
echo"<br>";
echo $var1;
echo"<br>";
echo $var2;
echo"<br>";
echo $var3;
echo"<br>";
echo $var4;
echo"<br>";
echo $var5;
echo"<br>";
echo"<br>";
echo $var11;
echo"<br>";
echo $var22;
echo"<br>";
echo $var33;
echo"<br>";
echo $var44;
echo"<br>";
echo $var55;
echo"<br>";
y el problema es que no me entra en el if del 15 y 16, pero en el if del 17 si entra..
no se que pasa, no se si este haciendo algo mal..
si alguien me pudiese ayudar se lo agradecería.
postea el codigo mas claro (un pedazo grande mas visible), que datos estás enviando, la estructura o datos de la db y si puedes has un print_r a $row para ver que está devolviendo el codigo... puede ser error en tus datos mas que en el codigo
por otro lado puedes
1- cambiar todas las variables por un solo array
2- igualar todas las variables 0 y eliminas todos los else
para que su codigo sea mas compacto y facil de manejar
Utiliza === en ves de ==
Estas seguro que en la base de datos las columas son de tipo INT y no Vchar?
No tiene nada que ver con tu pergunta pero, por favor...
¡Usar mysqli (http://php.net/manual/en/book.mysqli.php)!
para que mysqli... es ganas de usar objetos en algo que ya esta explicito... y para eso me creo mi propia clase de manejo mas flexible y adaptada a necesidades -.- no se, solo digo es opinion personal
porque mysql_query está obsoleto y va a desaparece de algunas versiones de php:
http://cl1.php.net/mysql_query
CitarThis extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information.
wow! D:! que fastidio -.-
alguien conoce el por que queda obsoleta?
porque la programación orientada a objeto es la manera mas ordenada y flexible de crear un software o script, la mayoría de los cambios en php5 fueron migrar varias funciones libres a objetos, de hecho si le das un vistazo a todos los frameworks existentes todos usan objetos.
si, yo siempre uso objetos porque es comodo... pero me parece que si tienes funciones explicitas asi son mas comodas para crear los objetos que usar objetos para crear objetos (para no heredarlas porque estás sumando varias funciones)... bueh... sera adaptarse
Sigues pudiendo usar el modo "normal".. por ejemplo:
<?php $result = $mysqli->query("lalalal"); ?>
<?php $result = mysqli_query($link,'lalalal'); ?>
Saludos
Y si quieres que el objeto se adapte a tus necesidades haces una clase que herede de mysqli. Es bastante sencillo.
Saludos,
Wofo.