Foros del Web » Programando para Internet » PHP »

datos de mysql en cadena ??

Estas en el tema de datos de mysql en cadena ?? en el foro de PHP en Foros del Web. Hola recuerdo pue en asp se pueden llamar los datos de una tabla en cadena es decir dat01;dato2;dato3.......... en php yo he usado row pero ...
  #1 (permalink)  
Antiguo 14/03/2003, 00:06
Avatar de goya  
Fecha de Ingreso: enero-2002
Ubicación: La Serena
Mensajes: 273
Antigüedad: 22 años, 2 meses
Puntos: 1
datos de mysql en cadena ??

Hola

recuerdo pue en asp se pueden llamar los datos de una tabla en cadena es decir

dat01;dato2;dato3..........

en php yo he usado row pero esto solo sirve en las tablas lo que yo necesito hacer el como el ejemplo de arriva ... llamar los datos de la base de datos y ponerlos en esa forma solo separador por un ;

Alguna idea de como se hace esto???
__________________
:adios:
..."Hay dos cosas que son infinitas: el universo y la estupidez humana; y no estoy muy seguro acerca del universo."
Albert Einstein
  #2 (permalink)  
Antiguo 14/03/2003, 08:56
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 2 meses
Puntos: 17
$row = mysql_fetch_array($query);

$row[campo1];$row[campo2];...
__________________
M a l d i t o F r i k i
  #3 (permalink)  
Antiguo 14/03/2003, 09:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Con mysql_fetch_array() .. o msyql_fetch_assoc() obtienes tus campos del registro q estas leyendo en un array (podría ser en un objeto tambien por ejemplo ..) de tantos elementos como campos tenga la tabla que has generado con tu consulta ..


Código PHP:
$row mysql_fetch_array($query);

echo 
$row[campo1].";".$row[campo2].";..."
El "punto" es el simbolo de concatenación en PHP .. así q puedes ir formando tu "cadena como quieras...

y todo eso a un "echo" para mostrarlo .. o a una $variable o donde lo requieras..

Un saludo,
  #4 (permalink)  
Antiguo 14/03/2003, 19:17
Avatar de goya  
Fecha de Ingreso: enero-2002
Ubicación: La Serena
Mensajes: 273
Antigüedad: 22 años, 2 meses
Puntos: 1
una duda

lo que pasa es que quiero que sea la misma columna de la base de datos osea

tengo una tabla que se llama numero que contiene una lista de numeros para que funcione lo tengo que hacer asi:

$row = mysql_fetch_array($query);

echo $row[numero].";".$row[numero].";...";


es correcto???
__________________
:adios:
..."Hay dos cosas que son infinitas: el universo y la estupidez humana; y no estoy muy seguro acerca del universo."
Albert Einstein
  #5 (permalink)  
Antiguo 15/03/2003, 06:20
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 2 meses
Puntos: 17
echo "$row[campo];$row[campo2];...";
__________________
M a l d i t o F r i k i
  #6 (permalink)  
Antiguo 15/03/2003, 10:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Yo no entendí q pretendes hacer .. Pero lo q puso cain = a lo q puse yo ..

Explicate mejor con ejemplo de los datos q tienes en esos campos y que es lo que se ha de mostrar ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 15/03/2003, 12:41
Avatar de goya  
Fecha de Ingreso: enero-2002
Ubicación: La Serena
Mensajes: 273
Antigüedad: 22 años, 2 meses
Puntos: 1
aclaracion

Hola
lo que quiero hacer es que dentro de la suscripcion de mi web se llena un form con los siguentes campos (usuario + edad + email + intereces )quiero dar la posibilidad de quien quiere recibir avisos de actualizacion ,lo indique en el form.
entonces la idea de la cadena es para poner los emails separados por ; para poder enviar un email con copia pa todos , ahora lo estoy aciendo 1 a 1 lo que no es gran problema porque no son muchos usuarios pero si la cosa crece ....

ojala quede mas claro
__________________
:adios:
..."Hay dos cosas que son infinitas: el universo y la estupidez humana; y no estoy muy seguro acerca del universo."
Albert Einstein
  #8 (permalink)  
Antiguo 15/03/2003, 14:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Pues entonces . lo que tienes que generar es el "string" (cadena) con esos mails (campos de tu tabla).. Para ello usas el . (punto) como simbolo de concatenación tal cual:

Código PHP:

$tu_sql_consulta
="SELECT * FROM tabla";
$tu_consulta=mysql_query($tu_sql_consulta);

// Bucle para obterner los registros implicados en $tu_sql_consulta .. 
while ($registro=mysql_fetch_assoc($tu_consulta)){
$to_mails .=$registro['email'].";";
}

// mira como se generan las direcciones de e-mail . veras que hay un ; de mas .. Eso ya te lo dejó a tu critero para q se lo quites xD.
echo $to_mails;

// Lo usas donde quieras .. ejemplo en mail()
mail($to_mailsetc ....); 
Un saludo,
  #9 (permalink)  
Antiguo 15/03/2003, 18:15
Avatar de sci-fi  
Fecha de Ingreso: marzo-2002
Mensajes: 157
Antigüedad: 22 años
Puntos: 0
con mysql_result()

si necesitas solamente los datos de una sola columna, por ej. "email" solamente especificala en la consulta:

"SELECT email FROM etc etc"

la desventaja del ejemplo a continuación es que no sería lo más rápido de utilizar, porque usa mysql_result(), que es más lento que mysql_fetch_row() o mysql_fetch_array() porque releva dato por dato (o sea registro por registro). La ventaja es que no tienes que esperar por datos de columnas que no necesitas, así que en ese sentido sería más rápido:


Código PHP:
$quer mysql_query("SELECT email FROM tabla");

$lista "";

for (
$i=0$emails mysql_result($quer$i'email'); $i++) {
$lista .= $emails ";";

// debug
//print($lista); 
saludos
__________________
webdeveloper
http://www.javascripters.com.ar/
diseño web y tecnología
  #10 (permalink)  
Antiguo 22/03/2003, 14:39
Avatar de goya  
Fecha de Ingreso: enero-2002
Ubicación: La Serena
Mensajes: 273
Antigüedad: 22 años, 2 meses
Puntos: 1
Al final lo hise asi

Código PHP:
<?
mysql_connect
("localhost","usuario","password");
//Ejecutamos la sentencia SQL
$result=mysql_db_query("basededatos","select * from usuarios");
while (
$row=mysql_fetch_array($result))
{
$to_mails .=$row['email'].";";
}
mysql_free_result($result)
?>
<? 
echo $to_mails?>
y me funciono bien salvo por el pequeño detalle que al final del ultimo email sale ;
__________________
:adios:
..."Hay dos cosas que son infinitas: el universo y la estupidez humana; y no estoy muy seguro acerca del universo."
Albert Einstein
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:44.