Foros del Web » Programando para Internet » PHP »

Una pequeña ayuda por favor

Estas en el tema de Una pequeña ayuda por favor en el foro de PHP en Foros del Web. Hola, me ha surgido un pequeño problema, que nose si es facil resolverlo pero en este momento no me doy cuenta , hice esta funcion ...
  #1 (permalink)  
Antiguo 11/04/2010, 20:54
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 2 meses
Puntos: 0
Una pequeña ayuda por favor

Hola, me ha surgido un pequeño problema, que nose si es facil resolverlo pero en este momento no me doy cuenta ,

hice esta funcion

Código PHP:
function insertar($campos$valores){
$campo explode('-',$campos);
$valore explode('-'$valores);
$total count($campo);

for(
$i=0;$i $total$i++){

$armando .= $campo[$i].","

$armando2 .= "'".$valore[$i]."'";


}

$sql  "INSERT INTO usuarios($armando) values($armando2);";
$resultado mysql_query($sql);

if(
$resultado){
$res "correcto";

}else{
$res "error";
}

return 
$sql ;

puse retornar la consulta ($sql) para ver donde estaba el error, y habia quedado asi
INSERT INTO usuarios(nombre,correo,) values('unnombre','unapellido',);
el problema es las ultimas comas que inserta, no me doy cuenta como desaparecerlas xD, bue eso es todo gracias chau
  #2 (permalink)  
Antiguo 11/04/2010, 21:11
Avatar de locmasm  
Fecha de Ingreso: noviembre-2007
Ubicación: México D. F.
Mensajes: 301
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Una pequeña ayuda por favor

El punto y coma de esta línea?

Código PHP:
$sql  "INSERT INTO usuarios($armando) values($armando2);"
Solo borralas:

Código PHP:
$sql  "INSERT INTO usuarios($armando) values($armando2)"
después de donde dice ($armando2)...

Supongo que tu consulta quedaría así:
Código MySQL:
Ver original
  1. $resp= mysql_query("insert into TABLA (CAMPO) values ('$armando2')");


Saludos.
  #3 (permalink)  
Antiguo 11/04/2010, 21:24
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Una pequeña ayuda por favor

Hola yo digo la coma que queda despues de correo o de un apellido, esa coma no deberia ir
INSERT INTO usuarios(nombre,correo,) values('unnombre','unapellido',);
salu2
  #4 (permalink)  
Antiguo 11/04/2010, 21:28
Avatar de locmasm  
Fecha de Ingreso: noviembre-2007
Ubicación: México D. F.
Mensajes: 301
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Una pequeña ayuda por favor

Cita:
Iniciado por Antc1993 Ver Mensaje
Hola yo digo la coma que queda despues de correo o de un apellido, esa coma no deberia ir
INSERT INTO usuarios(nombre,correo,) values('unnombre','unapellido',);
salu2
Esa coma ha de salir por esto:

Código PHP:
$armando .= $campo[$i].","
en particular

Código PHP:
"," 
con lo que separas los campos, pero si la quitas, ya no va a salir en ningun lado esa coma, por lo que ya no los va a separar, apareceran juntos campo,campo, ahora saldrán campocampo
  #5 (permalink)  
Antiguo 11/04/2010, 21:48
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Una pequeña ayuda por favor

Claro ese es mi problema, no tengo idea como sacarla, hay alguna funcion para remplasar el signo que queramos, osea $cadena = "campo,campo,"? osea quisiera remplasar la ultima coma por nada, pero la que quiero remplasar es la segunda coma, hay alguna funcion para eso?
  #6 (permalink)  
Antiguo 11/04/2010, 21:54
Avatar de locmasm  
Fecha de Ingreso: noviembre-2007
Ubicación: México D. F.
Mensajes: 301
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Una pequeña ayuda por favor

Cita:
Iniciado por Antc1993 Ver Mensaje
Claro ese es mi problema, no tengo idea como sacarla, hay alguna funcion para remplasar el signo que queramos, osea $cadena = "campo,campo,"? osea quisiera remplasar la ultima coma por nada, pero la que quiero remplasar es la segunda coma, hay alguna funcion para eso?
Vas a pensar que es tarde preguntar, pero dime que hace exactamente tu script
  #7 (permalink)  
Antiguo 11/04/2010, 21:58
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Una pequeña ayuda por favor

Nada estaba probando no mas diferentes metodos para insertar registros, y bueno no salio este y pregunte xD, a esta dando vuelta y vi que se puede remplazar con preg_replace , pero nose bien como se usan las expresiones regulares
  #8 (permalink)  
Antiguo 11/04/2010, 22:07
Avatar de locmasm  
Fecha de Ingreso: noviembre-2007
Ubicación: México D. F.
Mensajes: 301
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Una pequeña ayuda por favor

Pues no me queda muy claro el script, pero aquí te dejo el método que yo uso para insertar registros de un formulario a una base de datos sql:

Lo ejemplificare con un pequeño sistema que guarda el NOMBRE y un COMENTARIO en una base de datos llamada PRUEBA

Primero tenemos el html con el formulario (es muy simple, solo para ejemplificar):

Código PHP:
<form method="post" action="guardar.php" name="formulario">
nombre: <input type="text" name="NOMBRE"><br>
comentario <textarea name="COMENTARIO" cols="30" rows="5"></textarea><br>
<
input type="submit" name="enviar" value="Enviar">          
</
form
Ahora tenemos el archivo guardar.php que toma lo que se escribio en NOMBRE y COMENTARIO y los guarda en PRUEBA

Código PHP:
if($_POST['enviar']){
$NOMBRE $_POST['NOMBRE'];
$COMENTARIO $_POST['COMENTARIO'];
mysql_query("insert into PRUEBA (nombre,comentario) values ('$NOMBRE','$COMENTARIO')") ;
echo 
"Campo guardado";

Por lo que analice en tu script, tu eliges que campos vas a crear, pero eso esta mal, los campos en una tabla ya deben estar preestablecidos, no puedes estar agregando campos conforme los usas, debes planear que necesitas y que no.

Saludos.
  #9 (permalink)  
Antiguo 12/04/2010, 01:41
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Una pequeña ayuda por favor

es que tenes una coma de mas, tenes que eliminar la ultima coma.

podes hacerlo mas simple igualmente, ustiliza array para pasar los parametros

Código PHP:
Ver original
  1. function insertar($campos = array(), $valores = array()){
  2.  if(is_array($campos) && is_array($valores)){
  3.     foreach($campos as $campo){
  4.         $field .= $campo.',';
  5.      }
  6.      $field = substr ($field, 0, strlen($field) - 1);//quitas la ultima coma
  7.     foreach($valores as $valor){
  8.        $value = '"'.$valor.'",';
  9.     }
  10.     $value = substr ($value, 0, strlen($value) - 1);
  11.     $sql = 'INSERT INTO usuarios ('.$campos.') VALUES (.'$value'.)';
  12.     return $sql;
  13.  }
  14.  
  15.  return false;
  16. }
  #10 (permalink)  
Antiguo 12/04/2010, 16:16
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Una pequeña ayuda por favor

Aaa eso era lo que buscaba samu22 muchisimas gracias, y gracias tambien a locmasm aunque no no entendieramos xD

Etiquetas: favor, pequeñ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 20:54.