Foros del Web » Programando para Internet » PHP »

Problema con recoleccion de datos

Estas en el tema de Problema con recoleccion de datos en el foro de PHP en Foros del Web. Buenas, tengo un problema que me esta quemando la cabeza, el punto es que estoy mostrando comentarios desde una base de datos en donde se ...
  #1 (permalink)  
Antiguo 04/11/2011, 11:50
 
Fecha de Ingreso: septiembre-2011
Mensajes: 52
Antigüedad: 12 años, 7 meses
Puntos: 0
Exclamación Problema con recoleccion de datos

Buenas, tengo un problema que me esta quemando la cabeza, el punto es que estoy mostrando comentarios desde una base de datos en donde se imprime el nombre del usuario, el id del comentario y el comentario en si.
Pero pongo unscript de JS y quiero que se haga una alerta con el id del comentario al cual se le haga click, pero siempre se hace la alerta del ultimo comentario, es decir, clickeo el primer comentario (id 1) y se alerta el id 107(el ultimo id mostrado en pantalla)
¿Alguna solucion?
Dejo el codigo

Código PHP:
Ver original
  1. <?php
  2. include('dbs.php'); //CONEXION A LA BASE DE DATOS
  3.  
  4. $nick=$_GET['nick'];
  5.  
  6. $resultados = mysql_query("SELECT * FROM comentarios WHERE usuario = '$nick'");
  7.  
  8.   while($rowCom=mysql_fetch_array($resultados)){
  9.      $rowComID=$rowCom['id_comentario'];
  10.       echo'
  11.       <script language="javascript">
  12.         function likes(){
  13.         alert('.$rowComID.');
  14.         }
  15.       </script>
  16.  
  17.      <span >'.$rowCom['usuario'].'</span> dijo
  18.      <p>'.$rowCom['comentario'].'</p>
  19.       <p onclick="likes()">'.$rowCom['id_comentario'].'</p>';
  20. }
  21. ?>


Muchas gracias.
  #2 (permalink)  
Antiguo 04/11/2011, 12:09
Avatar de tomark4  
Fecha de Ingreso: septiembre-2007
Mensajes: 154
Antigüedad: 16 años, 7 meses
Puntos: 29
Respuesta: Problema con recoleccion de datos

la funcion ponla fuera del while asi
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function mifuncion($id){
  3. var $iden = $id
  4. alert($iden);
  5. }
  6. </script>

y la llamas de esta forma a ver si te funca.

Código PHP:
Ver original
  1. <?php
  2.  
  3. while($row=mysql_fecth_array($rs)){
  4. echo "<a href='javascript: mifuncion(".$row[id].")'>$row[id]</a>";
  5. }
  6.  
  7. ?>
__________________
"Todos somos ignorantes, pero no todos ignoramos las mismas cosas"

http://www.pctec21.blogspot.com
http://www.pctec21.com
  #3 (permalink)  
Antiguo 04/11/2011, 12:13
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 5 meses
Puntos: 48
Respuesta: Problema con recoleccion de datos

Es normal porque lo que haces es repetir o mas bn escribir varias veces la misma funcion likes() por cada fila obtenida por tu consulta deverias mejor ponerlo algo asi:
Código PHP:
Ver original
  1. <script language="javascript">
  2.         function likes(mensaje){
  3.         alert(mensaje);
  4.         }
  5. </script>
  6. <?php
  7. include('dbs.php'); //CONEXION A LA BASE DE DATOS
  8.  
  9. $nick=$_GET['nick'];
  10. $resultados = mysql_query("SELECT * FROM comentarios WHERE usuario = '$nick'");
  11. while($rowCom=mysql_fetch_array($resultados))
  12. {
  13.     $rowComID=$rowCom['id_comentario'];
  14.     ?>
  15.     <span><?=$rowCom['usuario']?></span> dijo
  16.       <p><?=$rowCom['comentario']?></p>
  17.       <p onclick="likes(<?=$rowComID?>)"><?=$rowComID?></p>
  18.     <?
  19. }
  20. ?>
  #4 (permalink)  
Antiguo 04/11/2011, 12:26
 
Fecha de Ingreso: septiembre-2011
Mensajes: 52
Antigüedad: 12 años, 7 meses
Puntos: 0
Exclamación Respuesta: Problema con recoleccion de datos

Cita:
Iniciado por s00rk Ver Mensaje
Es normal porque lo que haces es repetir o mas bn escribir varias veces la misma funcion likes() por cada fila obtenida por tu consulta deverias mejor ponerlo algo asi:
Código PHP:
Ver original
  1. <script language="javascript">
  2.         function likes(mensaje){
  3.         alert(mensaje);
  4.         }
  5. </script>
  6. <?php
  7. include('dbs.php'); //CONEXION A LA BASE DE DATOS
  8.  
  9. $nick=$_GET['nick'];
  10. $resultados = mysql_query("SELECT * FROM comentarios WHERE usuario = '$nick'");
  11. while($rowCom=mysql_fetch_array($resultados))
  12. {
  13.     $rowComID=$rowCom['id_comentario'];
  14.     ?>
  15.     <span><?=$rowCom['usuario']?></span> dijo
  16.       <p><?=$rowCom['comentario']?></p>
  17.       <p onclick="likes(<?=$rowComID?>)"><?=$rowComID?></p>
  18.     <?
  19. }
  20. ?>

<script language="javascript">
function ajaxObject(){
var xmlhttp=false;
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(x){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(X){
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!="undefined") {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function likes(mensaje){
Ajax=ajaxObject();
Ajax.open("GET", "procesar_like.php?id_Comentario="+mensaje);
Ajax.onreadystatechange=function() {
if (Ajax.readyState==4) {
alert(Ajax.responseText);
}
}
Ajax.send(null)
}
</script>
<?php
include('dbs.php'); //CONEXION A LA BASE DE DATOS

$nick=$_GET['nick'];
$resultados = mysql_query("SELECT * FROM comentarios WHERE usuario = '$nick'");
while($rowCom=mysql_fetch_array($resultados))
{
$rowComID=$rowCom['id_comentario'];
?>
<span><?=$rowCom['usuario']?></span> dijo
<p><?=$rowCom['comentario']?></p>
<p onclick="likes(<?=$rowComID?>)"><?=$rowComID?></p>
<?
}
?>


Pero con Ajax no me funciona amigo :S

Mucas gracias a todos los que comentan
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 02:27.