Foros del Web » Programando para Internet » PHP »

Como ingresar registros en una tabla?

Estas en el tema de Como ingresar registros en una tabla? en el foro de PHP en Foros del Web. bueno, me parece que el encabezado dice todo, pero igual... necesito un codigo para hacer lo siguiente: tengo una pagina con un form para poner ...
  #1 (permalink)  
Antiguo 06/02/2002, 16:40
Usuario no validado
 
Fecha de Ingreso: enero-2002
Ubicación: Bueno Aires
Mensajes: 156
Antigüedad: 15 años, 11 meses
Puntos: 0
Como ingresar registros en una tabla?

bueno, me parece que el encabezado dice todo, pero igual...
necesito un codigo para hacer lo siguiente:
tengo una pagina con un form para poner los datos de nuevo user, ese form va a una pagina la cual debe tener el prog que necesito...
el cual debe hacer una consulta a la tabla para ver si hay un dato que consida, si es asi que muestre un error onda "ya esta registrado"
y si no cinside ingun dato entonces que cree un nuevo registro con esos dato!

espero que alguien me pueda ayudar, muchas gracias!!!!!!!! ;) ;)

Sebastián Guidobono
Diseñador Multimedial
  #2 (permalink)  
Antiguo 06/02/2002, 19:41
 
Fecha de Ingreso: enero-2002
Ubicación: Dentro del corralón
Mensajes: 287
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: Como ingresar registros en una tabla?

JaiMyCo.:
La idea es la siguiente.
<pre>
$conn=mysql_connect(&quot;localhost&quot;,&quot;&q uot;,&quot;&quot;);
mysql_select_db(&quot;tu_base&quot;);
$sql=&quot;SELECT nick FROM usuarios WHERE nick = '&quot; . $HTTP_POST_VARS[&quot;nick&quot;] . &quot;'&quot;;
$res=mysql_query($sql,$conn);
// Verifico cuantas filas me devuelve la consulta
if (mysql_num_rows($res))==0) {
// No existe ninguna. Armo la sentencia para insertar
// y mostrar mensaje de usuario registrado
...
} else {
// Muestro mensaje de que el usuario ya existe porque
// la funcion me devolvió distinto de cero.
...
}
mysql_free_result($res);
</pre>

Perdón si hay algún error pero lo hice sobre la marcha. Recordá que si definís el metodo del form en GET, debés usar el array asociativo $HTTP_GET_VARS (Podés usar $_POST o $_GET en versión &gt;= 4.1.0)
Saludos!

Leonardo D'Angelo
Buenos Aires
Argentina
  #3 (permalink)  
Antiguo 06/02/2002, 22:24
Usuario no validado
 
Fecha de Ingreso: enero-2002
Ubicación: Bueno Aires
Mensajes: 156
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: Como ingresar registros en una tabla?

eso ya lo se hacer, igual muchas gracias, lo qye quiero es por ejemplo en la linea de consulta &quot;SELECT ... de mysql, si quiero que se fije en todos los campos como hago?
capompos por ejemplo: uin, pass, nom, mail

o sea si conicide cualquiera de estos camposde una fial con los que el user nuevo puse en form que diga que tal dato(por ejemplo &quot;pass&quot;) coniside con el que el user coloco..
osea que le diga al user que dato esta mal.
mal porque ya existe obviamente..
muchas gracias, espero puedan ayudarme!

Sebastián Guidobono
Diseñador Multimedial
  #4 (permalink)  
Antiguo 07/02/2002, 07:25
 
Fecha de Ingreso: enero-2002
Ubicación: Dentro del corralón
Mensajes: 287
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: Como ingresar registros en una tabla?

OK. El tema es que haciendo de esa manera podrías estar recuperando filas que realmente pertenecen a otro usuario. Ej. Nombre: Juan Pérez (sin menospreciar a los Juan Pérez).
Password: 123, pueden existir realmente en varios usuarios.
Si esto no te preocupa, estimo que la solución es agregar en el primer select, en la condición where, tantos OR como necesites según variables pases desde el form, luego vayas haciendo un ciclo recuperando los registros con mysql_fetch_row (si la consulta te devuelve alguno) y comparando cada campo que recuperaste con su correspondiente variable del form y si se cumple, mostrar un mensaje aclaratorio. Espero te haya quedado clara la lógica que intenté describirte para resolver tu problema. Quizás los campos sobre los cuales vas a validar que pusiste son de ejemplo y vas a usar otros que sean mas únicos o quizás no quieras tener mas de un Juan Pérez o contraseñas repetidas en distintos usuarios. ;)
Un saludo.

Leonardo D'Angelo
Buenos Aires
Argentina
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 08:28.