Foros del Web » Programando para Internet » PHP »

Problema con Funcion PHP

Estas en el tema de Problema con Funcion PHP en el foro de PHP en Foros del Web. Hola Foro. Soy nuevo en PHP espero me comprendan y me tengan paciencia. Tengo una función así: Código PHP: function  codigoinmueble ()     {        $query_ID_INMUEBLE  ...
  #1 (permalink)  
Antiguo 14/01/2013, 21:32
Avatar de laureano59  
Fecha de Ingreso: febrero-2005
Mensajes: 395
Antigüedad: 19 años, 2 meses
Puntos: 1
Exclamación Problema con Funcion PHP

Hola Foro.

Soy nuevo en PHP espero me comprendan y me tengan paciencia.

Tengo una función así:

Código PHP:
function codigoinmueble() 
   {

      
$query_ID_INMUEBLE "SELECT MAX(ID_INM)AS ID_INM FROM INMUEBLE";
      
$ID_INMUEBLE mysql_query($query_ID_INMUEBLE$conexinmo) or         die(mysql_error());
      
$row_ID_INMUEBLE mysql_fetch_assoc($ID_INMUEBLE);
      
$totalRows_ID_INMUEBLE mysql_num_rows($ID_INMUEBLE);
        
        
$codigoinmueble=$row_ID_INMUEBLE['ID_INM']+1;
        echo 
$codigoinmueble;
     
mysql_free_result($ID_INMUEBLE);  
}

?> 

Luego la llamo desde una tabla html así: Valido si se ha dado click en un botón que me guarda unos datos en la base de datos y luego entra y llama la función.

Código PHP:
<table width="100%" border="0" cellspacing="4" cellpadding="0">
        <tr>
          <td width="49%"><span class="Estilo7">C&Oacute;DIGO INMUEBLE : </span></td>
          <td width="51%"><span class="Estilo1">
  <?    if ( ! empty($_POST['GUARDAR'])) { codigoinmueble(); }?>
          </span></td>
        </tr>
      </table>
Pretendo que dentro de la tabla me imprima el valor de la variable $codigoinmueble pero en primer lugar no imprime nada y en segundo lugar me desaparece unas tablas html que tengo, ahora si hago lo mismo pero sin la función lo hace bien y funciona.

No se cual sea el problema y lo otro es que necesito hacerlo en una función para usarla mas adelante.

Espero me haya hecho entender, muchas gracias por sus aportes.

Bendiciones.
__________________
http://www.weblaum.com
Laureano Melo Medina
:arriba:
  #2 (permalink)  
Antiguo 14/01/2013, 22:39
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Problema con Funcion PHP

Hola que tal.

Al parecer tu código esta bien, puedes colocar un

Código PHP:

var_export
($row_ID_INMUEBLE);
// o
var_dump($row_ID_INMUEBLE); 
y comentas Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #3 (permalink)  
Antiguo 15/01/2013, 08:00
Avatar de laureano59  
Fecha de Ingreso: febrero-2005
Mensajes: 395
Antigüedad: 19 años, 2 meses
Puntos: 1
Respuesta: Problema con Funcion PHP

No pasa nada, sigue igual, lo extraño es que desaparece unas tablas que tengo hechas en html.

Ayuda por favor...


Gracias
__________________
http://www.weblaum.com
Laureano Melo Medina
:arriba:
  #4 (permalink)  
Antiguo 15/01/2013, 08:04
 
Fecha de Ingreso: septiembre-2012
Ubicación: Argentina
Mensajes: 144
Antigüedad: 11 años, 7 meses
Puntos: 12
Respuesta: Problema con Funcion PHP

buenas!!
Primero que nada donde esta el boton guardar??

Tambien no es recomendable hacer un echo dentro de la funcion, es mejor return ($valor), lo tomas y lo mostras luego.

Que tabla es la que desaparece?
  #5 (permalink)  
Antiguo 15/01/2013, 08:21
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Problema con Funcion PHP

Al igual que te indican en el post anterior deberias retornar el resultado y luego imprimirlo. Fijate si el return de la funcion te esta dando realmente el resultado esperado.
Código PHP:
Ver original
  1. function codigoinmueble()
  2.    {
  3.  
  4.       $query_ID_INMUEBLE = "SELECT MAX(ID_INM)AS ID_INM FROM INMUEBLE";
  5.       $ID_INMUEBLE = mysql_query($query_ID_INMUEBLE, $conexinmo) or         die(mysql_error());
  6.       $row_ID_INMUEBLE = mysql_fetch_assoc($ID_INMUEBLE);
  7.       $totalRows_ID_INMUEBLE = mysql_num_rows($ID_INMUEBLE);
  8.        
  9.         $codigoinmueble=$row_ID_INMUEBLE['ID_INM']+1;
  10.        
  11.      mysql_free_result($ID_INMUEBLE);  
  12.    
  13.     return $codigoinmueble;
  14. }
  15.  
  16. ?>

Código HTML:
Ver original
  1. <table width="100%" border="0" cellspacing="4" cellpadding="0">
  2.         <tr>
  3.           <td width="49%"><span class="Estilo7">C&Oacute;DIGO INMUEBLE : </span></td>
  4.           <td width="51%"><span class="Estilo1">
  5.   <?    if ( ! empty($_POST['GUARDAR'])) { echo codigoinmueble(); }?>
  6.           </span></td>
  7.         </tr>
  8.       </table>
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #6 (permalink)  
Antiguo 15/01/2013, 08:21
Avatar de laureano59  
Fecha de Ingreso: febrero-2005
Mensajes: 395
Antigüedad: 19 años, 2 meses
Puntos: 1
Respuesta: Problema con Funcion PHP

Este es el código completo:

Código PHP:
  <?php

function codigoinmueble() {

mysql_select_db($database_conexinmo$conexinmo);
 
$query_ID_INMUEBLE "SELECT MAX(ID_INM)AS ID_INM FROM INMUEBLE";
        
$ID_INMUEBLE mysql_query($query_ID_INMUEBLE$conexinmo) or die(mysql_error());
        
$row_ID_INMUEBLE mysql_fetch_assoc($ID_INMUEBLE);
        
$totalRows_ID_INMUEBLE mysql_num_rows($ID_INMUEBLE);
            
$codigoinmueble$row_ID_INMUEBLE['ID_INM'];          
            
        
mysql_free_result($ID_INMUEBLE);
        }
        
?>
//EN ESTA TABLA QUIERO MOSTRAR EL CONTENIDO DE LA VARIABLE //$codigoinmueble pero antes llamo la función codigoinmueble, si lo hago sin fucniones funciona pero eso no el lo que necesito.
</p>
<table width="100%" border="0" cellspacing="4" cellpadding="0">
  <tr>
    <td width="15%">Codigo</td>
    <td width="85%"><?php codigoinmueble(); echo $codigoinmueble;?></td>
  </tr>
</table>
__________________
http://www.weblaum.com
Laureano Melo Medina
:arriba:
  #7 (permalink)  
Antiguo 15/01/2013, 08:30
Avatar de laureano59  
Fecha de Ingreso: febrero-2005
Mensajes: 395
Antigüedad: 19 años, 2 meses
Puntos: 1
Respuesta: Problema con Funcion PHP

Con lo que me han dicho estos son los cambios pero tampoco retorna nada, si le quito la función ahí si.....

Código PHP:
 <?php

function codigoinmueble() {

mysql_select_db($database_conexinmo$conexinmo);
 
$query_ID_INMUEBLE "SELECT MAX(ID_INM)AS ID_INM FROM INMUEBLE";
        
$ID_INMUEBLE mysql_query($query_ID_INMUEBLE$conexinmo) or die(mysql_error());
        
$row_ID_INMUEBLE mysql_fetch_assoc($ID_INMUEBLE);
        
$totalRows_ID_INMUEBLE mysql_num_rows($ID_INMUEBLE);
            
$codigoinmueble$row_ID_INMUEBLE['ID_INM'];          
            
            
mysql_free_result($ID_INMUEBLE);
            return 
$codigoinmueble;
        }
        
?>
</p>
<table width="100%" border="0" cellspacing="4" cellpadding="0">
  <tr>
    <td width="15%">Codigo</td>
    <td width="85%"><?php echo codigoinmueble();?></td>
  </tr>
</table>

<?php
//mysql_free_result($ID_INMUEBLE);
?>
__________________
http://www.weblaum.com
Laureano Melo Medina
:arriba:
  #8 (permalink)  
Antiguo 15/01/2013, 08:45
 
Fecha de Ingreso: septiembre-2012
Ubicación: Argentina
Mensajes: 144
Antigüedad: 11 años, 7 meses
Puntos: 12
Respuesta: Problema con Funcion PHP

Donde estan definidas las variables de la conexion, tal ves es un error del ambito de las variables
  #9 (permalink)  
Antiguo 15/01/2013, 09:00
Avatar de laureano59  
Fecha de Ingreso: febrero-2005
Mensajes: 395
Antigüedad: 19 años, 2 meses
Puntos: 1
Respuesta: Problema con Funcion PHP

Te voy aponer toda la aplicación, al no usar funciones me funciona bien, pero necesito hacerla en una función:

Este es el código:


Código PHP:
<html>
<head>
</head>

<body>

<p>
  <?php require_once('../Con/conex.php'); ?>
  <?php


function codigo($cont) {

mysql_select_db($database_conexinmo$conexinmo);

 
$query_ID_INMUEBLE "SELECT MAX(ID_INM)AS ID_INM FROM INMUEBLE";
        
$ID_INMUEBLE mysql_query($query_ID_INMUEBLE$conexinmo) or die(mysql_error());
        
$row_ID_INMUEBLE mysql_fetch_assoc($ID_INMUEBLE);
        
$totalRows_ID_INMUEBLE mysql_num_rows($ID_INMUEBLE);

            return 
$row_ID_INMUEBLE['ID_INM']+ $cont;          
            
            
mysql_free_result($ID_INMUEBLE);
            
//return $codigoinmueble+$cont;
            
        
}
        
?>
</p>
<table width="100%" border="0" cellspacing="4" cellpadding="0">
  <tr>
    <td width="15%">Codigo</td>
    <td width="85%"><?php echo codigo(1);?></td>
  </tr>
</table>

</body>
</html>
__________________
http://www.weblaum.com
Laureano Melo Medina
:arriba:
  #10 (permalink)  
Antiguo 15/01/2013, 09:56
Avatar de laureano59  
Fecha de Ingreso: febrero-2005
Mensajes: 395
Antigüedad: 19 años, 2 meses
Puntos: 1
Respuesta: Problema con Funcion PHP

No se que pueda estar haciendo mal pero yo veo que todo está bien, es más quité todo el sql y probé retornando cualquier valor y me funciona pero con la consulta sql no retorna nada....

Espero me puedan dar una Luz para poder avanzar.

De nuevo mil gracias.
__________________
http://www.weblaum.com
Laureano Melo Medina
:arriba:
  #11 (permalink)  
Antiguo 15/01/2013, 10:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con Funcion PHP

El problema ahora es que haces el include con la conexión fuera de la función, de ahí que tal vez no funcione.

Como sugerencia trata de revisar el log de errores, o si te sale uno mucho mejor.

El punto es que debes ayudarnos a ayudarte, sin mucha información es complicado adivinar la causa.

Si por obra del espíritu santo desaparece algo del HTML que tienes prueba a dar click derecho y luego en ver código fuente, para observar si hay algún error de php escondido.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: funcion, html, mysql, tabla, variables
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 06:45.