Subir datos con AJAX

Esta página explica cómo enviar datos a el servidor y procesarlos .

Para ello subiremos los datos almacenados en la matriz cesta del ejercicio carrito de la compra

En el HTML de Envio

Construiremos un script en JavaScript para subir la matriz. El codigo seria sería:

<!DOCTYPE html>
<!DOCTYPE html>
<html lang="">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
</head>

<body>
      <button type="button" style="margin-left:50px;background-color: green" class="btn btn-danger"onclick="realizarcompra()">Realizar pedido</button>
</body>
</html>
<script>

function realizarcompra(){
      dataString = cesta ;
var json = JSON.stringify(dataString);
   $.ajax({
        type: "POST",
        url: "comprarcesta.php",
        data: {data : json}, 
        cache: false,
        success: function(){
            alert("Compra realizada con exito");
                 eliminarcesta();
               
            
        },
       error: function(){
            alert("Not OK");
        }
    });  
        
    }

</script>

JSON.stringify()

En el PHP de recepcion

 <?php
$data = json_decode(stripslashes($_POST['data']));
$conexion=mysqli_connect("Servidor","Usuario","Password","NombreBaseDatos");
if(!$conexion){
    echo "error al conectar base de datos";
    }else{
    $buscarNumero= "SELECT numero FROM num_pedido WHERE Id_Num_pedido = '1'";
     $numeroPedido= $conexion->query($buscarNumero);
     $registro = mysqli_fetch_assoc($numeroPedido);
   $numped=$registro['numero']+1;
    $grabarNumero="UPDATE num_pedido set numero= $numped WHERE Id_Num_pedido = '1'";
     $result = $conexion->query($grabarNumero);

// ejecuta y obtiene el resultad0

 $result = $conexion->query($buscarArticulo);
    for ($i=0;$i<count($data);$i=$i+4)
{
   $producto= $data[$i];
 $precio=$data[$i+1];   
   $unidades= $data[$i+2];
    $importe=$data[$i+3];    
  $sql = "INSERT INTO ventas (numpedido,producto,precio,unidades,importe) VALUES ('$numped','$producto','$precio','$unidades','$importe')";
        if ($conexion->query($sql) === TRUE) {

} else {
  echo "Error: " . $sql ."<br/>" . $conexion->error;
}
    }
}

$conexion->close();
  
?>
            
            

mysqli_fetch_assoc