Foros del Web » Programando para Internet » PHP »

Ayuda con este codigo...

Estas en el tema de Ayuda con este codigo... en el foro de PHP en Foros del Web. Hola amigos tengo un problema con el siguiente codigo, no puedo lograr actualizar el contenido, solo puedo seleccionar un id de mi base de datos ...
  #1 (permalink)  
Antiguo 27/05/2005, 09:00
Avatar de rigtersir  
Fecha de Ingreso: enero-2004
Ubicación: Mexico City
Mensajes: 28
Antigüedad: 12 años, 10 meses
Puntos: 0
Exclamación Ayuda con este codigo...

Hola amigos tengo un problema con el siguiente codigo, no puedo lograr actualizar el contenido, solo puedo seleccionar un id de mi base de datos pero nada mas, al querer actualizar no pasa nada, ojala alguien me pueda ayudar.

Código PHP:
<HTML>

<FORM ACTION=edit.php METHOD=post>

DAME CLAVE A EDITAR:<INPUT TYPE=text NAME=ID><BR>

<INPUT TYPE=submit NAME=OK VALUE="BUSCAR"><BR>

</FORM></HTML>

<?php

if ($OK == "BUSCAR") {

// coneccion al servidor de bases de datos

$dbh=mysql_connect ("localhost""user""pass")

or die (
'problema conectando porque :' mysql_error());

// seleccionado la base de datos

mysql_select_db ("base",$dbh);

// preparando la instruccion sql

$q "select * from articulos where id= ".$ID;

// ejecutando el query select regresa un rowset

$tabla1 mysql_query($q$dbh) or die ("problema con query") ;

// regresando renglon con registro

$reg mysql_fetch_row($tabla1);

// construyendo forma dinamica

echo "<FORM ACTION=edit.php METHOD=post>";

// recordar que strings se encadenan con .

echo "Usuario:<INPUT TYPE=text NAME=autor value= \"".$reg[1]."\"><BR>";

echo 
"Email:<INPUT TYPE=text NAME=email value=$reg[4]><BR>";

echo 
"Titulo:<INPUT TYPE=text NAME=titulo value=$reg[2]><BR>";

echo 
"Articulo:<textarea NAME=articulo>$reg[3]</textarea><BR>";

echo 
"<input type=hidden name=ID value=$reg[0]>";

echo 
"<INPUT TYPE=submit NAME=OK VALUE=editar><BR>";

echo 
"</FORM>";

};



if (
$OK == "editar")

{

// coneccion al servidor de bases de datos

$dbh=mysql_connect ("localhost""user""pass")

or die (
'problema conectando porque :' mysql_error());

// seleccionado la base de datos

mysql_select_db ("base",$dbh);

// preparando la instruccion sql

$q UPDATE articulos set autor".$AUTOR."titulo=".$TITULO."articulo=".$ARTICULO."email=".$EMAIL." where id=".$ID.";

mysql_query($q$dbh) or die ("problema con query");

echo 
"REGISTRO EDITADO";

};

?>
__________________
° Rigter °
Portfolio & Blog
http://www.rigtersir.com
  #2 (permalink)  
Antiguo 27/05/2005, 10:10
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 12 años, 11 meses
Puntos: 2
Primero deberías de recoger las variables del formulario con la global $_POST,
Código PHP:
if($_POST['OK'] == "editar"
Luego deberías de debuggear, es decir imprime todas las variables para ver con q valor pasan. Sobre todo cuando das click en el boton del formulario q actualiza los campos.
En realidad hay muchos detalles q podrías limar.
Pruébalo así:
Código PHP:
<?
if (!isset($_POST)){ //mostramos el formulario
?>
<FORM ACTION=edit.php?accion=buscar METHOD=post>
DAME CLAVE A EDITAR:<INPUT TYPE=text NAME=ID><BR>
<INPUT TYPE=submit NAME=OK VALUE="BUSCAR"><BR>
</FORM>
<?
}elseif($_GET['accion'] == "buscar"){
$dbh mysql_connect("localhost""user""pass") or die ('problema conectando porque :' mysql_error());
// seleccionado la base de datos
mysql_select_db ("base",$dbh);
// preparando la instruccion sql
$q "select * from articulos where id= '.$_POST['ID'].'";
// ejecutando el query select regresa un rowset
$tabla1 mysql_query($q$dbh) or die (mysql_error());
// regresando renglon con registro
$reg mysql_fetch_row($tabla1);
// construyendo forma dinamica
echo "<FORM ACTION=edit.php?accion=editar METHOD=post>";
// recordar que strings se encadenan con .
echo "Usuario:<INPUT TYPE=text NAME=autor value= \"".$reg[1]."\"><BR>";
echo 
"Email:<INPUT TYPE=text NAME=email value=$reg[4]><BR>";
echo 
"Titulo:<INPUT TYPE=text NAME=titulo value=$reg[2]><BR>";
echo 
"Articulo:<textarea NAME=articulo>$reg[3]</textarea><BR>";
echo 
"<input type=hidden name=ID value=$reg[0]>";
echo 
"<INPUT TYPE=submit NAME=OK VALUE=editar><BR>";
echo 
"</FORM>";
}else{
$dbh=mysql_connect ("localhost""user""pass") or die ('problema conectando porque :' mysql_error());
// seleccionado la base de datos
mysql_select_db ("base",$dbh);
// preparando la instruccion sql
$q "UPDATE articulos SET autor=".$_POST['autor'].", titulo=".$_POST['titulo'].", articulo=".$_POST['articulo'].", email=".$_POST['email']." WHERE id="'.$_POST['ID'].'";
mysql_query($q, $dbh) or die (mysql_error());
echo "
REGISTRO EDITADO";
}
?>
Saludos cuidate
__________________
Dios dira que esto no es justo, pero lo sera...
  #3 (permalink)  
Antiguo 27/05/2005, 22:59
Avatar de rigtersir  
Fecha de Ingreso: enero-2004
Ubicación: Mexico City
Mensajes: 28
Antigüedad: 12 años, 10 meses
Puntos: 0
Exclamación No me funciono...

Antes que nada muchas gracias por ayudarme, bueno probe el codigo que me enviaste pero no me funciono, me da el siguiente error

Cita:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\appserv\www\rigter\articulos\editar.php on line 14
Código PHP:
linea 14
$q
="select * from articulos where id='.$_POST['ID'].'"
Perdon por mi ignorancia pero aun no domino el php , espero que me puedas explicar que estoy haciendo mal o que necesito hacer pra que me funcione esto, o si es posible ¿me podrias ayudar a contruir un codigo parecido?
__________________
° Rigter °
Portfolio & Blog
http://www.rigtersir.com
  #4 (permalink)  
Antiguo 27/05/2005, 23:21
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 12 años, 4 meses
Puntos: 101
solo le falló en unas comillas.. lo correcto es:
Código PHP:
$q="select * from articulos where id='".$_POST['ID']."'"
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 27/05/2005, 23:34
 
Fecha de Ingreso: mayo-2005
Mensajes: 72
Antigüedad: 11 años, 6 meses
Puntos: 1
Sonrisa

Código:
<FORM ACTION=edit.php METHOD=post>
  <table width=300 border=0 cellspacing=0 cellpadding=0>
    <tr>
      <td>DAME CLAVE A EDITAR:</td>
    </tr>
    <tr>
      <td><input type=text name=ID></td>
    </tr>
    <tr>
      <td><input type=submit name=OK value=BUSCAR></td>
    </tr>
  </table>
  </FORM>");
<?php 
/* 
primero vamos a formalizar el formulario 
en una funcion, asi podemos usarlo mas tarde 
con facilidad.
*/

// coneccion al servidor de bases de datos 
$dbh=mysql_connect ("localhost", "user", "pass") 
or die ('problema conectando porque :' . mysql_error()); 
// seleccionado la base de datos 
mysql_select_db ("base",$dbh); 

// recojemos las variables enviadas
$ID = $_POST['ID'];
$OK = $_POST['OK'];
$Autor = $_POST['autor'];
$Email = $_POST['email'];
$Titulo = $_POST['titulo'];
$Articulo = $_POST['articulo'];

if ($OK == "BUSCAR") { 
$q = "select * from articulos where id='$ID'"; 

// ejecutando el query select regresa un rowset 
$tabla1 = mysql_query($q, $dbh) or die ("problema con query") ; 

// regresando renglon con registro 
$reg = mysql_fetch_row($tabla1); 

// construyendo forma dinamica 
echo "<FORM ACTION=edit.php METHOD=post>"; 
// recordar que strings se encadenan con . 
echo "Usuario:<INPUT TYPE=text NAME=autor value=$reg[1]><BR>"; 
echo "Email:<INPUT TYPE=text NAME=email value=$reg[4]><BR>"; 
echo "Titulo:<INPUT TYPE=text NAME=titulo value=$reg[2]><BR>"; 
echo "Articulo:<textarea NAME=articulo>$reg[3]</textarea><BR>"; 
echo "<input type=hidden name=ID value=$reg[0]>"; 
echo "<INPUT TYPE=submit NAME=OK VALUE=editar><BR>"; 
echo "</FORM>"; 
}

if ($OK == "editar") 
{ 
// preparando la instruccion sql 
$q = "UPDATE articulos set autor='$Autor', titulo='$Titulo', articulo='$Articulo', email='$Email' where id='$ID'"; 
mysql_query($q, $dbh) or die ("problema con query"); 
echo "REGISTRO EDITADO";
}
?>
espero que eso te ayude
  #6 (permalink)  
Antiguo 27/05/2005, 23:52
Avatar de rigtersir  
Fecha de Ingreso: enero-2004
Ubicación: Mexico City
Mensajes: 28
Antigüedad: 12 años, 10 meses
Puntos: 0
Gracias a todos por su ayuda el codigo de Boxy me ayudo mucho, ahora si me funciona todo muy bien, bueno me despido
__________________
° Rigter °
Portfolio & Blog
http://www.rigtersir.com

Última edición por jam1138; 23/10/2005 a las 03:40
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 04:37.