Ayuda carrito en php

tOWERR

Buenas amigos, estoy haciendo una especie de carrito que nos han mandado en clase, entonces muestro los productos en una tabla y cada producto tiene un campo cantidad y un boton para añadir el producto. En clase nos han dicho que cuando se de al boton se metan los valores en un array, y luego cuando se de al apartado ver carrito que nos muestro lo que ha ido comprando y se ha ido metiendo en el array. Mi problema es que cuando le doy al boton para que se metan los valores en el array y redirecciono a la página donde me muestra los productos que habia buscado me da un error en uno de los select de la busqueda de productos. ¿Alguien me puede echar una manilla y decirme cual es mi error?
Dejo aqui los 2 codigos:

  • MuestraProductos.php
    <?php
    session_start();
    include("Conexion.php");
    //echo $_POST['busqueda'];
    if($_POST[category] == -1 && $_POST[busqueda] == ""){
    	$resul = mysql_query("SELECT IDProducto, PRODUCTOS.Descripcion, Precio, Existencias, Imagen, CATEGORIAS.Nombre FROM PRODUCTOS, CATEGORIAS WHERE CATEGORIAS.IDCategoria = PRODUCTOS.IDCategoria",$conexion) or die ("No funciona1");
    	echo "<html>";
    	echo "<head>";
    	echo "<title>MUESTRA DE PRODUCTOS</title>";
    	echo "</head>";
    	echo "<body bgcolor='SteelBlue'>";
    	echo "<table width='70%' align='center' border='1' bgcolor='black'>";
    	echo "<th align='center' colspan='2' style='font-size:20px;font-family:Calibri;background-color:white;'>LISTA DE TODOS LOS PRODUCTOS</th>";
    	while($fila=mysql_fetch_array($resul)){
    		
    echo "<tr>";
    echo "<td align='center' bgcolor='white'>";
    echo "<img src='./img/$fila[Imagen]' style='border:0;' alt='image'></img>";
    echo "</td>";
    echo "<td bgcolor='white'>";
    echo "<span style='font-family:Calibri;font-size:20px;font-weight:bold;'>$fila[Descripcion]</span>";
    echo "<br/>";
    echo "<span style='font-family:Calibri;font-size:15px;'><span style='font-family:Calibri;font-size:15px;font-weight:bold;'>Precio:</span>&nbsp;$fila[Precio]&#8364;</span>";
    echo "<br/>";
    echo "<span style='font-family:Calibri;font-size:15px;'><span style='font-family:Calibri;font-size:15px;font-weight:bold;'>Categor&iacute;a:</span>&nbsp;$fila[Nombre]</span>";
    echo "<br/>";
    echo "<form name='pedido' method='post' action='AniadirCarrito.php'>";
    echo "<span style='font-family:Calibri;font-size:15px;'>Cantidad:&nbsp;<input type='text' name='canti' size='4' maxlenght='4'>&nbsp;&nbsp;
    	<input type='hidden' name='idP' value='$fila[IDProducto]'>
    	<input type='hidden' name='descP' value='$fila[Descripcion]'>
    	<input type='hidden' name='precioP' value='$fila[Precio]'>
    	<input type='hidden' name='existP' value='$fila[Existencias]'>
    	<input type='submit' name='Aniadir' value='Agregar al carrito'>
    	</span>";
    echo "</form>";
    echo "</td>";
    echo "</tr>";
    
    	} // FIN while#1
    	echo "</table>";
    
    echo "</body>";
    echo "</html>";
    } // FIN if#1
    else{
    	if($_POST[category] == -1 && $_POST[busqueda] != ""){
    		$resul = mysql_query("SELECT IDProducto, PRODUCTOS.Descripcion, Precio, Existencias, Imagen, CATEGORIAS.Nombre FROM PRODUCTOS, CATEGORIAS WHERE CATEGORIAS.IDCategoria = PRODUCTOS.IDCategoria AND PRODUCTOS.Descripcion like '%$busqueda%'",$conexion) or die ("No funciona2");
    		$resul2 = mysql_query("SELECT IDProducto, PRODUCTOS.Descripcion, Precio, Existencias, Imagen, CATEGORIAS.Nombre FROM PRODUCTOS, CATEGORIAS WHERE CATEGORIAS.IDCategoria = PRODUCTOS.IDCategoria AND PRODUCTOS.Descripcion like '%$busqueda%'",$conexion) or die ("No funciona3");
    		//$fila2 = mysql_fetch_array($resul);
    		$fila = mysql_fetch_array($resul);
    		echo "<html>";
    		echo "<head>";
    		echo "<title>MUESTRA DE PRODUCTOS</title>";
    		echo "</head>";
    		echo "<body bgcolor='SteelBlue'>";
    		echo "<table width='70%' align='center' border='1' bgcolor='black'>";
    		echo "<th align='center' colspan='2' style='font-size:20px;font-family:Calibri;background-color:white;'>LISTA DE TODOS LOS PRODUCTOS</th>";
    		if (!$fila){
    			echo "<tr>";
    			echo "<td align='center' colspan='2' style='font-size:20px;font-family:Calibri;background-color:white;'>NO EXISTEN PRODUCTOS.</td>";
    			echo "</tr>";
    		} // FIN if
    		else{
    			//echo $_POST['busqueda'];
    			while($fila2=mysql_fetch_array($resul2)){
    				
    			echo "<tr>";
    			echo "<td align='center' bgcolor='white'>";
    			echo "<img src='./img/$fila2[Imagen]' style='border:0;' alt='image'></img>";
    			echo "</td>";
    			echo "<td bgcolor='white'>";
    			echo "<span style='font-family:Calibri;font-size:20px;font-weight:bold;'>$fila2[Descripcion]</span>";
    			echo "<br/>";
    			echo "<span style='font-family:Calibri;font-size:15px;'><span style='font-family:Calibri;font-size:15px;font-weight:bold;'>Precio:</span>&nbsp;$fila2[Precio]&#8364;</span>";
    			echo "<br/>";
    			echo "<span style='font-family:Calibri;font-size:15px;'><span style='font-family:Calibri;font-size:15px;font-weight:bold;'>Categor&iacute;a:</span>&nbsp;$fila2[Nombre]</span>";
    			echo "<br/>";
    			echo "<form name='pedido' method='post' action='AniadirCarrito.php'>";
    			echo "<span style='font-family:Calibri;font-size:15px;'>Cantidad:&nbsp;<input type='text' name='canti' size='4' maxlenght='4'>&nbsp;&nbsp;
    			<input type='hidden' name='idP' value='$fila2[IDProducto]'>
    			<input type='hidden' name='descP' value='$fila2[Descripcion]'>
    			<input type='hidden' name='precioP' value='$fila2[Precio]'>
    			<input type='hidden' name='existP' value='$fila2[Existencias]'>
    			<input type='submit' name='Aniadir' value='Agregar al carrito'>
    			</span>";
    			echo "</form>";
    			echo "</td>";
    			echo "</tr>";
    			
    		} // FIN while#1
    	} // FIN else
    	echo "</table>";
    	echo "</body>";
    	echo "</html>";
    }// FIN if#3
    else{
    if($_POST[category] != -1 && $_POST[busqueda] == ""){
    	$resul = mysql_query("SELECT IDProducto, PRODUCTOS.Descripcion, Precio, Existencias, Imagen, CATEGORIAS.Nombre FROM PRODUCTOS, CATEGORIAS WHERE CATEGORIAS.IDCategoria = $category AND PRODUCTOS.IDCategoria = $category",$conexion) or die ("No funciona4");
    	$resul1 = mysql_query("SELECT CATEGORIAS.Nombre FROM CATEGORIAS WHERE IDCategoria = $category",$conexion) or die ("No funciona42");
    	echo "<html>";
    	echo "<head>";
    	$fila1 = mysql_fetch_array($resul1);
    	echo "<title>MUESTRA DE PRODUCTOS</title>";
    	echo "</head>";
    	echo "<body bgcolor='SteelBlue'>";
    	echo "<table width='70%' align='center' border='1' bgcolor='black'>";
    	echo "<th align='center' colspan='2' style='font-size:20px;font-family:Calibri;background-color:white;'>LISTA DE TODOS LOS PRODUCTOS  DE LA CATEGORIA &nbsp; $fila1[Nombre]</th>";
    	while($fila=mysql_fetch_array($resul)){
    		
    		echo "<tr>";
    		echo "<td align='center' bgcolor='white'>";
    		echo "<img src='./img/$fila[Imagen]' style='border:0;' alt='image'></img>";
    		echo "</td>";
    		echo "<td bgcolor='white'>";
    		echo "<span style='font-family:Calibri;font-size:20px;font-weight:bold;'>$fila[Descripcion]</span>";
    		echo "<br/>";
    		echo "<span style='font-family:Calibri;font-size:15px;'><span style='font-family:Calibri;font-size:15px;font-weight:bold;'>Precio:</span>&nbsp;$fila[Precio]&#8364;</span>";
    		echo "<br/>";
    		echo "<span style='font-family:Calibri;font-size:15px;'><span style='font-family:Calibri;font-size:15px;font-weight:bold;'>Categor&iacute;a:</span>&nbsp;$fila[Nombre]</span>";
    		echo "<br/>";
    		echo "<form name='pedido' method='post' action='AniadirCarrito.php'>";
    		echo "<span style='font-family:Calibri;font-size:15px;'>Cantidad:&nbsp;<input type='text' name='canti' size='4' maxlenght='4'>&nbsp;&nbsp;
    			<input type='hidden' name='idP' value='$fila[IDProducto]'>
    			<input type='hidden' name='descP' value='$fila[Descripcion]'>
    			<input type='hidden' name='precioP' value='$fila[Precio]'>
    			<input type='hidden' name='existP' value='$fila[Existencias]'>
    			<input type='submit' name='Aniadir' value='Agregar al carrito'>
    		</span>";
    		echo "</form>";
    		echo "</td>";
    		echo "</tr>";
    		
    	} // FIN while#1
    	echo "</table>";
    
    	echo "</body>";
    	echo "</html>";
    	} // FIN if#2
    else{
    		if($_POST[category] != -1 && $_POST[busqueda] != ""){
    			echo "entra";
    			$resul = mysql_query("SELECT IDProducto, PRODUCTOS.Descripcion, Precio, Existencias, Imagen, CATEGORIAS.Nombre FROM PRODUCTOS, CATEGORIAS WHERE CATEGORIAS.IDCategoria = $_POST[category] AND PRODUCTOS.IDCategoria = $_POST[category] AND PRODUCTOS.Descripcion like '%$busqueda%'",$conexion) or die ("No funciona5");
    			$resul2 = mysql_query("SELECT IDProducto, PRODUCTOS.Descripcion, Precio, Existencias, Imagen, CATEGORIAS.Nombre FROM PRODUCTOS, CATEGORIAS WHERE CATEGORIAS.IDCategoria = $_POST[category] AND PRODUCTOS.IDCategoria = $_POST[category] AND PRODUCTOS.Descripcion like '%$busqueda%'",$conexion) or die ("No funciona6");
    			$resul1 = mysql_query("SELECT CATEGORIAS.Nombre FROM CATEGORIAS WHERE IDCategoria = $category",$conexion) or die ("No funciona");
    			$fila = mysql_fetch_array($resul);
    			$fila1 = mysql_fetch_array($resul1);
    			echo "<html>";
    			echo "<head>";
    			echo "<title>";
    			echo "</title>";
    			echo "</head>";
    			echo "<body bgcolor='SteelBlue'>";
    			echo "entra";
    			echo "<table width='70%' align='center' border='1' bgcolor='black'>";
    			echo "<th align='center' colspan='2' style='font-size:20px;font-family:Calibri;background-color:white;'>LISTA DE TODOS LOS PRODUCTOS  DE LA CATEGORIA $fila1[Nombre]</th>";
    			if(!$fila){
    				echo "<tr>";
    				echo "<td align='center' colspan='2' style='font-size:20px;font-family:Calibri;background-color:white;'>NO EXISTEN PRODUCTOS DE LA CATEGORIA $fila1[Nombre].</td>";
    				echo "</tr>";
    			} // FIN if
    			else{
    				while($fila2=mysql_fetch_array($resul2)){
    					
    					echo "<tr>";
    					echo "<td align='center' bgcolor='white'>";
    					echo "<img src='./img/$fila2[Imagen]' style='border:0;' alt='image'></img>";
    					echo "</td>";
    					echo "<td bgcolor='white'>";
    					echo "<span style='font-family:Calibri;font-size:20px;font-weight:bold;'>$fila2[Descripcion]</span>";
    					echo "<br/>";
    					echo "<span style='font-family:Calibri;font-size:15px;'><span style='font-family:Calibri;font-size:15px;font-weight:bold;'>Precio:</span>&nbsp;$fila2[Precio]&#8364;</span>";
    					echo "<br/>";
    					echo "<span style='font-family:Calibri;font-size:15px;'><span style='font-family:Calibri;font-size:15px;font-weight:bold;'>Categor&iacute;a:</span>&nbsp;$fila2[Nombre]</span>";
    					echo "<br/>";
    					echo "<form name='pedido' method='post' action='AniadirCarrito.php'>";
    					echo "<span style='font-family:Calibri;font-size:15px;'>Cantidad:&nbsp;<input type='text' name='canti' size='4' maxlenght='4'>&nbsp;&nbsp;
    					<input type='hidden' name='idP' value='$fila2[IDProducto]'>
    					<input type='hidden' name='descP' value='$fila2[Descripcion]'>
    					<input type='hidden' name='precioP' value='$fila2[Precio]'>
    					<input type='hidden' name='existP' value='$fila2[Existencias]'>
    					<input type='submit' name='Aniadir' value='Agregar al carrito'>
    					</span>";
    					echo "</form>";
    					echo "</td>";
    					echo "</tr>";
    					
    				} // FIN while#1
    			}// FIN else
    	}// FIN if
    	echo "</table>";
    	echo "</body>";
    	echo "</html>";
    } // FIN else
    } // FIN else
    } // FIN else#1
    mysql_close();
    ?>
    
    • AniadirCarrito.php:

      <?php
      	session_start();
      	include("Conexion.php");
      	
      	
      	$array1[] = array($idP,$descP,$precioP,$existP);
      	$array[] = $array1;
      	$_SESSION['vector'] = $array;
      	
      	Header("Location: MuestraProductos.php");
      ?>
      
    donde busco los productos es una pagina que tiene un buscador con un combo para seleccionar la categoria y un text para insertar una cadena para si la contiene algun producto que me busque los que contienen de esa categoria, si no selecciona ninguna categoria mostraria todos los productos. Anoche estuve intentando y hacerlo pero no era capaz y soy novatillo en esto hemos empezado hace poco.

    Un saludo y gracias.
Mikelanllelo

Pinta en pantalla las querys que estas sacando, una a una y lánzalas en la bbdd.

1 respuesta
tOWERR

#2
¿Que querys son las que me dices que pinte?
Perdona que sea tan inutil, pero es que no te entiendo que querys me dices.
Un saludo.

eXtreM3

En la linea donde te de el error, el php te lo indica. Vete al código busca la consulta y hazle un echo, para ver lo que te devuelve. Cuando lo hagas copialo y pegalo en el sql del phpmyadmin, ahí te dirá dónde está el error.

Por ejemplo, tienes en la linea 15 esto

$query = mysql_query("SELECT * FROM productos");

y te dice que está fallando la linea 15, pues coges y pones esto justo en la linea de abajo

echo "SELECT * FROM productos";

y le das al f5, a ver qué te devuelve.

tOWERR

Vale, lo que me ocurre que la variable que la variable de categoria cuando vuelvo a la pagina cuando inserto en el vector, no tiene ningun valor. ¿Como puedo hacer para que tenga el valor que tenia?

Mikelanllelo

Puede que me equivoque, pero al refrescar la página, la variable category no la encuentra.

Creo que ni siquiera la tienes puesta en los inputs hidden de abajo.

Ponle esto debajo del ultimo input hidden:

<input type='hidden' name='category' value='$fila2[Nombre]'> 
tOWERR

Lo he puesto y sigue sin cogerme valor. Nose como lo puedo hacer para coger valor, estoy desesperado.

Os pego el nuevo codigo como lo tengo ahora:

  • Codigo del buscador:
    <div id='cabecera'>
    <table width='100%' height='20%'>
    <tr>
    <td width='20%'><span style='font-weight:bold; font-family:Calibri;'>BIENVENIDO:</span> &nbsp;"."<span style='font-style:italic; font-family:Calibri;'>".$Nombre."</span>";
    echo "</td>
    
    <td class='tdd'><a href='ValidaDatos.php' target='ifra'>Ver mis datos</a></td>
    <td class='tdd'><a href='#'>Salir</a></td>
    <td class='tdd'><a href='#'>Historial de compras</a></td>
    <td class='tdd'><a href='VerCarrito.php' target='ifra'>Ver mi carrito</a>( )</td>
    </tr>
    </table>
    <form name='formu2' action='MuestraProductos.php' method='post' target='ifra'>
    <table width='70%' height='50%' align='center' style='background-color:black;'>
    <th>B&uacute;squeda de productos</th>
    <tr bgcolor='Silver'>
    <td align='center'><span style='font-weight:bold;font-family:Calibri;font-size:16px;font-color:Blue;'>B&uacute;squeda:&nbsp;</span>
    <input type='text' name='busqueda' size='100'>
    </td>
    </tr>
    <tr bgcolor='Silver'>
    <td align='center'>
    <span style='font-weight:bold;font-family:Calibri;font-size:16px;font-color:Blue;'>Categor&iacute;a:&nbsp;</span>
    <select name='category'>";
    echo "<option value='-1'>Todas las categor&iacute;as</option>";
    
    while($fila=mysql_fetch_array($resul)){
    echo "<option value=$fila[IDCategoria]>$fila[Nombre]</option>";
    }
    echo "</select>
    &nbsp; &nbsp;
    <input type='submit' name='BusProd' value='Buscar Productos'>
    </td>
    </tr>
    </table>
    </form>
    </div>
    
    • MuestraProductos.php:
      <?php
      session_start();
      include("Conexion.php");
      
      if($_POST[category] == -1 && $_POST[busqueda] == ""){
      	$resul = mysql_query("SELECT IDProducto, PRODUCTOS.Descripcion, Precio, Existencias, Imagen, CATEGORIAS.Nombre, CATEGORIAS.IDCategoria FROM PRODUCTOS, CATEGORIAS WHERE CATEGORIAS.IDCategoria = PRODUCTOS.IDCategoria",$conexion) or die ("No funciona1");
      	echo "<html>";
      	echo "<head>";
      	echo "<title>MUESTRA DE PRODUCTOS</title>";
      	echo "</head>";
      	echo "<body bgcolor='SteelBlue'>";
      	echo "<table width='70%' align='center' border='1' bgcolor='black'>";
      	echo "<th align='center' colspan='2' style='font-size:20px;font-family:Calibri;background-color:white;'>LISTA DE TODOS LOS PRODUCTOS</th>";
      	while($fila=mysql_fetch_array($resul)){
      		
      	echo "<tr>";
      	echo "<td align='center' bgcolor='white'>";
      	echo "<img src='./img/$fila[Imagen]' style='border:0;' alt='image'></img>";
      	echo "</td>";
      	echo "<td bgcolor='white'>";
      	echo "<span style='font-family:Calibri;font-size:20px;font-weight:bold;'>$fila[Descripcion]</span>";
      	echo "<br/>";
      	echo "<span style='font-family:Calibri;font-size:15px;'><span style='font-family:Calibri;font-size:15px;font-weight:bold;'>Precio:</span>&nbsp;$fila[Precio]€</span>";
      	echo "<br/>";
      	echo "<span style='font-family:Calibri;font-size:15px;'><span style='font-family:Calibri;font-size:15px;font-weight:bold;'>Categor&iacute;a:</span>&nbsp;$fila[Nombre]</span>";
      	echo "<br/>";
      	echo "<form name='pedido' method='post' action='AniadirCarrito.php'>";
      	echo "<span style='font-family:Calibri;font-size:15px;'>Cantidad:&nbsp;<input type='text' name='canti' size='4' maxlenght='4'>&nbsp;&nbsp;
      		<input type='hidden' name='idP' value='$fila[IDProducto]'>
      		<input type='hidden' name='descP' value='$fila[Descripcion]'>
      		<input type='hidden' name='precioP' value='$fila[Precio]'>
      		<input type='hidden' name='existP' value='$fila[Existencias]'>
      		<input type='hidden' name='idCP' value='$fila[IDCategoria]'>
      		<input type='hidden' name='category' value='$fila[IDCategoria]'>
      		<input type='hidden' name='busqueda' value='$_POST[busqueda]'>
      		<input type='submit' name='Aniadir' value='Agregar al carrito'>
      		</span>";
      	echo "</form>";
      	echo "</td>";
      	echo "</tr>";
      	
      } // FIN while#1
      echo "</table>";
      
      echo "</body>";
      echo "</html>";
      } // FIN if#1
      else{
      	if($_POST[category] == -1 && $_POST[busqueda] != ""){
      		$resul = mysql_query("SELECT IDProducto, PRODUCTOS.Descripcion, Precio, Existencias, Imagen, CATEGORIAS.Nombre, CATEGORIAS.IDCategoria FROM PRODUCTOS, CATEGORIAS WHERE CATEGORIAS.IDCategoria = PRODUCTOS.IDCategoria AND PRODUCTOS.Descripcion like '%$busqueda%'",$conexion) or die ("No funciona2");
      		$resul2 = mysql_query("SELECT IDProducto, PRODUCTOS.Descripcion, Precio, Existencias, Imagen, CATEGORIAS.Nombre, CATEGORIAS.IDCategoria FROM PRODUCTOS, CATEGORIAS WHERE CATEGORIAS.IDCategoria = PRODUCTOS.IDCategoria AND PRODUCTOS.Descripcion like '%$busqueda%'",$conexion) or die ("No funciona3");
      		//$fila2 = mysql_fetch_array($resul);
      		$fila = mysql_fetch_array($resul);
      		echo "<html>";
      		echo "<head>";
      		echo "<title>MUESTRA DE PRODUCTOS</title>";
      		echo "</head>";
      		echo "<body bgcolor='SteelBlue'>";
      		echo "<table width='70%' align='center' border='1' bgcolor='black'>";
      		echo "<th align='center' colspan='2' style='font-size:20px;font-family:Calibri;background-color:white;'>LISTA DE TODOS LOS PRODUCTOS</th>";
      		if (!$fila){
      			echo "<tr>";
      			echo "<td align='center' colspan='2' style='font-size:20px;font-family:Calibri;background-color:white;'>NO EXISTEN PRODUCTOS.</td>";
      			echo "</tr>";
      		} // FIN if
      		else{
      			//echo $_POST['busqueda'];
      			while($fila2=mysql_fetch_array($resul2)){
      				
      			echo "<tr>";
      			echo "<td align='center' bgcolor='white'>";
      			echo "<img src='./img/$fila2[Imagen]' style='border:0;' alt='image'></img>";
      			echo "</td>";
      			echo "<td bgcolor='white'>";
      			echo "<span style='font-family:Calibri;font-size:20px;font-weight:bold;'>$fila2[Descripcion]</span>";
      			echo "<br/>";
      			echo "<span style='font-family:Calibri;font-size:15px;'><span style='font-family:Calibri;font-size:15px;font-weight:bold;'>Precio:</span>&nbsp;$fila2[Precio]€</span>";
      			echo "<br/>";
      			echo "<span style='font-family:Calibri;font-size:15px;'><span style='font-family:Calibri;font-size:15px;font-weight:bold;'>Categor&iacute;a:</span>&nbsp;$fila2[Nombre]</span>";
      			echo "<br/>";
      			echo "<form name='pedido' method='post' action='AniadirCarrito.php'>";
      			echo "<span style='font-family:Calibri;font-size:15px;'>Cantidad:&nbsp;<input type='text' name='canti' size='4' maxlenght='4'>&nbsp;&nbsp;
      			<input type='hidden' name='idP' value='$fila2[IDProducto]'>
      			<input type='hidden' name='descP' value='$fila2[Descripcion]'>
      			<input type='hidden' name='precioP' value='$fila2[Precio]'>
      			<input type='hidden' name='existP' value='$fila2[Existencias]'>
      			<input type='hidden' name='idCP' value='$fila2[IDCategoria]'>
      			<input type='hidden' name='category' value='$fila[IDCategoria]'>
      			<input type='hidden' name='busqueda' value='$_POST[busqueda]'>
      			<input type='submit' name='Aniadir' value='Agregar al carrito'>
      			</span>";
      			echo "</form>";
      			echo "</td>";
      			echo "</tr>";
      			
      		} // FIN while#1
      	} // FIN else
      	echo "</table>";
      	echo "</body>";
      	echo "</html>";
      }// FIN if#3
      else{
      if($_POST[category] != -1 && $_POST[busqueda] == ""){
      	$resul = mysql_query("SELECT IDProducto, PRODUCTOS.Descripcion, Precio, Existencias, Imagen, CATEGORIAS.Nombre, CATEGORIAS.IDCategoria FROM PRODUCTOS, CATEGORIAS WHERE CATEGORIAS.IDCategoria = $_POST[category] AND PRODUCTOS.IDCategoria = $_POST[category]",$conexion);
      	echo "SELECT IDProducto, PRODUCTOS.Descripcion, Precio, Existencias, Imagen, CATEGORIAS.Nombre, CATEGORIAS.IDCategoria FROM PRODUCTOS, CATEGORIAS WHERE CATEGORIAS.IDCategoria = $category AND PRODUCTOS.IDCategoria = $category";
      	$resul1 = mysql_query("SELECT CATEGORIAS.Nombre FROM CATEGORIAS WHERE IDCategoria = $_POST[category]",$conexion);
      	echo "<br>";
      	echo "SELECT CATEGORIAS.Nombre FROM CATEGORIAS WHERE IDCategoria = $_POST[category]";
      	echo "<html>";
      	echo "<head>";
      	$fila1 = mysql_fetch_array($resul1);
      	echo "<title>MUESTRA DE PRODUCTOS</title>";
      	echo "</head>";
      	echo "<body bgcolor='SteelBlue'>";
      	echo "<table width='70%' align='center' border='1' bgcolor='black'>";
      	echo "<th align='center' colspan='2' style='font-size:20px;font-family:Calibri;background-color:white;'>LISTA DE TODOS LOS PRODUCTOS  DE LA CATEGORIA &nbsp; $fila1[Nombre]</th>";
      	while($fila=mysql_fetch_array($resul)){
      		
      		echo "<tr>";
      		echo "<td align='center' bgcolor='white'>";
      		echo "<img src='./img/$fila[Imagen]' style='border:0;' alt='image'></img>";
      		echo "</td>";
      		echo "<td bgcolor='white'>";
      		echo "<span style='font-family:Calibri;font-size:20px;font-weight:bold;'>$fila[Descripcion]</span>";
      		echo "<br/>";
      		echo "<span style='font-family:Calibri;font-size:15px;'><span style='font-family:Calibri;font-size:15px;font-weight:bold;'>Precio:</span>&nbsp;$fila[Precio]€</span>";
      		echo "<br/>";
      		echo "<span style='font-family:Calibri;font-size:15px;'><span style='font-family:Calibri;font-size:15px;font-weight:bold;'>Categor&iacute;a:</span>&nbsp;$fila[Nombre]</span>";
      		echo "<br/>";
      		echo "<form name='pedido' method='post' action='AniadirCarrito.php'>";
      		echo "<span style='font-family:Calibri;font-size:15px;'>Cantidad:&nbsp;<input type='text' name='canti' size='4' maxlenght='4'>&nbsp;&nbsp;
      			<input type='hidden' name='idP' value='$fila[IDProducto]'>
      			<input type='hidden' name='descP' value='$fila[Descripcion]'>
      			<input type='hidden' name='precioP' value='$fila[Precio]'>
      			<input type='hidden' name='existP' value='$fila[Existencias]'>
      			<input type='hidden' name='idCP' value='$fila[IDCategoria]'>
      			<input type='hidden' name='category' value='$fila[IDCategoria]'>
      			<input type='hidden' name='busqueda' value='$_POST[busqueda]'>
      			<input type='submit' name='Aniadir' value='Agregar al carrito'>
      		</span>";
      		echo "</form>";
      		echo "</td>";
      		echo "</tr>";
      		
      	} // FIN while#1
      	echo "</table>";
      
      	echo "</body>";
      	echo "</html>";
      	} // FIN if#2
      else{
      		if($_POST[category] != -1 && $_POST[busqueda] != ""){
      			echo "entra";
      			$resul = mysql_query("SELECT IDProducto, PRODUCTOS.Descripcion, Precio, Existencias, Imagen, CATEGORIAS.Nombre, CATEGORIAS.IDCategoria FROM PRODUCTOS, CATEGORIAS WHERE CATEGORIAS.IDCategoria = $_POST[category] AND PRODUCTOS.IDCategoria = $_POST[category] AND PRODUCTOS.Descripcion like '%$busqueda%'",$conexion) or die ("No funciona5");
      			$resul2 = mysql_query("SELECT IDProducto, PRODUCTOS.Descripcion, Precio, Existencias, Imagen, CATEGORIAS.Nombre, , CATEGORIAS.IDCategoria FROM PRODUCTOS, CATEGORIAS WHERE CATEGORIAS.IDCategoria = $_POST[category] AND PRODUCTOS.IDCategoria = $_POST[category] AND PRODUCTOS.Descripcion like '%$busqueda%'",$conexion) or die ("No funciona6");
      			$resul1 = mysql_query("SELECT CATEGORIAS.Nombre FROM CATEGORIAS WHERE IDCategoria = $category",$conexion) or die ("No funciona");
      			$fila = mysql_fetch_array($resul);
      			$fila1 = mysql_fetch_array($resul1);
      			echo "<html>";
      			echo "<head>";
      			echo "<title>";
      			echo "</title>";
      			echo "</head>";
      			echo "<body bgcolor='SteelBlue'>";
      			echo "entra";
      			echo "<table width='70%' align='center' border='1' bgcolor='black'>";
      			echo "<th align='center' colspan='2' style='font-size:20px;font-family:Calibri;background-color:white;'>LISTA DE TODOS LOS PRODUCTOS  DE LA CATEGORIA $fila1[Nombre]</th>";
      			if(!$fila){
      				echo "<tr>";
      				echo "<td align='center' colspan='2' style='font-size:20px;font-family:Calibri;background-color:white;'>NO EXISTEN PRODUCTOS DE LA CATEGORIA $fila1[Nombre].</td>";
      				echo "</tr>";
      			} // FIN if
      			else{
      				while($fila2=mysql_fetch_array($resul2)){
      					
      					echo "<tr>";
      					echo "<td align='center' bgcolor='white'>";
      					echo "<img src='./img/$fila2[Imagen]' style='border:0;' alt='image'></img>";
      					echo "</td>";
      					echo "<td bgcolor='white'>";
      					echo "<span style='font-family:Calibri;font-size:20px;font-weight:bold;'>$fila2[Descripcion]</span>";
      					echo "<br/>";
      					echo "<span style='font-family:Calibri;font-size:15px;'><span style='font-family:Calibri;font-size:15px;font-weight:bold;'>Precio:</span>&nbsp;$fila2[Precio]€</span>";
      					echo "<br/>";
      					echo "<span style='font-family:Calibri;font-size:15px;'><span style='font-family:Calibri;font-size:15px;font-weight:bold;'>Categor&iacute;a:</span>&nbsp;$fila2[Nombre]</span>";
      					echo "<br/>";
      					echo "<form name='pedido' method='post' action='AniadirCarrito.php'>";
      					echo "<span style='font-family:Calibri;font-size:15px;'>Cantidad:&nbsp;<input type='text' name='canti' size='4' maxlenght='4'>&nbsp;&nbsp;
      					<input type='hidden' name='idP' value='$fila2[IDProducto]'>
      					<input type='hidden' name='descP' value='$fila2[Descripcion]'>
      					<input type='hidden' name='precioP' value='$fila2[Precio]'>
      					<input type='hidden' name='existP' value='$fila2[Existencias]'>
      					<input type='hidden' name='idCP' value='$fila[IDCategoria]'>
      					<input type='hidden' name='category' value='$fila[IDCategoria]'>
      					<input type='hidden' name='busqueda' value='$_POST[busqueda]'>
      					<input type='submit' name='Aniadir' value='Agregar al carrito'>
      					</span>";
      					echo "</form>";
      					echo "</td>";
      					echo "</tr>";
      					
      				} // FIN while#1
      			}// FIN else
      	}// FIN if
      	echo "</table>";
      	echo "</body>";
      	echo "</html>";
      } // FIN else
      } // FIN else
      } // FIN else#1
      mysql_close();
      ?>
      
      • AniadirCarrito.php:

        <?php
        	session_start();
        	include("Conexion.php");
        	
        	
        	$array[] = array($idP,$descP,$canti,$precioP,$existP,$idCP);
        	$_SESSION['vector'] = $array;
        	
        	Header("Location: MuestraProductos.php");
        ?>
        
      Tengo a parte una pagina en la cual busco el producto, en la cual tengo un combo con las categorias y un input text para insertar una cadena. Este apartado lo tengo metido en una capa la cual cuando doy al boton de buscar se va a MuestraProductos.php. Os comento esto porque alomejor tengo que hacer para poder almacenar los valores de las variables busqueda y categoria. Yo entiendo que al volver a redireccionarla esas variables que obtengo de el buscador se quedan en blanco entonces por eso no me aperece nada, y nose como poder almacenarlas para poder redireccionarlo de nuevo y funcione bien.
Mikelanllelo

Me esta saliendo humo de la cabeza de leer tanto código xD

1 respuesta
tOWERR

#8
Lo siento, es que he empezado en clase con PHP y estoy torpon todavia con ello. Espero manejar mejor dentro de un tiempo.
Y encima la profesora que tenemos no ayuda mucho la verdad, asique a tirar de foros aber si alguien amable me puede ayudar.

tOWERR

¿A nadie se le ocurre que puedo estar haciendo mal?

tOWERR

Solucionado. No asignaba bien los valores a la variable de la categoria y de la busqueda.

DarkSoldier

te voy a recomendar 2 articulos MAS que necesarios antes de programar algo en PHP
FAQ del echo
DEBUG en PHP

Usuarios habituales

  • DarkSoldier
  • tOWERR
  • Mikelanllelo
  • eXtreM3