Foros del Web » Programando para Internet » Jquery »

enviar variables, php, ajax, jquery, mysql

Estas en el tema de enviar variables, php, ajax, jquery, mysql en el foro de Jquery en Foros del Web. hola, estoy intentado enviar la variable foo al archivo data para que imprima los resultados que vienen de las categorias y no hay manera, he ...
  #1 (permalink)  
Antiguo 28/09/2015, 15:51
 
Fecha de Ingreso: octubre-2011
Mensajes: 104
Antigüedad: 7 años, 9 meses
Puntos: 1
enviar variables, php, ajax, jquery, mysql

hola, estoy intentado enviar la variable foo al archivo data para que imprima los resultados que vienen de las categorias y no hay manera, he intentado de todo y recurro aquí cdo ya no se que hacer..
Los archivos q utilizo son:

archivo helper.php (funciones)
Código PHP:
class helper{
public function 
categorias(){
@
$foo='pantalones_cortos';
    
$html ""
    
$html .= '<a href="data.php?foo='.$foo.'"  onclick="advar('.$foo.')">'.$foo.'</a>'
    return 
$html;        
    }

public function 
get_resultados($offset 0$limit 36$dir true$foo true){    
        try {
            
$this->dbh = new Conexion();                
            
$sql "SELECT imagen,precio FROM pantalones ";            
            if(isset(
$_REQUEST["dir"]) && ($_REQUEST["dir"] == "2")){                    
                
$dir $_SESSION["dir"]='DESC';
            }else{
                
$dir $_SESSION["dir"]='ASC';
                }            
[
COLOR="Yellow"]    @$foo=$_GET["foo"];    [/COLOR]                                
    
$sql $sql" WHERE pantalones.codigo = ? ";
    
$sql $sql" ORDER BY pantalones.precio $dir ";
            if(
$offset == 0){
                
$_SESSION["actual"] = 1;
            }else{
                
$_SESSION["actual"] = $offset/$limit;
            }                    
                
$_SESSION["limit"] = $limit;
    
$sql $sql" LIMIT ?,? ";
    
$query $this->dbh->prepare($sql);
    
$query->bindValue(1$fooPDO::PARAM_STR);                    
        
$query->bindValue(2, (int) $offsetPDO::PARAM_INT); 
        
$query->bindValue(3, (int) $limitPDO::PARAM_INT);             
        
$query->execute(); 
            if(
$query->rowCount() > 0)
            {                 
                 return 
$query->fetchAll(PDO::FETCH_ASSOC);    
            }            
        }catch(
PDOException $e){            
            print 
"Error!: " $e->getMessage();            
        }}

archivo datacategorias.php
Código PHP:
<?php
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'

require(
"../../lib/util/helper.php");
require(
"../../configuration.php");
    
$variables = new Helper();
    
$categorias $variables->categorias();
        echo 
$categorias;
}else{   
    echo 
"Lo sentimos ha ocurrido un error";
}
archivo datagrid.php donde se cocinan los resultados
Código PHP:
<?php
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'
{
      require(
"../../lib/util/helper.php");
      require(
"../../configuration.php");    

    
$variables = new Helper();
        @
$offset = !isset($_GET["offset"]) || $_GET["offset"] == "undefined" $_GET["offset"];
        @
$limit = !isset($_GET["limit"]) || $_GET["limit"] == "undefined" 36 $_GET["limit"];
        @
$dir = !isset($_GET["dir"]) || $_GET["dir"] == "undefined" 'ASC' $_GET["dir"];
        @
$foo = !isset($_GET["foo"]) || $_GET["foo"] == "undefined" 'pantalones_cortos' $_GET["foo"];    
        
    
$orderby $variables->crea_orderby();   
    
$productos $variables->get_resultados($offset,$limit,$dir,$foo); 
   
$paginacion $variables->crea_paginacion();
    echo 
json_encode(array(
                    
"prdcts" => $productos,
                    
"pgncn" => $paginacion,
                    
"rdrby" => $orderby
                    
));
}else{
    echo 
"Esta página no existe";}
el archivo ajax.js
Código PHP:
$(document).on("ready",function(){
    $.
get('lib/dinamic/datacategorias.php',function(data){
        $(
'.categorias').html(data);
        });});

function 
advar(offsetlimitdirfoo){
    $.
get("lib/dinamic/datagrid.php/?offset=" offset "&limit=" limit "&dir=" dir '&foo=' foo, function(data){
      
// console.log(data)
           //alert(foo);
        
if(data){
            
$html "";
                
json JSON.parse(data);
                for(
datos in json.prdcts){
                    
$html += "<div class='row'>";
                        
$html += "<img class='imagen' src=" json.prdcts[datos].imagen ">";
                        
$html +=  + json.prdcts[datos].precio ;                         
                    
$html += "</div>";
                }
            $(
".resultados").html("");
            $(
".resultados").html($html);        
            $(
".orderby").html("");
            $(
".orderby").html(json.rdrby);    
            $(
".paginacion").html("");
            $(
".paginacion").html(json.pgncn);
 }});}

$(
window).on("load", function(){
    
advar();
}); 
Y los archivos donde se imprimen
archivo categorias.php
Código PHP:
<!DOCTYPE html>
<
html lang="es">
<
head>
    <
meta charset="utf-8" />
    <
title></title>
<
script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
 <script type="text/javascript" src="js/ajax.js"></script>
</head>
<body>
<div class="categorias"></div> <br>
</body>
</html> 
archivo data.php donde se muestran los resultados
Código PHP:
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="utf-8" />
    <title></title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
 <script type="text/javascript" src="js/ajax.js"></script>
    <?php 
    
@$foo=$_GET["foo"];    
    
//var_dump($foo); 
    
?>
</head>
<body>
<div class="content">
    <div class="row">         
             <div class="num"></div>
                <div class="paginacion"></div>
        <div class="orderby"></div>
                <div class="resultados"></div>
    </div>
</div>
</body>
</html>

Saludos y gracias

Etiquetas: jquery-ajax, json, mvc, php+ajax
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 18:40.