Foros del Web » Programando para Internet » PHP »

substr

Estas en el tema de substr en el foro de PHP en Foros del Web. ¿Alguien sabe por qué esto no me funciona ...: $ssql = "INSERT INTO INCIDENCIA VALUES ('$numinci',".explode('-',$usuari).")"; $ssql = "INSERT INTO INCIDENCIA VALUES ('$numinci',".substr($usuari, 0,9).")"; y ...
  #1 (permalink)  
Antiguo 12/05/2005, 09:50
 
Fecha de Ingreso: mayo-2005
Mensajes: 510
Antigüedad: 12 años, 7 meses
Puntos: 1
Pregunta substr

¿Alguien sabe por qué esto no me funciona ...:

$ssql = "INSERT INTO INCIDENCIA VALUES ('$numinci',".explode('-',$usuari).")";

$ssql = "INSERT INTO INCIDENCIA VALUES ('$numinci',".substr($usuari, 0,9).")";


y en cambio esto sí ??? :

$ssql = "INSERT INTO INCIDENCIA VALUES ('$numinci',".substr($usuari, 0,8).")";

Simplemete cambia el último número de la longitud del substr. Quiero coger un DNI, con 9 caracteres, pero no puedo. ¿Sabéis por qué puede ser?
El tamaño del campo de la BD MYSQL donde inserto la tupla es de longitud 9, y cambiándola a 10 tampoco la inserta con los 2 códigos primeros...
  #2 (permalink)  
Antiguo 12/05/2005, 09:52
 
Fecha de Ingreso: mayo-2005
Mensajes: 510
Antigüedad: 12 años, 7 meses
Puntos: 1
Perdón, se me ha olvidado decir q la variable $usuari tiene almacenado algio del estilo a:
'123456789M - María López'
  #3 (permalink)  
Antiguo 12/05/2005, 10:07
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
la funcion explode devuelve un array basandose en signo guia para dividir una frase.
si quieres es optener un valor del texto 123456789M - María López puede ser el nombre, primero pasa los valores a una variable.
$var = explode("-",$usuari);
Ahora tendras
$var[0] que tiene como valor 123456789M
$var[1] que tiene como valor María López

Ya teniendo los valores ahora si metes el dato que quieras a la base de datos:
$ssql = "INSERT INTO INCIDENCIA VALUES ('".$numinci."','".$var[1]."')";

Igual has con el substr primero asigna el valor a una variable, despues verificas que valor tiene:
$var2 = substr($usuari,0,9);
Mira con un echo $var2 a ver si con 9 te da valor o si con 8 y prueba eso hasta converserte cual es el que te da el valor en realidad y luego usas la variable $var2 en el query.
$ssql = "INSERT INTO INCIDENCIA VALUES ('".$numinci."','".$var2."')";
  #4 (permalink)  
Antiguo 16/05/2005, 04:34
 
Fecha de Ingreso: mayo-2005
Mensajes: 510
Antigüedad: 12 años, 7 meses
Puntos: 1
Ok, muchas gracias. Aunq sigo sin saber por qué antes, cogiendo 8 caracteres me lo hacía, y cogiendo 9 no... ¿Podría ser porq los 8 primeros eran números, y el último una letra, y ésto no lo hacía bien si no ponía ' " ----9caracteres-----" ', es decir, comillas simples, comillas dobles... Es lo único q se me ocurre.
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 12:13.