Foros del Web » Programando para Internet » PHP »

Argumentos en una function

Estas en el tema de Argumentos en una function en el foro de PHP en Foros del Web. Hola: Haber si sé explicarme bien... Tengo un archivo index.php, que através del action de un form, envio a otro archivo que es modificar.php una ...
  #1 (permalink)  
Antiguo 15/05/2009, 10:13
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 11 años, 9 meses
Puntos: 3
Argumentos en una function

Hola:
Haber si sé explicarme bien...
Tengo un archivo index.php, que através del action de un form, envio a otro archivo que es modificar.php una variable, que es 'id'.
Y despues, en modificar, uso esta id en dos function distintas. Que lo recojo este id de esta manera:
Código PHP:
$variable=$_GET['id']; 
EN la 1ª function que la uso, funciona, pero en la 2ª no!
He revisado todo el código, para ver si tiene algun error, pero no veo nada.

Observaciones:
-Sé que llamo a la function bien, y se ejecuta todo, pero no reconoce el id.
-el form está bien echo, porque lo uso en otras ocasiones, y lo hago =.
-Y tambien sé que funciona $variable=$_GET['id']; porque lo uso en otras ocasiones, y funciona!

A alguien se le ocurre algo?

Espero vuestras respuestas, y gracias de antemano.
  #2 (permalink)  
Antiguo 15/05/2009, 10:21
 
Fecha de Ingreso: abril-2009
Mensajes: 73
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: Argumentos en una function

Que dificil no los pones...tu codigo es correcto, seria mejor que postees los codigos de las funciones.....quiza en alguna de ellas tengas algun descuido que tus ojos no ven...pero otros si podrian encontrar la excepcion....saludos.
  #3 (permalink)  
Antiguo 15/05/2009, 10:22
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.712
Antigüedad: 14 años, 7 meses
Puntos: 836
Respuesta: Argumentos en una function

¿Podrías mostrarnos los códigos de ambas funciones y cómo las llamas? Así será más fácil detectar el problema.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 15/05/2009, 10:22
Usuario no validado
 
Fecha de Ingreso: octubre-2008
Ubicación: BRUSELAS
Mensajes: 211
Antigüedad: 11 años, 1 mes
Puntos: 3
Respuesta: Argumentos en una function

en la URL ves la variable id??
  #5 (permalink)  
Antiguo 15/05/2009, 10:32
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 11 años, 9 meses
Puntos: 3
Respuesta: Argumentos en una function

Sí, la verdad es que es algo difícil entender mi problema sin ver el código.....
aqui os pongo el código:

1ºLo llamo a través de este form:
Código PHP:
<form name='forma2' action='modificar.php?id=".$fila["id"]."' method='post'>
                <
INPUT type='hidden' name='operacion' value='modificar'>
                <
INPUT TYPE='SUBMIT' VALUE='Editar'>
            </
form
Y si que funciona, porque si que me envia hasta el página modificar.
Lo uso también para llamar a otro fichero, y me funciona esta forma, y está exactamente =.

2º La funcion que modifica es esto:
Código PHP:
function modif($titulo,$descripcion,$precio_inicial,$vendido)
{
$variable=$_GET['id'];

    
$id_conexion = @mysql_connect("localhost","root",""
                                  or die(
"No se pudo establecer la conexión");
                                  
  
$bd[email protected]mysql_select_db("unidad7",$id_conexion);

    
$nuevoTitulo=$_POST['titulo'];
  
$nuevoDescrip=$_POST['descripcion'];
  
$nuevoPrecioIni=$_POST['precio_inicial'];
  
$nuevoVendido=$_POST['vendido'];

    
$consulta2="update subasta_articulos set
                                                titulo='$nuevoTitulo', 
                        descripcion='$nuevoDescrip', 
                        precio_inicial='$nuevoPrecioIni',
                        vendido='$nuevoVendido' where id LIKE '%$variable%'"
;
    
    
$result2 = @mysql_query($consulta2$id_conexion)
                            or die(
"<CENTER><H3>No se ha podido ejecutar la consulta.
                            <P>Compruebe si la sintaxis de la misma es correcta LA DE UPDATE.<P></H3></CENTER>"
);
}
// FIN DE MODIF 
Y lo que me da error, es en:
Código PHP:
$variable=$_GET['id']; 
Y me dá este error:
Notice: Undefined index: id in C:\cursoPHP5\curso\Alumnos\scag0050\unidad7act2\mo dificar.php on line 135
Que es la línea que os he dicho anteriormente.

3º Tambien os pongo esto por si acaso.
Llamo a esta function, a través de:
Código PHP:
if ($_POST['ope']=='modificar'
{
    
$list->modif($_POST['titulo'],$_POST['descripcion'],$_POST['precio_inicial'],$_POST['vendido']);

Y lo llamo a través de un boton normal.....
no sé q puede ser el error

Muchas gracias por vuestras respuestas
  #6 (permalink)  
Antiguo 15/05/2009, 10:36
Usuario no validado
 
Fecha de Ingreso: octubre-2008
Ubicación: BRUSELAS
Mensajes: 211
Antigüedad: 11 años, 1 mes
Puntos: 3
Respuesta: Argumentos en una function

$_POST['ope']

no seria $_POST['operacion']???


//////////////
me corrijo.

por que no recoges el valor del $_GET['id'] fuera de la function, y la envias en parametro tambien??

Última edición por fatasma; 15/05/2009 a las 10:45
  #7 (permalink)  
Antiguo 15/05/2009, 10:54
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 11 años, 9 meses
Puntos: 3
Respuesta: Argumentos en una function

Cita:
Iniciado por fatasma Ver Mensaje
$_POST['ope']

no seria $_POST['operacion']???


//////////////
me corrijo.

por que no recoges el valor del $_GET['id'] fuera de la function, y la envias en parametro tambien??
Es si creo la variable:
Código PHP:
$variable=$_GET['id']; 
justo depués de la class, como publica, o como la he puesto anteriormente, me da error:
Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in C:\cursoPHP5\curso\Alumnos\scag0050\unidad7act2\mo dificar.php on line 30

(la linea 30 en donde creo la variable)

Y cambié lo de operacion por ope, porque no me daba yo cuenta, que al crear otros form en ese fichero, ese hidden le llamo operacion. pero bueno, de todas maneras me entraba en la function modificar. pero..... al haber cambiado esto, no me reconoce los text que me salen, los cuales se pueden modificar!
y eso q les paso como argumentos en modif.

pufffff, yo creo q os he liado más.....

gracias por sus respuestas
  #8 (permalink)  
Antiguo 15/05/2009, 10:58
Usuario no validado
 
Fecha de Ingreso: octubre-2008
Ubicación: BRUSELAS
Mensajes: 211
Antigüedad: 11 años, 1 mes
Puntos: 3
Respuesta: Argumentos en una function

lo que te queria decir es hacer esto
Código PHP:
if ($_POST['ope']=='modificar')  

    
$variable=$_GET['id'];
    
$list->modif($variable,$_POST['titulo'],$_POST['descripcion'],$_POST['precio_inicial'],$_POST['vendido'],$variable); 

y en la function la recibes


Código PHP:
function modif($variable_id,$titulo,$descripcion,$precio_inicial,$vendido
  #9 (permalink)  
Antiguo 15/05/2009, 11:19
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 11 años, 9 meses
Puntos: 3
Respuesta: Argumentos en una function

anda, que buena idea es esa! pero es que me da error al definir una variable ahí:
Notice: Undefined index: id in C:\cursoPHP5\curso\Alumnos\scag0050\unidad7act2\mo dificar.php on line 172
que es donde creo la variable.

ah, y tendría que llamarles a todos $variable_id, no? xq pones en la funcion que recibo variable_id, y la creas con el nombre de variable.

Se me ha ocurrido, que al llamarlo con el form:
Código PHP:
    <form name='forma2' action='modificar.php?id=".$fila["id"]."' method='post'>
                <
INPUT type='hidden' name='operacion' value='modificar'>
                <
INPUT TYPE='SUBMIT' VALUE='Editar'>
            </
form
en vez de poner : $variable_id=$_GET['id'];
llamarlo con algo asi se puede? $variable=$fila["id"];
pero al ser de otro fichero, tal vez no lo reconozca..

puf, no se me ocurre nada más

gracias
  #10 (permalink)  
Antiguo 15/05/2009, 12:36
 
Fecha de Ingreso: abril-2009
Mensajes: 73
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: Argumentos en una function

Cita:
Iniciado por laOtra Ver Mensaje
Código PHP:
    <form name='forma2' action='modificar.php?id=".$fila["id"]."' method='post'
                <
INPUT type='hidden' name='operacion' value='modificar'
                <
INPUT TYPE='SUBMIT' VALUE='Editar'
            </
form
el problema es que envias la variable con el method="POST" y la recoges con $_GET.

Código PHP:
    <form name='forma2' action='modificar.php?id=".$fila["id"]."' method='get'
Ahora, como me imagino es un id lo que envias quiza deberias aumentar un hidden
Código PHP:
<INPUT type='hidden' name='id' value='".$fila["id"]."'
y recoger tus varialbles con $_POST y tu method tambien seria POST, que seria algo mas seguro para tu formulario y tu URL

espero que eso te ayude...saludos
  #11 (permalink)  
Antiguo 15/05/2009, 12:44
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 11 años, 9 meses
Puntos: 3
Respuesta: Argumentos en una function

Hola:
Gracias por tu aporte. No sabia que habia que recogerles con el mismo método.

Pero he probado,y he puesto los dos con get, o los dos con post, y no funciona de ninguna de las maneras.....
  #12 (permalink)  
Antiguo 15/05/2009, 12:48
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.712
Antigüedad: 14 años, 7 meses
Puntos: 836
Respuesta: Argumentos en una function

El id, como está definido en el action y se pasa por la URL, es correcto que lo obtengas con $_GET['id']. Revisa si no hay alguna mal formación en el HTML resultante, porque otra cosa ya no se me ocurre.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #13 (permalink)  
Antiguo 15/05/2009, 13:05
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 11 años, 9 meses
Puntos: 3
Respuesta: Argumentos en una function

pues yo creo que si que va a ser culpa del html, porque ahora cuando doy a editar, para editar, pues en vez de salir salir 3 text, como tendría que salir, salen 9,12,15..... según los datos que haya en la base de datos, se multiplica por 3(porque son los que debería de haber para estar bien).
pero no sé porque saldrá 3 veces, no lo entiendo...

tendré que mirar detenidamente el html otra vez...

gracias por las respuestas. y si se os ocurre algo más, respondezme :)

yo seguiré comentando como va esto.....
  #14 (permalink)  
Antiguo 15/05/2009, 13:51
 
Fecha de Ingreso: abril-2009
Ubicación: Cuba
Mensajes: 54
Antigüedad: 10 años, 7 meses
Puntos: 2
Respuesta: Argumentos en una function

LaOtra, tienes un error cuando pasas id.
Es simple, fijate en el primer código html que pones que estás diciendo esto

Código HTML:
<form name='forma2' action='modificar.php?id=".$fila["id"]."' method='post'> 
y nota que estás mezclando código HTML con código PHP. te debería quedar así.

Código HTML:
<form name='forma2' action='modificar.php?id=[B]<? echo $fila["id"];?>[/B]' method='post'> 

la variable id está bien que las obtengas con $_GET, ya que la estás pasando como parámetro en la barra de dirección.

Saludos.

Última edición por Ash_AM; 15/05/2009 a las 14:38
  #15 (permalink)  
Antiguo 16/05/2009, 06:13
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 11 años, 9 meses
Puntos: 3
Respuesta: Argumentos en una function

hola ash_am, gracias por responder:

Pero es que yo tengo desde el principio hasta el final, como si todo fuera php, es decir, que antes de escribir la class, tengo <? , y cuando acabo de escribir todo el código, tengo ?>
Por lo tanto, la solución que me das, no me vale, porque para mi todo el código es php, y cuando quiero que salga algo html, pongo el echo.
es decir, que yo lo tengo así:

Código PHP:
echo " <form name='forma2' action='modificar.php?id=".$fila["id"]."' method='post'> "
todavia no he encontrado la solución.....
  #16 (permalink)  
Antiguo 16/05/2009, 09:40
 
Fecha de Ingreso: abril-2009
Mensajes: 73
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: Argumentos en una function

insisto en que utilices solo el metho="post" para pasar todas tus variables, escondas en un campo hidde el id, y las recibas todas por $_POST[''].

Y como sugirieron mas arriba, es mejor capturar $_POST['id'] en una $variable, antes de pasarlo como parametro a tus funciones, que las clases y sus funciones mantengan el minimo de contacto con el exterior.

Personalmente no suelo tener problemas con esto de pasar variables por URL, creo que seria muy bueno que postees todo el codigo de ambos scripts, para poder ayudarte....saludos.
  #17 (permalink)  
Antiguo 16/05/2009, 11:14
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 11 años, 9 meses
Puntos: 3
Respuesta: Argumentos en una function

el fichero principal:
Código PHP:
<HTML>
<HEAD><TITLE>Unidad 7 - Subastas</TITLE>
   <STYLE  TYPE="text/css">
   <!--
    input
    {
      font-family : Arial, Helvetica;
      font-size : 14;
      color : #000033;
      font-weight : normal;
      border-color : #999999;
      border-width : 1;
      background-color : #FFFFFF;
    }
   -->
   </style>
</HEAD>

<BODY bgcolor="#C0C0C0" link="#0000C0" vlink="#0000C0" alink="#0000C0">
<BASEFONT face="arial, helvetica">


<TABLE border="0" align="center" cellspacing="3" cellpadding="3" width="650">
<TR><TH colspan="2" width="100%" bgcolor="#0000C0"><FONT size="6" color="white">SUBASTAS</FONT></TH>
</TR></TABLE><P>

<?
class Ud7Act2
{
function 
mostrar()
{
echo 
"<CENTER><P>
            <TABLE border='0' width='600'><TR>"
;
echo 
"<TD valign=top align=CENTER colspan=2><CENTER><P>
    <FORM name='form1' METHOD='POST'>
         <FONT size ='-1'>Buscar por el campo 
            <SELECT NAME='campo_busqueda'>
            <OPTION  Value=titulo> T&iacute;tulo </OPTION>
            <OPTION  Value=descripcion> Descripci&oacute;n </OPTION>
          </SELECT> <P><INPUT TYPE='TEXT' NAME='lo_q_busco' value='' size='20'>
          
          <INPUT type='hidden' name='operacion' value='buscar'>
            <INPUT TYPE='SUBMIT' NAME='boton_buscar' VALUE='&iexcl;Buscar!'>
        </FONT>
    </FORM></td>"
;
   
     
//poniendo en el form2 donde tienen q ir, funciona! 
echo "<TD align=center>
            <FORM name='form2' METHOD='POST' ACTION='nuevo_articulo.php'>
        <INPUT TYPE='SUBMIT' NAME='alta' VALUE='Nuevo art&iacute;culo'>
      </FORM>
      <FORM name='form3' METHOD='POST' ACTION='Ud7Act2.php'>
          <INPUT type='hidden' name='operacion' value='listado'>
        <INPUT TYPE='SUBMIT' NAME='alta' VALUE='Listado completo'>
      </FORM> "
;
echo 
"</td></TR></TABLE>"
echo 
"<hr>";
}          
         
function 
mostrar_tabla()
{
echo 
"<TABLE BORDER='0' cellspacing='1' cellpadding='1' align='center' width='650'>
           <TR>
             <TH bgcolor='#0000C0'><FONT color='white'>T&iacute;tulo</FONT></TH>
             <TH bgcolor='#0000C0' width='200'><FONT color='white'>Descripci&oacute;n</FONT></TH>
             <TH bgcolor='#0000C0'><FONT color='white'>Fecha alta</FONT></TH>
             <TH bgcolor='#0000C0'><FONT color='white'>Precio inicial</FONT></TH>
             <TH bgcolor='#0000C0' colspan='48' ><FONT color='white'>Operaciones</FONT></TH>
           </TR>"
;
//echo "</TABLE>";

    //Establezco la conexion con el servidor
$id_conexion = @mysql_connect("localhost","root",""
                                or die(
"No se pudo establecer la conexión");
                                
//Seleccionamos la base de datos
$bd[email protected]mysql_select_db("unidad7",$id_conexion)
        or die (
"no se encuentra la base de datos.");

$consulta="SELECT id,titulo,descripcion,fecha_publicacion,precio_inicial, vendido FROM subasta_articulos";
//$result = mysql_query($consulta, $id_conexion);
$datos= @mysql_query($consulta,$id_conexion) or 
           die(
"<CENTER><H3>No se ha podido ejecutar la consulta.<P> 
              Compruebe si la sintaxis de la misma es correcta. 
              <P></H3></CENTER>"
); 

//echo "<TABLE BORDER='0' cellspacing='1' cellpadding='1' align='center' width='650'>";

//$id=1;
while($fila mysql_fetch_array($datos))
{
echo 
"  
    <tr>
        <td> "
.$fila["titulo"]." </td>
        <td width='200'> "
.$fila["descripcion"]." </td>
        <td> "
.$fila["fecha_publicacion"]." </td>
        <td > "
.$fila["precio_inicial"]." </td>
        <td colspan='48'>"
;
        
        if (
$fila['vendido']==0)
        {
        echo 
"    <form name='forma1' action='pujar.php?id=".$fila["id"]."' method='post'>
                <INPUT type='hidden' name='operacion' value='pujar'>
                <INPUT TYPE='SUBMIT' VALUE='Pujar'>
            </form>"
;
        }else{
            echo 
"Vendido";
            }
        
//<form name='forma2' action='modificar.php?id=".$fila["id"]."' method='post'>    
    
echo "
            <form name='forma2' action='modificar.php?id="
.$fila["id"]."' method='post'>
            
                <INPUT type='hidden' name='operacion' value='modificar'>
                <INPUT TYPE='SUBMIT' VALUE='Editar'>
            </form>
            <form name='form77' METHOD='POST'>
                <INPUT type='hidden' name='id' value='"
.$fila["id"]."'>
                <INPUT type='hidden' name='operacion' value='borrar'>
                <INPUT TYPE='SUBMIT' VALUE='Borrar'>
            </form>
         </td>
  </tr> "
;
}
echo 
"</table>";

//para contar el número de datos
$num_filas=mysql_num_fields($datos);

echo 
"<p><FONT color=#0000C0 size ='-1'>El n&deg; total de art&iacute;culos es: <b>".$num_filas."</b></FONT><P>";

$consulta2="select max(precio_inicial) FROM subasta_articulos";
$datos2[email protected]mysql_query($consulta2,$id_conexion)or
           die(
"<CENTER><H3>No se ha podido ejecutar la ultima consulta.<P> 
              Compruebe si la sintaxis de la misma es correcta.
              <P></H3></CENTER>"
);
              
if(
$datos && mysql_num_rows($datos2) > 0
{             
  
$fila mysql_fetch_row($datos2); 
  
$maximo $fila[0]; 
}

echo 
"<FONT color=#0000C0 size ='-1'>El art&iacute;culo con mayor precio de salida es: <b>".$maximo."</b></FONT>";

mysql_close($id_conexion);
}

function 
buscar()
{
echo 
"<TABLE BORDER='0' cellspacing='1' cellpadding='1' align='center' width='650'>
           <TR>
             <TH bgcolor='#0000C0'><FONT color='white'>T&iacute;tulo</FONT></TH>
             <TH bgcolor='#0000C0'><FONT color='white'>Descripci&oacute;n</FONT></TH>
             <TH bgcolor='#0000C0'><FONT color='white'>Fecha alta</FONT></TH>
             <TH bgcolor='#0000C0'><FONT color='white'>Precio inicial</FONT></TH>
             <TH bgcolor='#0000C0' colspan='3'><FONT color='white'>Operaciones</FONT></TH>
           </TR>"
;

$busqueda=$_POST['lo_q_busco'];
//echo $busqueda; comprobado qse guarda el valor de loq se escribe
    //echo "entrar en function buscar";
    
$id_conexion = @mysql_connect("localhost","root",""
                                    or die(
"No se pudo establecer la conexión");
    
$bd[email protected]mysql_select_db("unidad7",$id_conexion)
            or die (
"No se encuentra la base de datos.");
    
$consulta "SELECT * FROM subasta_articulos WHERE titulo LIKE '%$busqueda%'";
    
//echo $consulta; se hace bien la consulta
    
$result mysql_query($consulta$id_conexion); 

    if (
$row mysql_fetch_array($result))
    {
        echo 
"
          <tr>  
            <td> "
.$row["titulo"]." </td>
            <td> "
.$row["descripcion"]." </td>
            <td> "
.$row["fecha_publicacion"]." </td>
            <td> "
.$row["precio_inicial"]." </td>
            <td>
                <form>
                    <INPUT type='hidden' name='id' value="
.$row["id"].">
                      <INPUT TYPE='SUBMIT' VALUE='Editar'>
                      <INPUT TYPE='SUBMIT' VALUE='Borrar'>
                    </form>
                    </td>
        </tr> "
;
    }else { 
        echo 
"<p>¡No se ha encontrado ningún registro!</p>\n"
        }
echo 
"</table>";
}

function 
borrar($id)
{
    echo 
"entra en function borrar";
    
$id_conexion = @mysql_connect("localhost","root",""
                                    or die(
"No se pudo establecer la conexión");
    
$bd[email protected]mysql_select_db("unidad7",$id_conexion)
            or die (
"No se encuentra la base de datos.");
    
$consulta="delete from subasta_articulos where id LIKE '%$id%'";
    
    
$result = @mysql_query($consulta$id_conexion)
                            or die(
"<CENTER><H3>No se ha podido ejecutar la consulta.
                            <P>Compruebe si la sintaxis de la misma es correcta, LA DE DELETE.<P></H3></CENTER>"
);
    
}

}

$list=new Ud7Act2();
$list->mostrar();

if (!isset(
$_POST['operacion'])) 
{
$list->mostrar_tabla();
}else
if (
$_POST['operacion']=='listado'
{
    
//$list->mostrar();
    
$list->mostrar_tabla();
}else
if (
$_POST['operacion']=='buscar'
{
//echo "entra en buscar"; si q entra
    
$list->buscar();
}else
if (
$_POST['operacion']=='borrar'
{
echo 
"entra en borrar";
    
$list->borrar($_POST['id']);
}

?>    
</BODY>
</HTML>
  #18 (permalink)  
Antiguo 16/05/2009, 11:16
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 11 años, 9 meses
Puntos: 3
Respuesta: Argumentos en una function

modificar.php:
Código PHP:
<HTML>
<HEAD><TITLE>Unidad 7 - Subastas</TITLE>
   <STYLE  TYPE="text/css">
   <!--
    input
    {
      font-family : Arial, Helvetica;
      font-size : 14;
      color : #000033;
      font-weight : normal;
      border-color : #999999;
      border-width : 1;
      background-color : #FFFFFF;
    }
   -->
   </style>
</HEAD>

<BODY bgcolor="#C0C0C0" link="#0000C0" vlink="#0000C0" alink="#0000C0">
<BASEFONT face="arial, helvetica">


<TABLE border="0" align="center" cellspacing="3" cellpadding="3" width="650">
<TR><TH colspan="2" width="100%" bgcolor="#0000C0"><FONT size="6" color="white">SUBASTAS</FONT></TH>
</TR></TABLE><P>

<?
class modificar
{
function 
mostrar()
{
echo 
"<CENTER><P>
            <TABLE border='0' width='600'><TR>"
;
echo 
"<TD valign=top align=CENTER colspan=2><CENTER><P>
    <FORM name='form1' METHOD='POST'>
         <FONT size ='-1'>Buscar por el campo 
            <SELECT NAME='campo_busqueda'>
            <OPTION  Value=titulo> T&iacute;tulo </OPTION>
            <OPTION  Value=descripcion> Descripci&oacute;n </OPTION>
          </SELECT> <P><INPUT TYPE='TEXT' NAME='lo_q_busco' value='' size='20'>
          
          <INPUT type='hidden' name='operacion' value='buscar'>
            <INPUT TYPE='SUBMIT' NAME='boton_buscar' VALUE='&iexcl;Buscar!'>
        </FONT>
    </FORM></td>"
;

echo 
"<TD align=center>
            <FORM name='form2' METHOD='POST' ACTION='nuevo_articulo.php'>
        <INPUT TYPE='SUBMIT' NAME='alta' VALUE='Nuevo art&iacute;culo'>
      </FORM>
      <FORM name='form3' METHOD='POST' ACTION='Ud7Act2.php'>
          <INPUT type='hidden' name='operacion' value='listado'>
        <INPUT TYPE='SUBMIT' NAME='alta' VALUE='Listado completo'>
      </FORM> "
;
echo 
"</td></TR></TABLE>"
echo 
"<hr>";
}          

function 
cargar()
{
$variable=$_POST['id'];

echo 
"
<CENTER>                
<FONT color='#0000C0'><h2><u>Modificar art&iacute;culo</u></h2></FONT>"
;

//Establezco la conexion con el servidor
$id_conexion = @mysql_connect("localhost","root",""
                                or die(
"No se pudo establecer la conexión");
                                
//Seleccionamos la base de datos
$bd[email protected]mysql_select_db("unidad7",$id_conexion)
        or die (
"no se encuentra la base de datos.");

$consulta="SELECT id,titulo,descripcion,fecha_publicacion,precio_inicial FROM subasta_articulos WHERE id LIKE '%$variable%'";

$datos= @mysql_query($consulta,$id_conexion) or 
           die(
"<CENTER><H3>No se ha podido ejecutar la consulta.<P> 
              Compruebe si la sintaxis de la misma es correcta. 
              <P></H3></CENTER>"
); 

while(
$fila mysql_fetch_array($datos))
{
             
echo 
"
<FORM name='form2' METHOD='get' ACTION='modificar.php'>
    <TABLE BORDER='0' cellspacing='10' cellpadding='0' align='center' width='600'>
    <TR>
        <TD bgcolor='#0000C0' align=center width=140> <FONT color='white'>T&iacute;tulo</FONT></TD>
        <TD><input type='text' name='titulo' size='30' value = '"
.$fila["titulo"]."' maxlength='50'></TD>
    </TR>
    <TR>
        <TD bgcolor='#0000C0' align=center width=140> <FONT color='white'>Descripci&oacute;n</FONT></TD>
        <TD><input type='text' name='descripcion' size='70' value = '"
.$fila["descripcion"]."' maxlength='254'></TD>
    </TR>
    <TR>
        <TD bgcolor='#0000C0' align=center width=140> <FONT color='white'>Precio inicial</FONT></TD>
        <TD><input type='text' name='precio_inicial' size='7' value = '"
.$fila["precio_inicial"]."' maxlength='8'></TD>
    </TR>
    <TR>
        <TD bgcolor='#0000C0' align=center width=140><FONT color='white'>Vendido</FONT></TD>
        <TD><select name='vendido'>
                    <OPTION value=0>NO</OPTION>
                    <OPTION value=1>SI</OPTION>
            </select>
            </TD>
    </TR>
</TABLE>
"
;
    
}
echo 
"
    
    
    <CENTER>
    
    
      <INPUT type='hidden' name='ope' value='modificar'>
      <INPUT TYPE='SUBMIT' NAME='pulsa' VALUE='Modificar art&iacute;culo'>
    </CENTER>
    
</FORM>"
;
}

function 
modif($variable_id,$titulo,$descripcion,$precio_inicial,$vendido)
{
//$variable=$_GET['id'];
    
$id_conexion = @mysql_connect("localhost","root",""
                                  or die(
"No se pudo establecer la conexión");
                                  
  
$bd[email protected]mysql_select_db("unidad7",$id_conexion);

    
$nuevoTitulo=$_POST['titulo'];
  
$nuevoDescrip=$_POST['descripcion'];
  
$nuevoPrecioIni=$_POST['precio_inicial'];
  
$nuevoVendido=$_POST['vendido'];

    
$consulta2="update subasta_articulos set
                                                titulo='$nuevoTitulo', 
                        descripcion='$nuevoDescrip', 
                        precio_inicial='$nuevoPrecioIni',
                        vendido='$nuevoVendido' where id LIKE '%$variable_id%'"
;
    
    
$result2 = @mysql_query($consulta2$id_conexion)
                            or die(
"<CENTER><H3>No se ha podido ejecutar la consulta.
                            <P>Compruebe si la sintaxis de la misma es correcta LA DE UPDATE.<P></H3></CENTER>"
);
}
// FIN DE MODIF

//FIn de la class


$list=new modificar();
$list->mostrar();
$list->cargar();
if (!isset(
$_POST['ope'])) 
{

}else
if (
$_POST['ope']=='modificar'
{
    echo 
"entra en modificar d los if";
    
$variable_id=$_POST['id']; 
  
$list->modif($variable_id,$_POST['titulo'],$_POST['descripcion'],$_POST['precio_inicial'],$_POST['vendido']);
}

?>

</BODY>
</HTML>
yo no veo el error..... me modifica, pero se multiplican los text, cuando doy a modificar.....
  #19 (permalink)  
Antiguo 18/05/2009, 12:06
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 11 años, 9 meses
Puntos: 3
Respuesta: Argumentos en una function

Todavia no he conseguido solucionarlo, alguien me puede ayudar?
Gracias
  #20 (permalink)  
Antiguo 19/05/2009, 11:13
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 11 años, 9 meses
Puntos: 3
Respuesta: Argumentos en una function

hola:
pues sigo igual.....
y ahora lo que me pasa, es que al dar a modificar, se me doblan los text.

Alguien puede saber, cuál es mi error?

creéis que paso bien el id del fichero principal al de modificar?porque yo creo que está ahí el problema.

Un saludo, y gracias
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:03.