Foros del Web » Programando para Internet » PHP »

depositar un mensaje en una tabla para varios usuarios

Estas en el tema de depositar un mensaje en una tabla para varios usuarios en el foro de PHP en Foros del Web. Hola, estoy tratando de desarrollar una pequeña red y cada vez me salen mas cosas q no entiendo, consulto mucho, pero cuando definitivamente no puedo ...
  #1 (permalink)  
Antiguo 13/07/2011, 09:42
 
Fecha de Ingreso: marzo-2004
Mensajes: 199
Antigüedad: 20 años
Puntos: 1
depositar un mensaje en una tabla para varios usuarios

Hola, estoy tratando de desarrollar una pequeña red y cada vez me salen mas cosas q no entiendo, consulto mucho, pero cuando definitivamente no puedo recurro a ustedes, el problema es el siguiente.
tengo un usuario, q tiene su lista de amigos, hay opcion de enviar un mensaje pero quiero q ese mensaje sea enviado a todos mis amigos, entonces tengo una tabla de mensajes en donde esta el id de quien lo envia, y el mensaje y alli se depositan, el codigo q tengo es
<?php

//AQUI BUSCO QUIENES SON AMIGOS DE QUIEN ENVIA EL MENSAJE
$qREL = mysql_query("select * from relations where IDUSER1='$sesion';",$conn) or die ("Error :".mysql_error());
$aqREL = mysql_fetch_array($qREL);

//AQUI ESTABLEZCO UNA VARIABLE PARA CARGAR EL ID DE QUIEN RECIBE EN LA TABLA
$RA2 = $aqREL["IDUSER2"];

mysql_query("INSERT INTO advices (Id_item,sender_advice,recept_advice,advice_messag e)values('$_POST[Id_item]','$sesion','$RA2','$_POST[advice_message]')",$conn) or die ("Error".mysql_error());}

Bueno gracias mil si me pueden colaborar.
  #2 (permalink)  
Antiguo 13/07/2011, 11:50
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: depositar un mensaje en una tabla para varios usuarios

Revisa los detalles pero es así:

Código PHP:
Ver original
  1. <?php
  2.  
  3. //Busco los amigos
  4. $qREL = mysql_query("select * from relations where IDUSER1='$sesion';",$conn) or die ("Error :".mysql_error());
  5.  
  6. //Por cada destinatario, se manda un mensaje con idénticas características:
  7. while($aqREL = mysql_fetch_array($qREL)){
  8. mysql_query("INSERT INTO advices (Id_item,sender_advice,recept_advice,advice_message)values('$_POST[Id_item]','$sesion','$aqREL["IDUSER2"]','$_POST[advice_message]')",$conn) or die ("Error".mysql_error());}
  9. }
  10.  
  11. ?>
SAlu2
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 13/07/2011, 17:26
 
Fecha de Ingreso: marzo-2004
Mensajes: 199
Antigüedad: 20 años
Puntos: 1
Respuesta: depositar un mensaje en una tabla para varios usuarios

Genial, muchisimas gracias, eres muy amable.
  #4 (permalink)  
Antiguo 26/07/2011, 11:34
 
Fecha de Ingreso: septiembre-2004
Mensajes: 4
Antigüedad: 19 años, 6 meses
Puntos: 0
Respuesta: depositar un mensaje en una tabla para varios usuarios

Hola, disculpa la molestia, entiendo que este codigo sirve para rescatar de una base de datos los ids necesarios para insertar un mensaje, pero como podria hacer algo simliar si los ids vienen de un form con metodo post? gracias por su amable respuesta y ayuda.
  #5 (permalink)  
Antiguo 26/07/2011, 13:11
 
Fecha de Ingreso: septiembre-2004
Mensajes: 4
Antigüedad: 19 años, 6 meses
Puntos: 0
Respuesta: depositar un mensaje en una tabla para varios usuarios

Hola, lo he resuleto, con ayuda claro de este foro, lei varios posts y pues hice lo siguiente, segun yo funciona bien, la idea es, que de una base de datos saquemos un checkbox por cada usuario, asi elegimos a quien enviarle un mensaje, con javascript podemos enviarlo a todos, una vez enviado el form pues rescata el id del destinatario y lo inserta en base de datos con mensaje independiente para cada uno, pongo aqui el codigo para quien pueda serle útil, saludos:

Cita:
<head>
<script type="text/javascript">
function seleccionar_todo(){
for (i=0;i<document.formulario.elements.length;i++)
if(document.formulario.elements[i].type == "checkbox")
document.formulario.elements[i].checked=1
}
function deseleccionar_todo(){
for (i=0;i<document.formulario.elements.length;i++)
if(document.formulario.elements[i].type == "checkbox")
document.formulario.elements[i].checked=0
}
</script>
</head>
<div id="cuerpo">
<?
if(isset($_POST["enviar"])) {
ini_set ('error_reporting', E_ALL);
include("conexion.php") ;
$fecha = date("Y-m-d");
$asunto = $_POST["asunto"];
$mensaje = $_POST["mensaje"];
$remitente = $_SESSION["usuario"];
foreach ($_POST['seleccion'] as $copia){
$qREL = mysql_query("select * from usuarios where id='$copia'");
while($aqREL = mysql_fetch_array($qREL)){
$user = $qREL["id"];
$query=mysql_query("insert into mensajes set fecha='$fecha', asunto='$asunto', destinatario='$copia', mensaje='$mensaje',remitente='$remitente'") ;
}
}
?>
Mensaje enviado correctamente
<? } else { ?>
<h1>REDACTAR MENSAJE</h1>
<form method="post" name="formulario" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<p>ASUNTO: <input type="text" name="asunto" class=":required; asunto"/></p>
<p><b>Redacte el mensaje:&nbsp;</b></p>
<div align="center"><textarea name="mensaje" cols="110" rows="15" style="overflow: auto" class=":required;"></textarea></div>
<p><b>Con copia para:</b><a href="javascript:seleccionar_todo()"> Todos</a> | <a href="javascript:deseleccionar_todo()"> Ninguno</a></p>
<p><? $consulta = mysql_query("SELECT id,nick FROM usuarios");
while($fila = mysql_fetch_array($consulta)){ ?>
<label>
<input TYPE="checkbox" name="seleccion[]" value="<? echo $fila["id"]; ?>"/>
<? echo $fila["nick"]; ?>
</label>&nbsp;
<? } mysql_free_result($consulta); ?></p>
<div align="center"><input name="enviar" type="submit" id="enviar" class="button" value="Enviar oficio" /></div>
</form>
<? } ?>
</div>

Etiquetas: mensaje, mysql, tabla, usuarios, variables
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 11:22.