Foros del Web » Programando para Internet » PHP »

Puedo hacer una consulta dentro de una funcion?!!!

Estas en el tema de Puedo hacer una consulta dentro de una funcion?!!! en el foro de PHP en Foros del Web. el siguiente codigo funciona bien; pero el problema es que cuando le hago una consulta a la BD me da error con la expresion consulta ...
  #1 (permalink)  
Antiguo 08/09/2009, 16:31
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 14 años, 9 meses
Puntos: 2
Exclamación Puedo hacer una consulta dentro de una funcion?!!!

el siguiente codigo funciona bien; pero el problema es que cuando le hago una consulta a la BD me da error con la expresion consulta
esto esta en myajax.php
Código PHP:
function preciosproforma()
{
    $total=0;
    $totald=0;
    for($i=0;$i<count($_SESSION['usuario']['carrito']);$i++) 
        { 
        foreach ($_SESSION['usuario']['carrito'][$i] as $k => $v) 
            { 
            if($k=='subtotald')                
                {
                $totald+=$v;
                $sumas=round($totald,2);
                }
            }
        }
    echo"<table width='100%'>
        <tr>
            <td>
                <b>Total US$:</b>
            </td>
            <td>
                <input name='totaldol' class='form' value='$sumas' readonly='yes'></input>
            </td>
            <td>
                <b>Regalos S/.:</b>
            </td>
            <td>";?>
                <input type='text' name='regal' class='form' value='<?php
                $miconexion
->consulta("select * from obsequios where ob_pas<>1 order by ob_id desc limit 1");
                
$row5=mysql_fetch_array($miconexion->Consulta_ID);
                
$ob_id=$row5['ob_id'];
                
$ob_p=$row5['ob_precio'];
                echo 
"hola--$ob_p--adios";?>' readonly='yes'></input>
            <? echo"</td>
            <td>
                <b>Descuento S/.:</b>
            </td>
            <td>
                <input class='form' name='desc' onKeyUp=\"enviaQuery('divResultadocalc','myajax.php?opcion=calcular_preciofinal&pdUSS='+document.form11.totaldol.value+'&pdesc='+document.form11.desc.value+'&pdreg='+document.form11.regal.value);\">
            </td>
        </tr></table>"
;
}
//fin de muestra total
  #2 (permalink)  
Antiguo 08/09/2009, 16:35
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 14 años, 9 meses
Puntos: 2
Exclamación Respuesta: Puedo hacer una consulta dentro de una funcion?!!!

el siguiente codigo funciona bien; pero el problema es que cuando le hago una consulta a la BD me da error con la expresion consulta
esto esta en myajax.php
Código PHP:
function preciosproforma()
{
    $total=0;
    $totald=0;
    for($i=0;$i<count($_SESSION['usuario']['carrito']);$i++) 
        { 
        foreach ($_SESSION['usuario']['carrito'][$i] as $k => $v) 
            { 
            if($k=='subtotald')                
                {
                $totald+=$v;
                $sumas=round($totald,2);
                }
            }
        }
    echo"<table width='100%'>
        <tr>
            <td>
                <b>Total US$:</b>
            </td>
            <td>
                <input name='totaldol' class='form' value='$sumas' readonly='yes'></input>
            </td>
            <td>
                <b>Regalos S/.:</b>
            </td>
            <td>";?>
                <input type='text' name='regal' class='form' value='<?php
                $miconexion
->consulta("select * from obsequios where ob_pas<>1 order by ob_id desc limit 1");
                
$row5=mysql_fetch_array($miconexion->Consulta_ID);
                
$ob_id=$row5['ob_id'];
                
$ob_p=$row5['ob_precio'];
                echo 
"hola--$ob_p--adios";?>' readonly='yes'></input>
            <? echo"</td>
            <td>
                <b>Descuento S/.:</b>
            </td>
            <td>
                <input class='form' name='desc' onKeyUp=\"enviaQuery('divResultadocalc','myajax.php?opcion=calcular_preciofinal&pdUSS='+document.form11.totaldol.value+'&pdesc='+document.form11.desc.value+'&pdreg='+document.form11.regal.value);\">
            </td>
        </tr></table>"
;
}
//fin de muestra total
este es el mensaje que me muestra:
Cita:
<input type='text' name='regal' class='form' value='
Fatal error: Call to a member function consulta() on a non-object in C:\xampp\htdocs\CITEC\myajax.php on line 600
  #3 (permalink)  
Antiguo 08/09/2009, 16:41
Avatar de _-ZeuS-_  
Fecha de Ingreso: junio-2007
Ubicación: Quito, Ecuador! ;)
Mensajes: 100
Antigüedad: 16 años, 9 meses
Puntos: 7
Respuesta: Puedo hacer una consulta dentro de una funcion?!!!

el problema es que estás haciendo un mysql_fetch_array() has un var_dump($row5) para que te muestre como es el formato del array ke retornas
  #4 (permalink)  
Antiguo 08/09/2009, 16:44
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Puedo hacer una consulta dentro de una funcion?!!!

eso seria despues del mysql_fetch_array() ; o antes?
  #5 (permalink)  
Antiguo 10/09/2009, 09:38
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 14 años, 9 meses
Puntos: 2
De acuerdo Respuesta: Puedo hacer una consulta dentro de una funcion?!!!

bueno la unica solucion que le encontre fue el incluir el dato solicitado en la session de tal modo que luego solo la coja de la session; mas o menos asi quedaria la funcion:
Código PHP:
//muestra final de venta en dolares y soles
function preciosproforma()
{
    
$tc=$_GET['tc'];
    
$total=0;
    
$totald=0;
    for(
$i=0;$i<count($_SESSION['usuario']['carrito']);$i++) 
        { 
        foreach (
$_SESSION['usuario']['carrito'][$i] as $k => $v
            { 
            if(
$k=='pob')
                
$preciopr=round($v,2);
            if(
$k=='subtotald')                
                {
                
$totald+=$v;
                
$sumas=round(($totald),2);
                }
            
$miras=round($sumas+($preciopr/$_GET['tc']),2);
            }
        }
    echo
"<table width='90%'>
        <tr>
            <td>
                <b>Total US$:</b>
            </td>
            <td>
                <input name='totaldol' class='form' value='$miras' readonly='yes'></input>
            </td>
            <td>
                <b>Regalos S/.:</b>
            </td>
            <td>
                <input type='text' name='regal' class='form' value='$preciopr' readonly='yes'></input>
            </td>
            <td>
                <b>Descuento S/.:</b>
            </td>
            <td>
                <input class='form' name='desc' onKeyUp=\"enviaQuery('divResultadocalc','myajax.php?opcion=calcular_preciofinal&pdUSS='+document.form11.totaldol.value+'&pdesc='+document.form11.desc.value+'&pdreg='+document.form11.regal.value+'&tc='+document.form11.tc.value);\">
            </td>
        </tr></table>"

}
//fin de muestra total*/ 
  #6 (permalink)  
Antiguo 10/09/2009, 12:10
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: Puedo hacer una consulta dentro de una funcion?!!!

El error te sale justo aca:
<?php
$miconexion->consulta("select * from obsequios where ob_pas<>1 order by ob_id desc limit 1");
  #7 (permalink)  
Antiguo 10/09/2009, 16:00
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Puedo hacer una consulta dentro de una funcion?!!!

si asi es; la palabra consulta parece como si lo tomara como otra funcion
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 23:15.