Comunidad de diseño web y desarrollo en internet online

No imprime la consulta - carrito de compras

Citar            
MensajeEscrito el 01 Oct 2011 08:18 am
Buenas noches que escribo al foro para contarles un problemita que me esta pasando , espero q me ayuden a detectarlo, lo que pasa es que ando construyendome un carrito de compras con php y mysql , cree mi base de datos , y se la consulta de cada producto a mi paguina principal , puse un buscador.. todo genial , aqui viene el problema , a la hora de agregarlo al carrito , me imprime el precio el stock pero al imprimir la variable que contiene la consulta no muestra el nombre del producto y no se que hacer ya intente todo lo que puedo asi que les pido su ayuda , les adjunto mi codigo de las dos partes

Aqui ise mi conexion a la base de datos: conexiondb.php

Código PHP :

<?php 
$db=mysql_connect("localhost","root","root"); 
$declarar=mysql_select_db("carrito",$db); 
if($declarar==true){ 
    echo "exito en la conexion"; 
} 
else{echo "fallo la conexion";} 
?> 


mi pagina principal donde estan mis productos: carrito_index.php

Código PHP :

<?php 
include("conexiondb.php"); 
?> 
<html> 
<title>Carrito de compras</title> 
<body> 
<table width="1000px" border="0" align="center" cellpadding="5" cellspacing="5"> 
    <tr> 
    <td colspan="3" align="left" valign="middle" bgcolor="#CCCCCC">Javier Olivos Millones</td> 
    <td align="center" valign="middle" bgcolor="#CCCCCC" colspan="4"><form name="form1" method="post" action="buscar_principal.php"> 
      <label for="bus"></label> 
      <input type="text" name="bus" id="bus"> 
      <input type="submit" name="button" id="button" value="buscar"> 
    </form></td> 
  </tr> 
  <tr> 
    <td colspan="7" align="center" bgcolor="#CCCCCC">CARRITO DE COMPRAS CON PHP Y MYSQL PREGUNTA 2</td> 
  </tr> 
  <tr bgcolor="#F5F5F5"> 
    <td style="border:1px solid">ID Producto</td> 
    <td style="border:1px solid">Imagen</td> 
    <td style="border:1px solid">Nombre</td> 
    <td style="border:1px solid" bgcolor="#FFBCBC">Precio</td> 
    <td style="border:1px solid" bgcolor="#FFE6BC">Stock</td> 
    <td style="border:1px solid">Descripcion</td> 
    <td style="border:1px solid">Agregar</td>   
  </tr> 
   
<?php 
$consulta=mysql_query("select*from productos",$db); 
while($mostrar=mysql_fetch_array($consulta)){ 
$agregar="<a href='carrito.php?id=$id&accion=agregar'>Agregarlo</a>"; 
$id=$mostrar['id']; 
?> 
  <tr bgcolor="#FFFBDF"> 
    <td style="border:1px solid"><?php echo $mostrar['id']?></td> 
    <td style="border:1px solid"><?php echo "<img src='img/".$id.".jpg'/>" ?></td> 
    <td style="border:1px solid"><?php echo $mostrar['nombre']?></td> 
    <td style="border:1px solid" bgcolor="#FFBCBC">s/.<?php echo $mostrar['precio']?></td> 
    <td style="border:1px solid" bgcolor="#FFE6BC"><?php echo $mostrar['stock']?></td> 
    <td style="border:1px solid"><?php echo $mostrar['descripcion']?></td> 
      <td style="border:1px solid"><?php echo $agregar ?></td> 
  </tr> 
<?php 
} 
?> 
</table> 
</body> 
</html> 


Y la pagina donde me muestra lo que agrege y donde esta el problema y no me imprime el nombre al agregar el producto : carrito.php

Código PHP :

<?php 
session_start(); 
include("conexiondb.php"); 
?> 
<html> 
<title>Carrito de compras</title> 
<body> 
<?php 
if(isset($_GET['id'])) 
    $id=$_GET['id']; 
else  
$id=1; 
if(isset($_GET['accion'])){ 
    $realizar=$_GET['accion']; 
} 
else 
    $accion="vacio"; 
switch($realizar){ 

//caso Agregar 
case "agregar": 
if(isset($_SESSION['carrito'][$id])) 
    $_SESSION['carrito'][$id]++; 
else 
    $_SESSION['carrito'][$id]=1; 

break; 
//Caso Eliminar 
case "eliminar": 
if(isset($_SESSION['carrito'][$id])) 
    $_SESSION['carrito'][$id]--; 
     
if($_SESSION['carrito'][$id]==0) 
    unset($_SESSION['carrito'][$id]); 
break; 
//Caso Vacio 
case "vacio": 
    unset($_SESSION['carrito']); 
break; 
} 
//planteamiento del carrito de compras 
if(isset($_SESSION['carrito'])){ 

$total=0; 
echo"<table border='1' cellpadding='5' cellspacing='5'>"; 
echo "<tr>"; 
echo "<td>Nombre</td>"; 
echo "<td>cantidad</td>"; 
echo "<td>valor</td>"; 
echo"</tr>"; 
foreach($_SESSION['carrito']as$id=>$x){ 

$consulta=mysql_query("select*from productos",$db); 
$mostar=mysql_fetch_array($consulta); 


$nombre=$mostrar['nombre']; 
$precio=$mostar['precio']; 
$descripcion=$mostar['descripcion']; 
$costo=$x*$precio; 
$total=$total+$costo; 


echo "<tr>"; 
echo "<td>$nombre</td>"; 
echo "<td>$x</td>"; 
echo"<td>$costo</td>"; 
echo"<td>$descripcion</td>"; 
echo "<td>$nombre</td>"; 
echo"</tr>"; 
     

}//foreach 
echo"<tr>"; 
echo "<td>Total:</td>"; 
echo "<td>$total</td>"; 
echo "</tr>"; 
} 
?> 
</body> 
</html>


espero q me ayuden , ya se me a ocurrido todo lo que se para poder solucionarlo y no me soluciona ,no me quiero dar por vencido , Gracias de antemano !

Por NEONARCK

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 01 Oct 2011 09:40 am
Hola, el error que veo es que la consulta sql no tiene ningun espacio

$consulta=mysql_query("select*from productos",$db); deberia ser

$consulta=mysql_query("select * from productos",$db);

tanto en carrito_index.php como en carrito.php las tienes igual, asi que es posible que no se este haciendo la consulta a la base de datos y por eso no te lo imprima.

Por bray

65 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.