FRIHOSTFORUMSSEARCHFAQTOSBLOGSDIRECTORY
You are invited to Log in or Register a Frihost Account!

necesito ayuda PHP

 


Sickness
muy buenas! tengo un código php para un carrito de compra que en en navegador del DEVPHP funciona de maravilla, pero cuando lo abro con el internet explorer o mozilla firefox me da un error un un sitio muy tonto

Code:

if($_SESSION['cant_miel']>=1){
   $sql="select * from carritocompra where id=1";
   $tabla_resultado=mysql_query($sql,$conexion);
   if(!$tabla_resultado){
      echo "  ERROR: Imposible realizar consulta.<br>";
   }
   else{   
      $numero_filas=mysql_numrows($tabla_resultado);
      if($numero_filas>0){          
         while($fila=mysql_fetch_row($tabla_resultado)){
           $total_miel=$_SESSION['cant_miel']*$fila[2];
           $c=$_SESSION['cant_miel'];
             echo"<table border=1><tr><td width=100 height=25 VALIGN=MIDDLE align=center><font color=white>$fila[1] </td><td width=50 height=25 VALIGN=MIDDLE align=center><font color=white>$fila[2] €</td><td width=50 height=25 VALIGN=MIDDLE align=center><font color=white>$c  uds.</td><td width=50 height=25 VALIGN=MIDDLE align=center><font color=white>$total_miel  €</td></tr></table>";
         }      
      }
   $a=1;
   }
}


bien, el problema no es por sesiones ni nada de eso, el problema viene a partir del simbolo ">", es rarísimo, es como si a partir de ese simbolo ya no me coge el código

hay alguna manera de poner un "mayor que" sin tener que recurrir a ese simbolo
Caxius
ummmm te da error eso? no se, yo en ejercicios de clase (allá en antaño XD) recuerdo haber hecho comparaciones y no darme ningun error ese simbolo..ummmm
no se no se
consultare algo cuando tenga un momento en el curro libre, a ver si encontro porque peude ser
Sickness
ya he encontrado que no es problema de mi ordenador, xq ya lo he probado en otro

puede ser que IE y MOZILLA me detecten el simbolo "<" o ">" como un inicio o final de etiqueta

no hay otra manera de poner el mayor que o menor que?
fribos
El uso del mayor o igual ">=" es correcto, incluso si el contenido de la variable de sesion cant_miel fuese una cadena, php compara estos sin producir error alguno.

Quote:
$a <= $b Menor o igual que TRUE si $a es menor o igual que $b.
$a >= $b Mayor o igual que TRUE si $a es mayor o igual que $b.

Si compara un entero con una cadena, la cadena es convertida a un número. Si compara dos cadenas numéricas, ellas son comparadas como enteros. Estas reglas también se aplican a la sentencia switch.


MAS INFO:http://ar.php.net/manual/es/language.operators.comparison.php


Last edited by fribos on Thu Nov 20, 2008 8:04 pm; edited 2 times in total
davidag
La comparación está bien,

Muestranos una salida para ver el error de manera exacta y saber que es lo que está pasando.

Yo el de las comillas la verdad es que no lo veo.

Un saludo
davidag
Incluso mejor el código fuente de la página de salida, así sabremos exactamente donde para al interpretar el php

Un saludo
Sickness
la verdad esk lo de las comillas no he acabado de entenderlo, esk está bien, solo pasa que no me reconoce el símbolo ">" ni el "<"

ahora mismo no puedo poneros el código fuente, aunk ya tengo un par de ideas para tratar de solucionarlo
sitiodeprueba
Hola aqui puedes encontrar la ayuda que necesitas, pero sea para tu beneficio:

www.desarrolloweb.com/php
www.manualdephp.com/
www.webtaller.com/manual-php/manual_php.php
manual-de-php.softonic.com
manual-de-php.softonic.com
www.dirphp.com/
Sickness
si weno, por ahi es por donde he estado mirando, y sigo sin entenderlo Confused
Mamsaac
Lo siento, pero la información que estás dando es muy vaga.

Primero, pon el error exacto que te está dando el script.

Luego, pon el output que está haciendo al correrlo.

Después, sería agradable que explicaras un poco lo que deseas que haga.

Saludos.
Mamsaac
Ah, y $numero_filas=mysql_numrows($tabla_resultado); deberá dar un error al menos que hayas definido tú la función.

Es mysql_num_rows(), no mysql_numrows. Voy a imaginar que ese es el error.
mesianica
Code:
if($_SESSION['cant_miel']>=1){
   $sql="select * from carritocompra where id=1";
   $tabla_resultado=mysql_query($sql,$conexion);
   if(!$tabla_resultado){
      echo "  ERROR: Imposible realizar consulta.<br>";
   }
   else{   
      $numero_filas=mysql_numrows($tabla_resultado);
      if($numero_filas>0){           
         while($fila=mysql_fetch_row($tabla_resultado)){
           $total_miel=$_SESSION['cant_miel']*$fila[2];
           $c=$_SESSION['cant_miel'];
             echo"<table border=1><tr><td width=100 height=25 VALIGN=MIDDLE align=center><font color=white>".$fila[1]." </td><td width=50 height=25 VALIGN=MIDDLE align=center><font color=white>".$fila[2] ." €</td><td width=50 height=25 VALIGN=MIDDLE align=center><font color=white>".$c."   uds.</td><td width=50 height=25 VALIGN=MIDDLE align=center><font color=white>".$total_miel ."  €</td></tr></table>";
         }       
      }
   $a=1;
   }
}



Lo que yo encontré es quen te hacía falta poner esos puntos y comillas que le he agregado a tu código. Por ejemplo:

...white>".$fila[1]." </td><...

Slaudos
Mamsaac
mesianica wrote:
Code:
if($_SESSION['cant_miel']>=1){
   $sql="select * from carritocompra where id=1";
   $tabla_resultado=mysql_query($sql,$conexion);
   if(!$tabla_resultado){
      echo "  ERROR: Imposible realizar consulta.<br>";
   }
   else{   
      $numero_filas=mysql_numrows($tabla_resultado);
      if($numero_filas>0){           
         while($fila=mysql_fetch_row($tabla_resultado)){
           $total_miel=$_SESSION['cant_miel']*$fila[2];
           $c=$_SESSION['cant_miel'];
             echo"<table border=1><tr><td width=100 height=25 VALIGN=MIDDLE align=center><font color=white>".$fila[1]." </td><td width=50 height=25 VALIGN=MIDDLE align=center><font color=white>".$fila[2] ." €</td><td width=50 height=25 VALIGN=MIDDLE align=center><font color=white>".$c."   uds.</td><td width=50 height=25 VALIGN=MIDDLE align=center><font color=white>".$total_miel ."  €</td></tr></table>";
         }       
      }
   $a=1;
   }
}



Lo que yo encontré es quen te hacía falta poner esos puntos y comillas que le he agregado a tu código. Por ejemplo:

...white>".$fila[1]." </td><...

Slaudos


En PHP la concatenación para incluir variables es innecesaria cuando se usan comillas dobles y solamente necesaria cuando se usan comillas simples (con algunas excepciones).

EDITADO: Pondré la excepción más típica.

Teniendo inicialmente:
Code:
<?php

$var1 = "Hola!";

$arr[0] = 'unvalor';
$arr[1] = 'otro valor';
$arr["hola"] = 'jajaja';

Escribir lo siguiente obtendría los resultados esperados (y serían lo mismo, excepto que con comillas simples es un poco más eficiente para el parser):
Code:

echo "ANTES::$arr[0]::DESPUES";
echo 'ANTES::'.$arr[0].'::DESPUES';
echo "ANTES::".$arr[0]."::DESPUES";
echo "ANTES::{$arr[0]}::DESPUES";


Mientras que lo siguiente sería equivocado:
Code:

echo "ANTES::$arr['hola']::DESPUES";


Y se puede arreglar de las siguientes tres formas (o de otras más, posiblemente):
Code:

echo "ANTES::{$arr['hola']}::DESPUES";
echo "ANTES::".$arr['hola']."::DESPUES";
echo 'ANTES::'.$arr['hola'].'::DESPUES';


Generalmente se usa la siguiente regla:
Si vas a usar concatenación para los strings (usar .), usa comillas simples, puesto que son mejores y al menos queda claro a otro programador que si vas a imprimir variables vas a concatenar.
Pero en lo general, si vas a imprimir variables dentro del texto, se usan comillas dobles, ya que hace al texto más fácil de leer. Un ejemplo típico son las consultas de SQL. Un ejemplo:

Code:

$miConsulta = "UPDATE usuarios SET nombre = '$nombre', compani = '$compani', correo = '$correo', detalles = '$detalles' WHERE id = '$id'";


Que es mucho más sencillo que leerlo de otra forma.

"¿Por qué complicarse la vida con comillas simples y dobles?".
Para accesos a arreglos (como $var['hola']) y demás normalmente se usan con comillas simples, ya que son más rápidas. Pero en general, porque así puedes imprimir información "tal cual viene" (excepto para escapar comillas simples).
En cambio, las comillas dobles son útiles porque, aunque son un poco más lentas, son más sencillas de leer. Cuando estás en un proyecto mediano a grande, es demasiado importante que se pueda leer el código por cualquier persona y que se entienda.

Espero que con esto se arregle tu confusión =)
Related topics

necesito ayuda
formularios y correo-e, !ayuda¡
¿Como Manillar e Instalar un Foro PHP?
Como se usa Cpanel. Problemas con el mysql
(ayuda) router???

[games]instalar server de ro
[Help] Necesito ayuda con BD
Mi primera web
ayuda
COMO LE HAGO !!!!!!

[var]Cual es el secreto para hacer buenas milanesas??
[HELP] 403 Forbidden
[help] Problema técnico :(
ase poko lei unas post sobre como crear tu server ro pero
necesito ayuda ,problemas de formato con ulead videoestudio
Reply to topic    Frihost Forum Index -> Language Forums -> Spanish

FRIHOST HOME | FAQ | TOS | ABOUT US | CONTACT US | SITE MAP
© 2005-2007 Frihost, forums powered by phpBB.