Cita:
Iniciado por johhan16 bueno si tu con ese while estas trayendo todos los comentarios que hay entonces debes crear una variable que te vaya guardando el numero de comentario y luego en una comparacion revisas si es el comentario que tu dices
Código PHP:
<?php
<--- aqui se conecta a la base de datos --->
$res=mysql_query($sql="SELECT * FROM comentarios ORDER BY id DESC");
$res2=mysql_query($sql="SELECT usuario FROM comentarios WHERE ID=24");
$gana=25; //aqui puedes colocar cualquier numero o generarlo de una base de datos
$i=1; //variable para revisar el numero de comentario
while($row=mysql_fetch_array($res)){
$id = $row["id"];
$usuario = $row["usuario"];
$fecha = $row["fecha"];
$noticia = $row["noticia"];
$email = $row["email"];
$imagen = $row["imagen"];
if($gana == $i ) {
echo "te ha tocado el premio";
} else {
echo "$noticia<br>
Comentario numero $id Publicado por <a href='mailto:$email?subject='from $email''><b>$usuario</b></a> el <b>$fecha</b><br>
<hr>
";
$i++;
}}
?>
prueba asi y nos dices que tal
Muchas gracias por tu respuesta me a servido de mucho ahora te explico lo que hace: tengo un total de 4 comentarios pero en la base de datos figuran en el campo id como 25, 26, 27, 28
En la variable $gana he puesto el numero 26 (coincidiendo con la consulta previa) y en la variable $i lo he dejado en 1, pero no me daba ni error ni respuesta.
Acto seguido le he cambiado el valor a $gana por un 2 (aun no habiendo ningún 2 en el campo id de la base de datos) y todo lo demás en su sitio y me a mostrado el comentario numero 2 siendo el numero 26 pero el segundo en la lista de comentarios y justo debajo en la posición del comentario número 25 y siendo el número 1 en la lista me muestra el cartelito de “premio”.
Yo lo he dejado asi…
Código PHP:
$res=mysql_query($sql="SELECT * FROM comentarios ORDER BY id DESC");
$res2=mysql_fetch_row(mysql_query($sql="SELECT usuario FROM comentarios WHERE ID=26"));
$gana=26; //aqui puedes colocar cualquier numero o generarlo de una base de datos
while($row=mysql_fetch_array($res)){
$id = $row["id"];
$usuario = $row["usuario"];
$fecha = $row["fecha"];
$noticia = $row["noticia"];
$email = $row["email"];
$imagen = $row["imagen"];
if($gana == $id ) {
echo "te ha tocado el premio";
} else {
echo "$noticia<br>
Comentario numero $id Publicado por <a href='mailto:$email?subject='from $email''><b>$usuario</b></a> el <b>$fecha</b><br>
<hr>
";
$i++;
}}
Esto me muestra todos los comentarios y donde debería estar el comentario numero 25 lo sustituye por el mensaje de “te ha tocado un premio”.
Más o menos funciona.
edito: he conseguido que funcione la variable $i no hacia falta y el resultado es este... Código PHP:
$res=mysql_query($sql="SELECT * FROM comentarios ORDER BY id DESC");
$res2=mysql_fetch_row(mysql_query($sql="SELECT usuario FROM comentarios WHERE ID=26"));
$gana=26; //aqui puedes colocar cualquier numero o generarlo de una base de datos
while($row=mysql_fetch_array($res)){
$id = $row["id"];
$usuario = $row["usuario"];
$fecha = $row["fecha"];
$noticia = $row["noticia"];
$email = $row["email"];
$imagen = $row["imagen"];
if($gana == $id ) {
echo "<div id='hjk'>te ha tocado el premio</div><br>
$noticia<br>
Comentario numero $id Publicado por <a href='mailto:$email?subject='from $email''><b>$usuario</b></a> el <b>$fecha</b><br>
<hr>";
} else {
echo "$noticia<br>
Comentario numero $id Publicado por <a href='mailto:$email?subject='from $email''><b>$usuario</b></a> el <b>$fecha</b><br>
<hr>
";
$i++;
}}
y ahora que vuelvo a mirar el codigo no hace falta la segunda consulta sql
Pd: para que sirve?: $i++