Foros del Web » Programando para Internet » PHP »

servicioWeb sencillo

Estas en el tema de servicioWeb sencillo en el foro de PHP en Foros del Web. Hola a todos! Quiero hacer un web service que devuelva todas las columnas de una fila de la tabla de la forma: columna1;columna2;columna; De momento ...
  #1 (permalink)  
Antiguo 03/08/2014, 08:34
 
Fecha de Ingreso: febrero-2013
Mensajes: 25
Antigüedad: 11 años, 9 meses
Puntos: 2
servicioWeb sencillo

Hola a todos!

Quiero hacer un web service que devuelva todas las columnas de una fila de la tabla de la forma:

columna1;columna2;columna;

De momento he llegado a hacer la consulta correctamente con este código:

Código:
$consulta = "SELECT * FROM comun WHERE id = ".$id;
$resultado= mysql_query($consulta,$enlace);
$fila = mysql_fetch_array($resultado)
Pero no se como meter cada campo de la fila en una cadena y separarlos por ;.

¿Alguien me puede echar una mano?
  #2 (permalink)  
Antiguo 03/08/2014, 09:11
 
Fecha de Ingreso: febrero-2013
Mensajes: 25
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: servicioWeb sencillo

he econtrado una funcion llamada implode que viene de perlas para esto pero me saca las cosas dobles, por ejemplo a;a;b;b;c;c; alguien sabe por que?

os dejo el código actualizado:

Código:
$id = $_POST["id"];
$consulta = "SELECT 'preg','respA','respB','respC','respD','respV' FROM comun WHERE id = ".$id;
echo($consulta);
$resultado= mysql_query($consulta,$enlace);
$fila = mysql_fetch_array($resultado);
	
$salida = implode(";",$fila);
echo($salida);
  #3 (permalink)  
Antiguo 03/08/2014, 09:57
Avatar de AitorDB  
Fecha de Ingreso: agosto-2014
Ubicación: Cádiz, España
Mensajes: 52
Antigüedad: 10 años, 3 meses
Puntos: 5
Respuesta: servicioWeb sencillo

Bueno lo primero que te recomiendo al igual que me han recomendado a mi es que no uses la funciones de MySQL, sino PDO o MySQLi ([URL="http://www.forosdelweb.com/f18/anuncio-extension-mysql-php-considera-obsoleta-1008145/"]aquí [/URL]el por qué, además de una mayor velocidad).

El problema no es de "implode", sino (sino me equivoco, corríjanme si es así) que mysql_fetch_array ye devuelve dos formas diferentes del mismo array, $array[0] y $array["campo1"].
Una forma de solucionar esto es usar las funciones mysql_fetch_row (para array enumerado) o mysql_fetch_assoc (para array asociativo).


En este caso te pasaré un ejemplo con MySQLi:

Código PHP:
Ver original
  1. // Conexión con el servidor y la base de datos
  2. $conexion = mysqli_connect("SERVIDOR", "USUARIO", "CONTRASEÑA");
  3. if (!$conexion) {
  4.     die("No se pudo conectar: " . mysqli_error($conexion));
  5. }
  6. mysqli_select_db($conexion,$database);
  7.            
  8. //Realizamos la consulta a la base de datos y en caso de error nos lo indica
  9. $resultado = mysqli_query($conexion, "SELECT * FROM Tabla") or die(mysqli_error($conexion));
  10.  
  11. $fila = mysqli_fetch_row($resultado);
  12. $salida = implode(";",$fila);
  13. echo($salida);

Suerte!

Etiquetas: mysql, select, sencillo, tabla
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 14:12.