Foros del Web » Programando para Internet » PHP »

Ayuda, php mysql enviando

Estas en el tema de Ayuda, php mysql enviando en el foro de PHP en Foros del Web. Hola, estoy haciendo un sistema de enviar jugadores al mysql. me gustaría que me lo corrijáis y me digáis como hago que php lea la ...
  #1 (permalink)  
Antiguo 12/08/2003, 06:41
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
Ayuda, php mysql enviando

Hola, estoy haciendo un sistema de enviar jugadores al mysql. me gustaría que me lo corrijáis y me digáis como hago que php lea la información que hay en mysql para luego mostrarla. estos son los códigos:

la tabla en la bd
Código PHP:
CREATE TABLE cm4adefensas (
nombre TINYINT (20)  NOT NULL,
edad TINYINT (3)  default NULL,
nacio TINYINT (8)  default NULL,
puesto TINYINT (10)  default NULL,
equipo TINYINT (10)  default NULL,
cantidad TINYINT (20)  default NULL,
descripcion TINYINT (50)  default NULL,
mail TINYINT (20)  NULL,
nick TINYINT (10)  NULL

conex.php
Código PHP:
<?php

$dbname
"cmblackriver";
$dbhost "pub-db.m2kcore.com";
$dbuser "cmblackriver";
$dbpass "*****";

$conexion mysql_connect($dbhost,$dbuser,$dbpass); 

if (! 
$conexion)
{
echo 
"<h2 align='center'>ERROR: Imposible establecer conexión con el servidor</h2>";
exit;
}


mysql_select_db("$dbname"$conexion);
?>

agregar.php
Código PHP:
<?php 
require('../../conex.php'); 
$nombre $_POST['nombre'];
$edad $_POST['edad'];
$nacio $_POST['nacio'];
$puesto $_POST['puesto'];
$equipo $_POST['equipo'];
$cantidad $_POST['cantidad'];
$descripcion $_POST['descripcion'];
$mail $_POST['mail'];
$nick $_POST['nick'];

//Hacemos algunas validaciones 
if(empty($nick)) $nick "Invitado"

// Grabamos el mensaje en la base. 
$sql "INSERT INTO cm4adefensas (nombre, edad, nacio, puesto, equipo, cantidad, descripcion, mail, nick) "
$sql.= "VALUES ('$nombre','$edad','$nacio','$puesto','$equipo','$cantidad','$descripcion','$mail','$nick',NOW(),NOW())"
$rs mysql_query($sql$conexion) or die("Error al grabar un mensaje: ".mysql_error); 
$ult_id mysql_insert_id($conexion); 
?>
form.php
Código PHP:
<form action="agregar.php" method="post">
                          
                            <
p><b><font size="2">Nombre:</font></b
                              <
input name="nombre" type="text" 
size="30" class="texto">
                           
                             
                            <
p><b><font size="2">Edad:</font> </b
                              <
input name="edad" type="text" 
size="6" class="texto">
                              <
br>
                              <
br>
                              <
strong><font size="2">Nacionalidad:</font></strong
                              <
input name="nacio" type="text" size="20" class="texto">
                              <
br>
                              <
br>
                              <
b><font size="2">Puesto:</font></b
                              <
input name="puesto" type="text" size="15" class="texto">
                              <
br>
                              <
br>
                              <
strong><font size="2">Equipo:</font></strong
                              <
input name="equipo" type="text" size="15" class="texto">
                              <
br>
                              <
br>
                              <
strong><font size="2">Cantidad &euro;/$:</font></strong
                              <
input name="cantidad" type="text" size="15" class="texto">
                              <
br>
                              <
br>
                              <
strong><font size="2">Descripci&oacute;n: </font></strong
                              <
input name="descripcion" type="text" value="" size="45" class="texto">
                              <
br>
                              <
br>
                              <
strong><font size="2">Tu mail:</font
                              <
input name="mail" type="text" class="texto" id="mail2" size="30">
                              <
br>
                              <
br>
                              <
font size="2">Tu nick:</font
                              <
input name="nick" type="text" size="15" class="texto">
                              </
strong> </p>
                            <
p
                            <
input name="submit" type="submit" value="Enviar!" class="boton">
                        </
form
P.D: Error al grabar un mensaje: mysql_error
eso me ha dicho al intentar mandar algo.

Por favor ayudarme, estoy un poco desesperado, orque no consigo na da na, ni apache ni na
  #2 (permalink)  
Antiguo 12/08/2003, 06:50
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
te falta el nombre de lso dos campos donde se insertan los dos now,

Un Saludo
  #3 (permalink)  
Antiguo 12/08/2003, 06:51
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
es mas segun to estructura de base de datos te sobran esos dos datos

un Saludo
  #4 (permalink)  
Antiguo 12/08/2003, 07:29
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
y con eso soluciono todo? voy a probar y os aviso

[EDITADO]

jojojo, gracias! ya me lo envía! ahora tendré que cambiar el tyniti o esa cosa por char o algo así para que me deja meter palabras en vez de números.

Gracias.

ahora necesito algun amable que me ayude ha hacer un archivo que lea la base de datos. (yo tengo puesto que me lea de un archivo txt, pero de otra manera no sé :s )

Última edición por BLACK RIVER; 12/08/2003 a las 07:35
  #5 (permalink)  
Antiguo 12/08/2003, 09:12
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
aqui te dejo algo:

Código PHP:
<?
require('../../conex.php'); //requerimos la conexion
$consulta mysql_query("SELECT * FROM cm4adefensas") or die("No se pudo realizar la consulta a la Base de datos");//seleccionamos lo que sea de la tabla

echo <<< HTML 
<table>//creamos la tabla
<tr>//creamos la columna de arriba
<td>nombre</td>
<
td>edad</td>
<
td>nacio</td>
<
td>puesto</td>
<
td>equipo</td>
<
td>cantidad</td>
<
td>descripcion</td>
<
td>mail</td>
<
td>nick</td>
</
tr>
HTML;
while(
$resultados mysql_fetch_array($consulta)) {
echo <<< HTML
<tr>
<td>$resultados
[nombre]</td>
<td>$resultados
[edad]</td>
<td>$resultados
[nacio]</td>
<td>$resultados
[puesto]</td>
<td>$resultados
[equipo]</td>
<td>$resultados
[cantidad]</td>
<td>$resultados
[descripcion]</td>
<td>$resultados
[mail]</td>
<td>$resultados
[nick]</td>
</tr>
HTML;
}
echo 
"</table>";
?>
bueno sino me equivoque en nada (que seguro que si)...jejejeje
solo tendras que poner la tabla como tu veas

Un Saludo
  #6 (permalink)  
Antiguo 12/08/2003, 13:29
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
hola!

me da error en esta línea: la 288:

Código PHP:
echo <<< HTML 
Parse error: parse error, expecting `','' or `';'' in /home/cmblackriver/htdocs/jugadores/defensas/def.php on line 288
  #7 (permalink)  
Antiguo 13/08/2003, 01:59
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
acabo de probar este codigo en local y sin probelma
Código PHP:
<?
require('./conex.php'); //requerimos la conexion
$consulta mysql_query("SELECT * FROM cm4adefensas") or die("No se pudo realizar la 

consulta a la Base de datos"
);//seleccionamos lo que sea de la tabla

echo <<< HTML
<table border="1">//creamos la tabla
<tr>//creamos la columna de arriba
<td>nombre</td>
<td>edad</td>
<td>nacio</td>
<td>puesto</td>
<td>equipo</td>
<td>cantidad</td>
<td>descripcion</td>
<td>mail</td>
<td>nick</td>
</tr>
HTML;
while(
$resultados mysql_fetch_array($consulta)) {
echo <<< HTML
<tr>
<td>$resultados
[nombre]</td>
<td>$resultados
[edad]</td>
<td>$resultados
[nacio]</td>
<td>$resultados
[puesto]</td>
<td>$resultados
[equipo]</td>
<td>$resultados
[cantidad]</td>
<td>$resultados
[descripcion]</td>
<td>$resultados
[mail]</td>
<td>$resultados
[nick]</td>
</tr>
HTML;
}
echo 
"</table>";
?>
Un saludo
  #8 (permalink)  
Antiguo 13/08/2003, 03:07
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
Bueno, después de una tarde y algo de la mañana, he conseguido este código:

Código PHP:
<?
require('../../conex.php'); //requerimos la conexion
$consulta mysql_query("SELECT * FROM cm4adefensas") or die("No se pudo realizar la consulta a la Base de datos");//seleccionamos lo que sea de la tabla

while($resultados mysql_fetch_array($consulta)) {
?><table width="735">
<tr><td width="126"><strong><font size="2"><? echo "$resultados[nombre]"?></font></strong></td><td width="597"></td></tr>
<tr><td><font color="#000099" size="2">Edad: </font><font size="2"><? echo "$resultados[edad]"?></td>
<td><font color="#000099" size="2">Nacionalidad: </font><font size="2"><? echo "$resultados[nacio]"?></font></td>
<tr><td><font color="#000099" size="2">Puesto: </font><font size="2"><? echo "$resultados[puesto]"?></font></td>
<td><font color="#000099" size="2">Equipo: </font><font size="2"><? echo "$resultados[equipo]"?></font></td>
<tr><td><font color="#000099" size="2">Valor: </font><font size="2"><? echo "$resultados[cantidad]"?></font><font color="#000099" size="2"> €/$</font></td>
<td><font color="#000099" size="2">Descripcion: </font><font size="2"><? echo "$resultados[descripcion]"?></font></td>
<tr><td><font color="#000099" size="2">Por: </font><font size="2"><a href="mailto:<? echo "$resultados[mail]"?>"><? echo "$resultados[nick]"?></a></font></td>
<td></td>
</tr></table><? ;
}
mysql_close($conexion
?>
de esta manera funciona perfectamente. aquí os dejo el ejemplo: http://www.cmblackriver.metropoliglo...ensas/def3.php

pero ahora me queda el últmo problema. ME DESCOLOCA LA PÁGINA!!!

cómo puedo hacer si la descripción es muy larga para que la corte en varias líneas?? en vez de que me hanche la web.

por favor una última ayuda
  #9 (permalink)  
Antiguo 13/08/2003, 03:52
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
pues lo que tienes que hacer es mirar que la celda esa en concreto tenga un valor maximo de width y que no este en %, lo mismo lo arreglas con eso

Un Saludo

Última edición por DINASEN; 13/08/2003 a las 05:01
  #10 (permalink)  
Antiguo 13/08/2003, 05:06
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
si, gracias, eso ya está pero me interesa más, el menú derecho y el formulario de abajo.

en el dreamweaver veo todo correcto. nosé porque pasa eso :(

el formulario entra justo debajo al resultado y el menú derecho debajo de la cabecera :(
  #11 (permalink)  
Antiguo 13/08/2003, 05:59
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
pues mira toda la tabla en genaral por que ami cuando me pasa eso le pongo el valro que yo veo conveniente y se queda bien

Un Saludo
  #12 (permalink)  
Antiguo 13/08/2003, 07:42
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
oh, lo he conseguido borrando una tabla que dentro de ella estaba el código. lo que hice fue sacarlo de ahí.

- quería hacerte otra pregunta. cómo puedo hacer para ordenar los últimos arriba. osea los nuevos que aparezcan los primeros. me pillas?

también me metí en Memorias de un aprendiz (que la recomiendo a todos los principiantes como yo)

bueno me metí y vi que se podían borrar las cosas desde un formulario. el enlace correcto donde está esa guía es este: http://www.rinconastur.com/php/php74.php (Borrar registros seleccionándolos de una lista)
y me metí a investigar. ya lo tengo más o menos en la web. pero me da error el script, y el formulario no me funciona :( aquí os dejo los códigos:

notibor.php:
Código PHP:
<? 
                  
require('conex.php'); //metemos la conexion
                  
$resultado=mysql_query("SELECT cm4anoti.nombre,cm4anoti.por FROM cm4anoti WHERE (cm4anoti.nombre=cm4anoti.por)  ",$conexion); 
                  echo 
"<table align=center border=2 bgcolor='#F0FFFF'>"
    echo 
"<tr bgcolor='#ffffff'><td colspan=5 align=center>Para BORRAR marca la casilla correspondiente al registro a eliminar</td><tr bgcolor='#ffffff'>"
        echo 
"<td align=center>Datos del aspirante</td>"
    echo 
"<td align=center>Título</td>"
    echo 
"<td align=center>Por</td>"
    echo 
"<td align=center>Borrar</td><tr>"
    echo 
"<form name='modificar' method=post action='notiscript.php'>";
    while(
$salida mysql_fetch_array($resultado)){
           for (
$i=1;$i<3;$i++){ 

       if(
$i==1) { 
        echo 
"<td>",$salida[$i]," "
          }else{ 
                    if (
$i==2) { 
                        echo 
$salida[$i]," "
                         }else{ 
                if (
$i==3) { 
                                 echo 
$salida[$i],"</td> "
                 }else{ 
                       echo 
"<td>",$salida[$i],"</td>"
                           } 
                   } 
                         } 
               }   
echo 
"<td align=center> <input type=checkbox name=borra[$salida[0]] value='Si'></td><tr>";
}
        
mysql_close($conexion
                  
?>
                  <td colspan=5 align=center><br><input type=submit value='Eliminar registros marcados'>&nbsp;<input type=reset value='Borrar el formulario'> 

<!-- CERRAMOS EL FORMULARIO Y LA TABLA --> 

</form></table>
notiscript.php:
Código PHP:
<?  

require('conex.php');

#recogemos del formulario la matriz borra[] que tiene como indices 
#los dni de todos los registros de las bases de datos 
# en los que la variable contenga el  valor Si (los marcados) 
# los registros no marcados (en el checkbox) no son transferidos 
# por lo que TODOS LOS ELEMENTOS DEL ARRAY CORRESPONDEN A DNI'S ELEGIDOS PARA BORRAR 

#leemos ese array completo usando el bucle foreach y 
#recogemos el indice y el valor en $indice y $valor 

foreach ($borra as $indice=>$valor){ 

        
#ejecutamos la instruccion DELETE filtrada por WHERE 
        # para que borre el registro en el que coincida DNI con el indice 


        
mysql_query("DELETE FROM cm4anoti WHERE (DNI=$indice)",$conexion); 
               

# despues de borrar los registros en las cuatro tablas 
# para asegurar la integridad referencial 
# cerramos el bucle while 

        





# cerramos la conexion 

     

mysql_close($conexion); 


#cerramos es script PHP y desde HTML 
# CARGAMOS LA PÁGINA QUE NOS PERMITE VISUALIZAR 
# LOS CONTENIDOS DE LAS CUATRO TABLAS 
# DEBERA NOTARSE LA AUSENCIA DE LOS REGISTROS BORRADOS 

?> 
<script language='JavaScript'> 

window.self.location='notibor.php' 

</script>
Resumiendo...
necesito ayuda con: los nuevos jugadores enviados que salgan en la parte alta de la web.
y ayuda con lo de borrar comandos, o como se llamen.
  #13 (permalink)  
Antiguo 13/08/2003, 09:03
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
mira para el tema de el orden es muy simple si tienes un campo autoincremental como pro ejemplo un id, ques un campo que es irrepetible y que para el tema de borrado edicion o selecion es mas facil de extraer, ya que nick puede haber dos iguales y nombre tambien pero el id sera irrepetible, asi que mi consejo es que siempre pongas un campo asi donde poder agarrate bien y facilmente en un momento dado..

con el tema del borrado, edicion e inserccion yo lo tengo todo en el mismo php solo me arrago a unos variables por post o por get para realizar una cosa o otra, un ejemplo simple seria algo asi

Código PHP:
if (!isset($_GET['tipo'])){ //miramos si no existe la variable tipoque sera la encarga de darnos la accion a realizar
//aqui iria la seleccion de la tabla es decir como no trae accion pues selecionamos y mostramos los registos
//y cuando lo mostramos en la tabla a su lado ponemos las acciones a realizar que este caso seria borrar y edicion en un enlace asi:
<a href="estapagina.php?tipo=editar&id=$resultados[id]" class="linktexto">Editar</a>
<
a href="estapagina.php?tipo=borrar&id=$resultados[id]">
}

//borrado dentro de la msima pagina
if ($_GET['tipo']=="borrar"){
$id_borrar$_GET['id'];   //cogemos el id
mysql_query("DELETE FROM tabla WHERE id=$id_borrar") or die(mysql_error());
mysql_close();

header ("Location: estapagina.php");
exit;
}
//fin del borrado

//edicion
if ($_GET['accion']=="editar"){
//aqui recogemos valor
$id_mod$_GET['id'];
//aqui hacemios una nueva seleccion con las resultados
y los ponemso en un form
}

//y cuando enviemos los cambios del form
if ($_GET['accion']=="editar_defi"){
//recojemos los valore y hacemos el update y hacemos un header de esta misma pagina otra vez sin la variable tipo para que entre  en la seleccion de registros
}

// bueno si aqui no te has vuelto loko ya solo nos faltaria la insercionque no se mete en el while de la selecion por que con uno sobraria
if ($_GET['accion']=="nuevo"){
//aqui mostramos el formulario y en el boton de enviar  pones la llamada a la misma pagina con el tipo hacer_nuevo por ejemplo
}

if (
$_GET['accion']=="hacernuevo"){
//recogemos los valores por post
$variable=$_POST['campo_form'];
//y hacemos la insercion y hacemos otro header a esa pagina sin tipo ninguno

bueno despues de todo esto como te quedas?¿...se que no habras entendio na pro que me xplico muy mal, pero si quieres lo vamos haciendo pro partes y al fianl te saldra y lo tendras claro ok?¿

Un Saludo
  #14 (permalink)  
Antiguo 13/08/2003, 09:04
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
se me olvido...jejejeje
pro que te dijo de hacer todo el el msimo pr que yo al principio lo hacia asi y llegara un momentoq ue tengas demasiados php y no sabras ni como llaamrlos asi ademas es mas facil al final solo es cuestoin de coger la idea

Un Saludo
  #15 (permalink)  
Antiguo 13/08/2003, 09:22
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
bueno, voy ha hacer lo del id. me imagino que solo es poner un nuevo campo de número y el solito va cambiando en número? o como lo hago? esque no tengo ni idea

y luego de lo de borrar.... joer, que cosas más complicadas. yo eso de hacer páginas del estilo "pagina.php?id=12"

no tengo ni idea, y eso que me he leido miles de tutoriales y no pillo ninguno. me parece que me estoy metiendo con cosas muy chungas.

Última edición por BLACK RIVER; 13/08/2003 a las 09:25
  #16 (permalink)  
Antiguo 13/08/2003, 14:03
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
hola amigos. Ya he conseguido lo de una id para cada campo.

de momento tengo dos campos. y cada uno con una id diferente la "1" y "2"

espero respuestas

gracias, un saludo
  #17 (permalink)  
Antiguo 14/08/2003, 01:35
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
Hola.

me gustaría saber si alguien es capaz de explicarme esto. no sé lo que hace cada cosa ni cómo meter el código en la web. Gracias

Código PHP:
if (!isset($_GET['tipo'])){ //miramos si no existe la variable tipoque sera la encarga de darnos la accion a realizar
//aqui iria la seleccion de la tabla es decir como no trae accion pues selecionamos y mostramos los registos
//y cuando lo mostramos en la tabla a su lado ponemos las acciones a realizar que este caso seria borrar y edicion en un enlace asi:
<a href="estapagina.php?tipo=editar&id=$resultados[id]" class="linktexto">Editar</a>
<
a href="estapagina.php?tipo=borrar&id=$resultados[id]">
}

//borrado dentro de la msima pagina
if ($_GET['tipo']=="borrar"){
$id_borrar$_GET['id'];   //cogemos el id
mysql_query("DELETE FROM tabla WHERE id=$id_borrar") or die(mysql_error());
mysql_close();

header ("Location: estapagina.php");
exit;
}
//fin del borrado

//edicion
if ($_GET['accion']=="editar"){
//aqui recogemos valor
$id_mod$_GET['id'];
//aqui hacemios una nueva seleccion con las resultados
y los ponemso en un form
}

//y cuando enviemos los cambios del form
if ($_GET['accion']=="editar_defi"){
//recojemos los valore y hacemos el update y hacemos un header de esta misma pagina otra vez sin la variable tipo para que entre  en la seleccion de registros
}

// bueno si aqui no te has vuelto loko ya solo nos faltaria la insercionque no se mete en el while de la selecion por que con uno sobraria
if ($_GET['accion']=="nuevo"){
//aqui mostramos el formulario y en el boton de enviar  pones la llamada a la misma pagina con el tipo hacer_nuevo por ejemplo
}

if (
$_GET['accion']=="hacernuevo"){
//recogemos los valores por post
$variable=$_POST['campo_form'];
//y hacemos la insercion y hacemos otro header a esa pagina sin tipo ninguno

Un saludo gracias
  #18 (permalink)  
Antiguo 14/08/2003, 09:26
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
jejejeje nada hombre no te rindas poko a poko le vamos dando forma
bueno intentare explicartelo a ver que pasa:

primero tu siempre y eso lo sabras que puedes pasar variables tanto por get como por post y recogerla con la variable superglobal $_GET y $_POST, espero que hasta aqui bien?¿, vale como podemos recoegr esas variables podemso mandar a nuestro script hacer una cosa o otra por eso utilizamos la la variable tipo que sera la encargada de hacer esto...

lo tienes claro hasta aqui y continuamos?¿

Un Saludo
  #19 (permalink)  
Antiguo 14/08/2003, 10:21
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
si, entendido, puedes seguir :)

gracias
  #20 (permalink)  
Antiguo 14/08/2003, 11:26
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
ok pues bien, la primera vez que entras es cuando se debe hacer la seleccion en la base de datos no?¿

por eso preguntamos esto :
if (!isset($_GET['tipo'])){
sino existe pro get la variable tipo pues hacemos nuestro select en la base de datos y lo mostramos, como se muestran pues como hicimos al principio y es metiendo lo registros en un tabla, bin primero generamos la cabecera de esta
Código PHP:
<table>
<
tr>
<
td>campo1</td>
<
td>campo2</td>
<
td>campo3</td>
<
td>campo4</td>
<
td>campo5</td>
<
td>estapagina.php?tipo=nuevo</td>// esta es para poner un enlace donde insertar un nuevo registro y le pasamos pro get la variable tipo con el valor nuevo
</tr>//cerramos la fila
//bien ahora tenemos que gerenar una fila pro cada registro
while($resultados mysql_fetch_array($consulta)) {
<
tr>
<
td>$resultados[campo1]</td>
<
td>$resultados[campo2]</td>
<
td>$resultados[campo3]</td>
<
td>$resultados[campo4]</td>
<
td>$resultados[campo5]</td>
<
td><a href="estapagina.php?tipo=editar&id=$resultados[id]" class="linktexto">Editar</a> ||    
<
a href="estapagina.php?tipo=borrar&id=$resultados[id]">Borrar</a>
</
td>// esta es para poner lso enlaces de borrar y editar y como ves le pasamos como parametro el tipo y el id del registro
</tr>//cerramos la fila
}
</
table>//cerramos la tabla 
bueno ya esta hecha la seleccion dime si tienes dudas o seguimos

Un Saludo
  #21 (permalink)  
Antiguo 14/08/2003, 11:47
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
si, demomento entendido. ya lo voy pillando poco a poco. pero todo esto debería meterlo en una página todo junto. por ejemplo admin.php, no?? y metido todo dentro de
<? ?>

bueno, vamos al siguiente paso ;)
  #22 (permalink)  
Antiguo 14/08/2003, 12:04
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
claro eso es para no tener que tener un monton de php para hacer estas acciones, esto seria pro ejemplo para editar usuarios y el php se podria llamar usuarios.php y llevaria el scriopts dentro para hacerlo en la misma pagina

bueno seguimos

bien, ya tenemos generado nuestar tabla con los resulatdo y con los enalces de insertar borrar he editar...
empezemos pro editar :

si recuerdas el enlñace era asi
<a href="estapagina.php?tipo=editar&id=$resultados[id]" class="linktexto">Editar</a>
bien pues llamamos a esta pagina con el tipo en editar y el id del registro

Código PHP:
if ($_GET['accion']=="editar"){
//aqui recogemos valor
$id_mod$_GET['id'];
//aqui haremos un select para que nos de el registro completo
y los ponemso en un form seria algo asi
$consulta 
mysql_query("SELECT * FROM tabla WHERE id=$id_mod") or die("No se pudo realizar la consulta a la Base de datos editar");
while(
$resultados mysql_fetch_array($consulta)) {
//aqui ira el form con el resultado de la consulta, su`pongo que eso si sabes asi que lo omito...
//bien pues en el tag del form seria asi
<form method="post" action="$tupagina.php?accion=editar_defi">
}
//fin while
}//fin editar

//bien ya hemos echo nuestrios cambios y ahora solo nos quedara actualizar la base de datos
//como en el action hemos puesto esta pagina con el tipo en editar_defi entara aqui

if ($_GET['accion']=="editar_defi"){

$id=$_POST['id_form'];//solo pongo el id pero tu lo tendras que hacer con todos lso campos

mysql_query("UPDATE tabla SET campo1='$campo1',campo2='$campo2',campo3='$campo3' ,campo4='$campo4' ,campo5='$campo5' WHERE ID='$id'") or die(mysql_error());
mysql_close ();//cerramos la conexion
header ("Location: tupagina.php");//volvemos a llamar a esta pagina sin ningunparametro en tipo asi que entrara en la selecion 
exit;
}
//fin del editar_defi 
Bueno ya tenemos la parte mas dificil y mas de la mitad como lo ves?¿

Un Saludo
  #23 (permalink)  
Antiguo 14/08/2003, 12:15
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
bien lo veo. a ver. donde debo poner el formulario... a ver, yo lo quiero editar pa noticias así que hago el formulario que tenía pa noticias? que sería algo así:


Código PHP:
if ($_GET['accion']=="editar"){
//aqui recogemos valor
$id_mod$_GET['id'];
//aqui haremos un select para que nos de el registro completo
y los ponemso en un form seria algo asi
$consulta 
mysql_query("SELECT * FROM tabla WHERE id=$id_mod") or die("No se pudo realizar la consulta a la Base de datos editar");
while(
$resultados mysql_fetch_array($consulta)) {
<
form action="$tupagina.php? method="post">
                            <p><b>T&iacute;tulo:</b> 
                              <input name="
nombre" type="text
size="
30" class="texto">
                              <font size="
2">(t&iacute;tulo de noticia y la fecha) 
                              ej: <strong>&quot;t&iacute;tulo&quot; <font size="
-2">[dd-mm-aaaa 
                              | hh:mm]</font></strong></font>
<p><b>Noticia: </b> 
                              <input name="
mensaje" type="text" id="mensaje
size="
70" class="texto">
                              <font size="
2">(la noticia)</font><br>
                              <br>
                              <strong>Por:</strong> 
                              <input name="
por" type="text" id="por" value="Por " size="20" class="texto">
                              <font size="
2">inserta &quot;Por tunombre&quot;</font></p>
  <p> 
                            <input name="
submit" type="submit" value="Enviar!" class="boton">
                        </form>
//bien pues en el tag del form seria asi
<form method="
post" action="$tupagina.php?accion=editar_defi">
}//fin while
}//fin editar

//bien ya hemos echo nuestrios cambios y ahora solo nos quedara actualizar la base de datos
//como en el action hemos puesto esta pagina con el tipo en editar_defi entara aqui

if ($_GET['accion']=="
editar_defi"){

$id=$_POST['id_form'];//solo pongo el id pero tu lo tendras que hacer con todos lso campos

mysql_query("
UPDATE tabla SET  nombre='$nombre',mensaje='$mensaje',por='$por' WHERE ID='$id'") or die(mysql_error());
mysql_close ();//cerramos la conexion
header ("
Locationtupagina.php");//volvemos a llamar a esta pagina sin ningunparametro en tipo asi que entrara en la selecion 
exit;
}//fin del editar_defi 
he cambiado los campos y el formulario. corrigeme, que creo que lo he hecho mal. osea el formulario es correcto pro lo demás... :s
  #24 (permalink)  
Antiguo 14/08/2003, 12:31
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
bien al principio aqui
if ($_GET['accion']=="editar"){
//aqui recogemos los valores
$id= $_GET['id'];
$por= $_GET['por'];
$mensaje= $_GET['mensaje'];
$nombre= $_GET['nombre'];

vale eso por un lao y por otro te faltaria poner en lso input el value seria :

<input name="nombre" type="text"
size="30" class="texto" value=$resultados[campo1]

eso si lo he omiyido en la explicacion siempre por que creoq eu es basico para el form y esas cosas queno son php pon un echo
o un
echo <<< HTML
aqui tu form
HTML;


Un Saludo
  #25 (permalink)  
Antiguo 14/08/2003, 12:44
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
jeje, si no me fijé en que tenía que aplicar eso también.

bueno, y ya está con todo esto??
  #26 (permalink)  
Antiguo 14/08/2003, 13:02
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
ehm, DINASEN

no me dau cuenta de esto... :s me liau con esto, que hago con esto que no aparecía en el primer código?

Código PHP:
<table>
<
tr>
<
td>campo1</td>
<
td>campo2</td>
<
td>campo3</td>
<
td>campo4</td>
<
td>campo5</td>
<
td>estapagina.php?tipo=nuevo</td>// esta es para poner un enlace donde insertar un nuevo registro y le pasamos pro get la variable tipo con el valor nuevo
</tr>//cerramos la fila
//bien ahora tenemos que gerenar una fila pro cada registro
while($resultados mysql_fetch_array($consulta)) {
<
tr>
<
td>$resultados[campo1]</td>
<
td>$resultados[campo2]</td>
<
td>$resultados[campo3]</td>
<
td>$resultados[campo4]</td>
<
td>$resultados[campo5]</td>
<
td><a href="estapagina.php?tipo=editar&id=$resultados[id]" class="linktexto">Editar</a> ||    
<
a href="estapagina.php?tipo=borrar&id=$resultados[id]">Borrar</a>
</
td>// esta es para poner lso enlaces de borrar y editar y como ves le pasamos como parametro el tipo y el id del registro
</tr>//cerramos la fila
}
</
table>//cerramos la tabla 
  #27 (permalink)  
Antiguo 15/08/2003, 09:59
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
cuando puedas explícame porque eso de tener que entrar en la base de datos cada vez que tengo que borrar algo... no mola.

venga, no es tan dificil como parecía
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 05:37.