Foros del Web » Programando para Internet » PHP »

carrito de compra con error (SOY NOVATO)

Estas en el tema de carrito de compra con error (SOY NOVATO) en el foro de PHP en Foros del Web. hola a continuacion les muestro un codigo que deberia recibir los valores de una solicitud, pero siempre, asi escoja un articulo me envia el mensaje ...
  #1 (permalink)  
Antiguo 19/05/2004, 14:48
 
Fecha de Ingreso: enero-2004
Ubicación: Caracas
Mensajes: 9
Antigüedad: 20 años, 3 meses
Puntos: 0
carrito de compra con error (SOY NOVATO)

hola a continuacion les muestro un codigo que deberia recibir los valores de una solicitud, pero siempre, asi escoja un articulo me envia el mensaje "No ha escogido ningún objeto"; si alguien ve un error, se lo agradeceria muchisimo ya que de tanto ver el codigo no se donde me equivoque, saludos y muchas gracias de antemano

<?php
require"comun.inc";
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<?php
function buscar_y_eliminar(&$carrito, $elemento)
{
$i = 0;
$encontrado = false;
while ($i < count($carrito) && !$encontrado)
if ($carrito[$i] == $elemento)
{
$encontrado = true;
$carrito[$i] = " ";
}
else
$i++;
}

function incluir_en_carrito($tabla, &$carrito)
{
$ultimo = count($carrito);
for ($i = 0; $i < count($tabla); $i++)
{
$carrito[$ultimo] = $tabla[$i];
$ultimo++;
}
}

function algun_producto_escogido($carrito)
{
$i = 0;
$encontrado = false;
while ($i < count($carrito) && !$encontrado)
{
$encontrado = $carrito[$i] != " ";
$i++;
}
return $encontrado;
}

if (!isset($tabla))
$tabla = array();
if (!isset($producto))
$producto = "";

$conexion = conectar_bd();

if (!($cursor = mysql_query("select * from productos where tipo='$producto'", $conexion)))
die( mysql_error() . "ERROR: Select no valido");


while ($fila = mysql_fetch_row($cursor))
buscar_y_eliminar($carrito, $fila[0]);

incluir_en_carrito($tabla,$carrito);

$ir_a_pagar = algun_producto_escogido($carrito);

if ($ir_a_pagar)
echo "Para adquirir los productos pase a la opcion de pagar\n";

else
echo "Bienvenido a la tienda\n";

desconectar_bd();



?>
</body>
</html>



este es el que lo recibe

<?php
require "comun.inc";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><link rel="stylesheet" type="text/css" href="../correosws.css">
<link rel="stylesheet" type="text/css" href="../estilos_admin.css">

<title>Solicitud de Compra</title>
</head>

<body>
<form action="registracompra.php?<?=SID?>" method="post">
<table><?php
function esta_en_array($array, $valor)
{
$continuar = true;
$i = 0;
while ($continuar && ($i < count($array)))
{
$continuar = ($array[$i] != $valor);
$i++;
}
return !$continuar;
}

$conexion = conectar_bd();

if (!($cursor = mysql_query("select * from productos")))
die (mysql_error() . "error: sleect no valido");

$numero_productos = 0;
$total = 0;

while ($fila = mysql_fetch_row($cursor))
if (esta_en_array($carrito, $fila[0]))
{
$numero_productos++;
$total = $total + $fila[3];
echo "<tr><td class='tex2'>$numero_productos</td>";
echo "<td class='tex2'>$fila[1]</td><td align='right' class='tex2'>\n" .
"$fila[3] Bs</td></tr>\n";

}

if ($total == 0)
die("No ha escogido ningun articulo");
else
{
echo "<tr><td class='tex2'>&nbsp;</td>";
echo "<td align='right' class='tex2'>Total = </td>" .
"<td align='right' class='tex2'>${total} Bs</td></tr>\n";
}
desconectar_bd();

?>

</table>


<table>
<tr><td>Datos de envio</td></tr>

</table>


</form>
</body>
</html>

Última edición por chivasvzla; 19/05/2004 a las 14:51
  #2 (permalink)  
Antiguo 19/05/2004, 14:54
 
Fecha de Ingreso: enero-2004
Ubicación: Caracas
Mensajes: 9
Antigüedad: 20 años, 3 meses
Puntos: 0
si siguio el error

Última edición por chivasvzla; 19/05/2004 a las 14:58
  #3 (permalink)  
Antiguo 19/05/2004, 15:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Fijate:

Código PHP:
$numero_productos 0;
$total 0;

while (
$fila mysql_fetch_row($cursor))
if (
esta_en_array($carrito$fila[0]))
{
$numero_productos++;
$total $total $fila[3];
echo 
"<tr><td class='tex2'>$numero_productos</td>";
echo 
"<td class='tex2'>$fila[1]</td><td align='right' class='tex2'>\n" .
"$fila[3] Bs</td></tr>\n";

}

if (
$total == 0)  // <--- OJO aquí
die("No ha escogido ningun articulo");
else 


usas un $total .. que "acomulas el valor" de no sé que campo de tu BD .. Pero también usas: $numero_productos que supongo que esa es la que deberías comparar en tu condicional if() que haces ahí.


PD: Tu funcion "esta_en_array()" ya la implementa PHP en: in_array()

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 20/05/2004, 12:32
 
Fecha de Ingreso: enero-2004
Ubicación: Caracas
Mensajes: 9
Antigüedad: 20 años, 3 meses
Puntos: 0
me quede igual, no entiendo cual error tengo en mi codigo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:34.