Foros del Web » Programando para Internet » PHP »

modificacion con php(thank you for read)

Estas en el tema de modificacion con php(thank you for read) en el foro de PHP en Foros del Web. Saludos: necesito una ayuda con php, lo que sucede es que stoy creando una pagina de catalogo de libros, me va a servir para mi ...
  #1 (permalink)  
Antiguo 24/03/2006, 19:43
 
Fecha de Ingreso: marzo-2006
Mensajes: 5
Antigüedad: 11 años, 8 meses
Puntos: 0
Pregunta modificacion con php(thank you for read)

Saludos: necesito una ayuda con php, lo que sucede es que stoy creando una pagina de catalogo de libros, me va a servir para mi titulacion!!.
El problema es como sigue: Desde una pagina ingreso el folio del libro que deseo modificarle algun dato para que se realice una busqueda y me muestre en una pagina php el registro encontrado en una tabla, cada campo en una caja de texto para que pueda ser modificado, pero la pregunta ¿como envio las modificaciones hechas en la siguiente pagina de actualizacion?: el codigo de la busqueda de php es la siguiente:

mod1.php
<?php
include("conec.phtml");
$link=Conectarse();
$folio=$_GET['folio'];
$result=mysql_query("select * from libros where (Folio LIKE '%$folio') ORDER BY `Folio` DESC LIMIT 0,5",$link);
echo "<table align=center border=2 bgcolor='#F0FFFF'>";
echo "<td colspan=5 align=center>Para modificar escribe en la casilla correspondiente</td><tr>";
echo "<td colspan=4 align=center>Datos del libro con el folio: $folio</td><tr>";
echo "<td align=center>Titulo</td>";
echo "<td align=center>Autor</td>";
echo "<td align=center>Editorial</td>";
echo "<td align=center>Materia</td>";
echo "<td align=center>Temas</td><tr>";
while($row = mysql_fetch_array($result))
for ($i=0;$i<1;$i++)
{
echo "<td><input type=text size=10 name=ident1[$row[1]] value=$row[1]></td>".$titulo=$_POST[$row[1]];;
echo "<td><input type=text size=10 name=ident2[$row[2]] value=$row[2]></td>".$autor=$_POST[$row[2]];
echo "<td><input type=text size=10 name=ident3[$row[3]] value=$row[3]></td>".$editorial=$_POST[$row[3]];
echo "<td><input type=text size=10 name=ident4[$row[4]] value=$row[4]></td>".$materia=$_POST[$row[4]];
echo "<td><input type=text size=10 name=ident5[$row[5]] value=$row[5]></td><tr>".$temas=$_POST[$row[5]];
}
mysql_close($link);
?>
<td colspan=5 align=center><br><input type=submit value='Modificar'>&nbsp;<input type=reset value='Borrar'>


Tenia la idea de recibir los datos de esta manera pero algo me esta faltando y no se que es:

<?
include("conec.phtml");
$titulo=$_POST[$prueba];
foreach ($ident1 as $indice=>$valor){
$result=mysql_query("UPDATE libros SET Titulo=$titulo, Autor=$autor, Editorial=$editorial, Materia=$materia, Temas=$temas WHERE Folio=$indice",$conec);
}
mysql_free_result($result);
mysql_close($conec);
?>

<script language="JavaScript">

window.self.location="buscarmod1.html";
</script>


Espero k alguien me pueda ayudar, todavia estoy aprendiendo algo de php pero aun soy novato, gracias aunque solo la lean, o envienme un mail. [email protected]
  #2 (permalink)  
Antiguo 24/03/2006, 23:01
Avatar de atak  
Fecha de Ingreso: julio-2005
Ubicación: Huancayo
Mensajes: 490
Antigüedad: 12 años, 4 meses
Puntos: 5
De acuerdo veamos

Hola BlackSoul
Posteare un codigo básico y sacaras tus propias conclusiones:

Base de datos : prueba
Tabla : libro

Creando mi Tabla ( e insertando algo de data )
Cita:
CREATE TABLE libro (
folio INT UNSIGNED NOT NULL AUTO_INCREMENT ,
titulo VARCHAR( 20 ) ,
autor VARCHAR( 20 ) ,
editorial VARCHAR( 20 ) ,
materia VARCHAR( 20 ) ,
temas VARCHAR( 20 ) ,
RIMARY KEY (folio)
);

INSERT INTO libro(folio,titulo,autor,editorial,materia,temas)V ALUES ('', 'Matematicas Discretas', 'Elias Manto', 'Navarrete', 'matematica', 'varios'),('','Programacion en php', 'Juan Lujan Montos', 'Silvana SRL', 'Informatica', 'script');
INSERT INTO libro(folio,titulo,autor,editorial,materia,temas)V ALUES ('', 'Sociologia', 'Martha Silva', 'Cuatz SRL', 'letras', 'realialidad nacional'), ('', 'Calculo Diferencial', 'Eder Aquino', 'NIVI SRL', 'ciencias', 'enteros, numeros reales, etc');
Creando un form HTML para que ingrese un valor de titulo de libro a buscar %---%

libro.html

Código PHP:
<?php
<HTML>
<
HEAD>
<
TITLE>Buscar Libros </TITLE>
</
HEAD>
<
BODY>
<
FORM METHOD=POST ACTION="lista.php">
Algun titulo ? :
<
INPUT TYPE="text" NAME="txtbusca">
<
INPUT TYPE="submit" value="Buscar">
</
FORM>
</
BODY>
</
HTML>
?>

Archivo lista.php
Código PHP:
<?php
$cn
=mysql_connect("localhost","user","pass")or die("Erro conexion MySQL");
$db=mysql_select_db("prueba",$cn)or die("No existe BD");
///  recibiendo la variable   :  txtbusca  del form
$resp=$_POST['txtbusca'];
$query=mysql_query("SELECT * FROM libro WHERE titulo LIKE '%".$resp."%'")or die("Error consulta");
$n=mysql_num_rows($query);
if(
$n)
{    
while(
$campo=mysql_fetch_array($query))
{
        echo 
"<FORM METHOD=POST ACTION='graba.php'>";
        echo 
"---------------------------";
        echo 
"<br>Folio: <INPUT TYPE='hidden' NAME='txtfolio' VALUE='".$campo['folio']."'>".$campo['folio'];
        echo 
"<br>Titulo: <INPUT TYPE='text' NAME='txttitulo' VALUE='".$campo['titulo']."'>";
        echo 
"<br>Autor: <INPUT TYPE='text' NAME='txtautor' VALUE='".$campo['autor']."'>";
        echo 
"<br>Editorial: <INPUT TYPE='text' NAME='txteditorial' VALUE='".$campo['editorial']."'>";            
        echo 
"<br><INPUT TYPE='submit' value='Grabar'> <br>";
        echo 
"---------------------------<br>";
        echo 
"</FORM>";
    }      
}
else
{
  
header("Location: libro.html");
}
?>

Archivo graba.php
Código PHP:
<?php
$xfolio
=$_POST['txtfolio'];
$xtitulo=$_POST['txttitulo'];
$xautor=$_POST['txtautor'];
$xeditorial=$_POST['txteditorial'];
//////////////
$cn=mysql_connect("localhost","user","pass")or die("Error conexion MySQL");
$db=mysql_select_db("prueba",$cn)or die("No existe BD");
$query=mysql_query("UPDATE libro SET titulo='$xtitulo',autor='$xautor',editorial='$xeditorial' WHERE folio='$xfolio'");

if(
$query)
{
 echo 
"Actualizacion  OK ! ";
}
else
{
echo 
" No hubo actualizacion";
}
?>
a ejecutar :



Debe funcionar :D:D:D
Esta de lo mas didactico espero q te sirva de algo

Salu2
__________________
. .: El mejor Inicio :. .
  #3 (permalink)  
Antiguo 26/03/2006, 17:08
 
Fecha de Ingreso: marzo-2006
Mensajes: 5
Antigüedad: 11 años, 8 meses
Puntos: 0
Pregunta modificacion con php(thank you for read)

saludos a todos, tengo un problema con la modificacion, realizo una busqueda del registro que quiero modificar por medio de un folio, al encontrar el registro lo imprimo en una tabla con los datos en cajas de texto para que estos puedan ser modificados pero el problema es que no se como enviar las modificaciones hechas a la base de datos, ¿ como le hago para recibir estos datos de nuevo y actualizarlos? el código de la busqueda y de la tabla con las cajas de texto es el siguiente:

mod1.php
<?php
include("conec.phtml");
$link=Conectarse();
$folio=$_GET['folio'];
$result=mysql_query("select * from libros where (Folio LIKE '%$folio') ORDER BY `Folio` DESC LIMIT 0,10",$link);
echo "<table align=center border=2 bgcolor='#F0FFFF'>";
echo "<td colspan=5 align=center>Para modificar escribe en la casilla correspondiente</td><tr>";
echo "<td colspan=4 align=center>Datos del libro con el folio: $folio</td><tr>";
echo "<td align=center>Titulo</td>";
echo "<td align=center>Autor</td>";
echo "<td align=center>Editorial</td>";
echo "<td align=center>Materia</td>";
echo "<td align=center>Temas</td><tr>";
while($row = mysql_fetch_array($result))
{
echo "<td><input type=text size=10 name=ident1[$row[1]] value=$row[1]></td>";
echo "<td><input type=text size=10 name=ident2[$row[2]] value=$row[2]></td>";
echo "<td><input type=text size=10 name=ident3[$row[3]] value=$row[3]></td>";
echo "<td><input type=text size=10 name=ident4[$row[4]] value=$row[4]></td>";
echo "<td><input type=text size=10 name=ident5[$row[5]] value=$row[5]></td><tr>";
}
mysql_close($link);
?>
<td colspan=5 align=center><br><input type=submit value='Modificar'>&nbsp;<input type=reset value='Borrar'>


Necesito una ayuda porque es un proyecto, gracias y espero k alguien pueda ayudarme con algun codigo o un ejemplo, mi correo es [email protected] si se les ofrece.
  #4 (permalink)  
Antiguo 26/03/2006, 19:33
hen
 
Fecha de Ingreso: diciembre-2003
Ubicación: Buenos Aires
Mensajes: 63
Antigüedad: 14 años
Puntos: 1
actualizar datos

bueno si tu tabla tiene esta estructura mas o menos.

tabla_folio
========
-------------------------------------------------------------------------
folio | titulo | autor | editorial | materia | tema |
================================================== =======
001 | cuentas | Juan | Hen | contabilidad | contable |
-------------------------------------------------------------------------
002 | impuesto| Robert | Hen | Administ. | impuesto |
-------------------------------------------------------------------------

#modulo1.php##
//extraes los datos de acuerdo a la variable $_GET['folio'] o $_POST['folio']
//cual sea tu caso.
//ademas folio es tiene el atributo de "primary key" en tu tabla
//esto quiere decir que es un identificador unico.

$sql_0 = "SELECT * FROM tabla_folio WHERE folio = '$folio' LIMIT 1";

$traerDatos = mysql_query($sql_0, $link);
$resultado = mysql_fetch_array ($traerDatos);
print "<form action=\"modulo2.php\" method=\"post\">";
print "folio numero : ".$traerDatos['folio'];
print "input type=\"hidden\" name=\"folio\" value=\"$traerDatos['folio']\\">";
print "titulo :<input type=\"text\" name=\"titulo\" value=\"$traerDatos['titulo']\\">";
print "autor :<input type=\"text\" name=\"autor\" value=\"$traerDatos['autor']\\">";
print "editorial :<input type=\"text\" name=\"editorial\" value=\"$traerDatos['editorial']\\">";
print "materia : <input type=\"text\" name=\"materia\" value=\"$traerDatos['materia']\\">";
print "tema : <input type=\"text\" name=\"tema\" value=\"$traerDatos['tema']\\">";
print "<input type=\"submit\" value=\"modificar\">";
print "</form>";

- Ahora en la pagina que recibe las variables pasadas por $_POST...

#modulo2.php##
if((isset($_POST['folio'])) && (strlen($_POST['folio']) != 0) ){

$folio = $_POST['folio '];
$titulo = $_POST['titulo '];
$autor = $_POST['autor '];
$editorial = $_POST[''editorial ];
$materia = $_POST['materia '];
$tema = $_POST[''tema ];
//te recomiendo que despues de esto les hagas un tratamiento
//a todas estas variables, osea quitarles las etiquetas html y php
//y anular la posibles comillas que pueda tener


$sql_1 = "UPDATE tabla_folio SET titulo = '$titulo', autor = '$autor',
editoria = '$editorial', materia = '$materia' ,
tema = '$tema' WHERE folio = '$folio' LIMIT 1";

$actualizarDatos = mysql_query($sql_1, $link);
if($actualizarDatos){
print "Se actualizaron los datos";
}
else{
die("Error en la consulta");
}
}

- Exitos ojala no me haya comido ningun ";" y si no anda bien postea quizas te pueda ayudar mas.
__________________
.:hEN
DevHen
EXITOS
  #5 (permalink)  
Antiguo 26/03/2006, 19:39
hen
 
Fecha de Ingreso: diciembre-2003
Ubicación: Buenos Aires
Mensajes: 63
Antigüedad: 14 años
Puntos: 1
Sorry !!!!
despues de la linea :
$resultado = mysql_fetch_array ($traerDatos);
en el archivo modulo1.php

reemplaza:
$traerDatos['varirable_x'];
por:
$resultado['varirable_x'];

ya sabes solo despues de la linea que te mencione arriba.
Disculpas, chao.
__________________
.:hEN
DevHen
EXITOS
  #6 (permalink)  
Antiguo 27/03/2006, 10:43
Avatar de atak  
Fecha de Ingreso: julio-2005
Ubicación: Huancayo
Mensajes: 490
Antigüedad: 12 años, 4 meses
Puntos: 5
De acuerdo mensajes

Hola BlackSoul

no deberías duplicar el mismo Post , usa el buscador si no encuentras.



Salu2
__________________
. .: El mejor Inicio :. .
  #7 (permalink)  
Antiguo 27/03/2006, 11:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por atak
Hola BlackSoul

no deberías duplicar el mismo Post , usa el buscador si no encuentras.



Salu2
Uní ambos mensajes ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 27/03/2006, 19:37
 
Fecha de Ingreso: marzo-2006
Mensajes: 5
Antigüedad: 11 años, 8 meses
Puntos: 0
Gracias por la ayuda, probare los códigos, y les agradeceré mucho porque me es muy importante para mi proyecto, definitivamente valió la pena inscribirme a este foro. Seguiré activo y trataré de ayudar en este sitio. Salu2 a todos. :D
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 11:27.