Foros del Web » Programando para Internet » PHP »

Para cluster o quien sepa ayudarme.

Estas en el tema de Para cluster o quien sepa ayudarme. en el foro de PHP en Foros del Web. Referente al sistema de ultimas visitas. ya tengo el sistema de ultimas visitas y funciona bien, pero los nicks, en este caso, se repiten: <? ...
  #1 (permalink)  
Antiguo 28/03/2004, 11:10
 
Fecha de Ingreso: marzo-2004
Mensajes: 44
Antigüedad: 20 años
Puntos: 0
Para cluster o quien sepa ayudarme.

Referente al sistema de ultimas visitas.

ya tengo el sistema de ultimas visitas y funciona bien, pero los nicks, en este caso, se repiten:

<?
include("config.php") ;
$fecha = time() ;
mysql_query("insert into ultimas_visitas (fecha,destinatario,remitente) values ('$fecha','$datos[nick]','$_COOKIE[unick]')") ;
$result_visits = mysql_query("SELECT * FROM ultimas_visitas ORDER BY fecha DESC LIMIT 10");
while ($resultado_visitas = mysql_fetch_assoc($result_visits)){
?>
<? echo $resultado_visitas[remitente] ?><? } ?>

¿Como podria hacer para q los nicks no se repitan? Es decir... q si ya hay un destinatario y un remitente iguales en la tabla, no se inserten de nuevo, sino q se actualice solo la $fecha.

Gracias de antemano
Salu2

Última edición por Gotrek; 28/03/2004 a las 11:11
  #2 (permalink)  
Antiguo 28/03/2004, 12:09
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 2 meses
Puntos: 13
lo que puedes hacer un select que busque si existe ya el destinatario y remirtente en la tabla, si existe, recien ahi realizas el INSERT.


<?
include("config.php") ;
$fecha = time() ;
$buscar=mysql_query("SELECT*FROM ultimas_visitas WHERE destinatario='$datos[nick]' AND remitente='$COOKIE[unick]'");

//contamos cuantos registros fueron encontrados
$totalbuscar=mysql_num_rows($buscar);

//si el resultado es 0 hacemos el insert, y si es mayor a 0 no hacemos nada
if($totalbuscar==0){
mysql_query("insert into ultimas_visitas (fecha,destinatario,remitente) values ('$fecha','$datos[nick]','$_COOKIE[unick]')") ;
}
$result_visits = mysql_query("SELECT * FROM ultimas_visitas ORDER BY fecha DESC LIMIT 10");
while ($resultado_visitas = mysql_fetch_assoc($result_visits)){
?>
<? echo $resultado_visitas[remitente] ?><? } ?>
  #3 (permalink)  
Antiguo 28/03/2004, 12:35
 
Fecha de Ingreso: marzo-2004
Mensajes: 44
Antigüedad: 20 años
Puntos: 0
frijolerou no me sirve

lo que kiero esq... en la tabla ultimas_visitas no se repitan 2 veces remitente - destinatario.. es decir q no aparezca esto:

+------------+-------------+
| remitente| destinatario|
+------------+-------------+
| Gotrek | frijolerou |
+------------+-------------+
| Gotrek | frijolerou |
+------------+-------------+


osea q no se repitan... pero si podria insertarse lo siquiente:

+------------+-------------+
| remitente| destinatario|
+------------+-------------+
| Gotrek | frijolerou |
+------------+-------------+
| Gotrek | cluster |
+------------+-------------+

esto tb me valdria

+------------+-------------+
| remitente| destinatario|
+------------+-------------+
| Cluster | frijolerou |
+------------+-------------+
| Gotrek | frijolerou |
+------------+-------------+


Ah kedado mas claro ahora? espero q si xD (no me se explicar muy bien :S)

aun asi muchas gracias frijolerou

Última edición por Gotrek; 28/03/2004 a las 12:41
  #4 (permalink)  
Antiguo 28/03/2004, 12:58
 
Fecha de Ingreso: marzo-2004
Mensajes: 44
Antigüedad: 20 años
Puntos: 0
yuhuuuuuuuu lo consegui ^^ al final si me sirvio frijoleru gracias!

aki va el codigo:

<?
include("config.php") ;
$fecha = time() ;
$buscar = mysql_query("SELECT * FROM ultimas_visitas WHERE remitente='$_COOKIE[unick]' AND destinatario='$datos[nick]'");

//contamos cuantos registros fueron encontrados
$totalbuscar = mysql_num_rows($buscar);

//si el resultado es 0 hacemos el insert, y si es mayor a 0 no hacemos nada
if($totalbuscar==0){

mysql_query("insert into ultimas_visitas (fecha,destinatario,remitente,id) values ('$fecha','$datos[nick]','$_COOKIE[unick]','$datos[id]')") ; }
// si el resultado es de 1 o mas, se actualiza la fecha
else {
mysql_query("update ultimas_visitas set fecha='$fecha' WHERE remitente='$_COOKIE[unick]' AND destinatario='$datos[nick]'") ; }
$result_visits = mysql_query("SELECT * FROM ultimas_visitas where id='$datos[id]' ORDER BY fecha DESC LIMIT 10") ;
while ($resultado_visitas = mysql_fetch_assoc($result_visits)){
?>
<?=$resultado_visitas[remitente]?><? } ?>

1 Pekeña pega a ver si alguien lo puede "pulir"

cuando estoy logeado como Gotrek (por ejemplo) y visito mi propio perfil, en ultimas visitas de mi perfil, tb sale mi nick, pues kisiera q cuando se visite un usuario a si mismo, no se añada a la tabla...osea q el "remitente" no sea igual al "destinatario" a ver si alguien sabe como hacerlo.

Gracias otra vez

Salu2

Última edición por Gotrek; 28/03/2004 a las 13:07
  #5 (permalink)  
Antiguo 29/03/2004, 05:56
 
Fecha de Ingreso: marzo-2004
Mensajes: 44
Antigüedad: 20 años
Puntos: 0
nadie lo sabe?? ayuda plzz
como podria hacer si el remitente es = al destinatario o al reves... q no se haga el insert?
  #6 (permalink)  
Antiguo 29/03/2004, 07:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Usa más operadores lógicos para tu consulta SQL y así compones toda la condición que deseas ...

Recuerda que en SQL de Msyql tienes el AND .. y el OR como operadores lógicos; además de los paréntesis para agrupar . ... y el != para decir distinto ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 03:57.