Foros del Web » Programando para Internet » PHP »

como solucionar esto?

Estas en el tema de como solucionar esto? en el foro de PHP en Foros del Web. Tengo la siguiente tabla: img267.imageshack.us/my.php?image=taulaax6. Lo que ocurre es que los nombres de usuario tiene una variable "Estado" que si es diferente a A no ...
  #1 (permalink)  
Antiguo 31/07/2006, 10:17
 
Fecha de Ingreso: julio-2006
Mensajes: 8
Antigüedad: 11 años, 4 meses
Puntos: 0
como solucionar esto?

Tengo la siguiente tabla:
img267.imageshack.us/my.php?image=taulaax6.

Lo que ocurre es que los nombres de usuario tiene una variable "Estado" que si es diferente a A no se muestran, pero no consigue que según esa variable, tampoco aparezcan los vinculos "VER" de cada uno. Si alguien me pudiese explicar como hace le agradeceria porque estoy perdido, aqui va el script:

<tr>

<td>
/*la condicion*/ <?php if($row_rstTecnic['EstatTecnic']=="A"){
echo $row_rstTecnic['NomTecnic'];} ?></td>
<td>/*la etiqueta que dirige al ver a cada usuario*/ <a href="tecnic.php?tecnic=<?php echo $row_rstTecnic['NumTecnic']; ?>">see</td>
</tr>
<?php } while ($row_rstTecnic = mysql_fetch_assoc($rstTecnic)); ?>
</table>
Editar/Borrar Mensaje
  #2 (permalink)  
Antiguo 31/07/2006, 10:30
 
Fecha de Ingreso: enero-2006
Mensajes: 54
Antigüedad: 11 años, 11 meses
Puntos: 0
No se si te entendi, pero me parece que lo que pasa es que te estan saliendo link's VER de mas, si lo que quieres es que solo en caso de estado A aparezca el Nombre y a la vez el Estado, en los demas casos nada, si es asi solo tendrias que poner ese VER dentro del if:

<tr>
/*la condicion*/ <?php if($row_rstTecnic['EstatTecnic']=="A"){
?><td><? echo $row_rstTecnic['NomTecnic']; ?></td>
<td>/*la etiqueta que dirige al ver a cada usuario*/ <a href="tecnic.php?tecnic=<?php echo $row_rstTecnic['NumTecnic']; ?>">see</td><? } ?>
</tr>
<?php } while ($row_rstTecnic = mysql_fetch_assoc($rstTecnic)); ?>
</table>

Espero te sea util esto.
  #3 (permalink)  
Antiguo 31/07/2006, 10:32
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 12 años, 6 meses
Puntos: 7
prueba asi:

Código PHP:
<?
while ($row_rstTecnic mysql_fetch_assoc($rstTecnic)){
 if(
$row_rstTecnic['EstatTecnic']=="A"){
echo 
$row_rstTecnic['NomTecnic'].'</td><td><a href="tecnic.php?tecnic='.$row_rstTecnic['NumTecnic'].'">see</td>';
}else{
echo 
'</td><td></td>';
};
?>
</tr>
<?
};
?>
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #4 (permalink)  
Antiguo 31/07/2006, 10:35
 
Fecha de Ingreso: julio-2006
Mensajes: 8
Antigüedad: 11 años, 4 meses
Puntos: 0
si la idea es que solo aparezcan los mismos VER que los nombres que aparecen, pero
después de cambiar el script por el tuyo me da el siguiente error

Parse error: syntax error, unexpected $end in D:\htdocs\GestVall\tecnicos.php on line 150

todo y que no hay nada en esa linea

alguna idea? grcias

aqui esta mi script después de los cambios

<?php do { ?>
<tr>
/*la condicion*/ <?php if($row_rstTecnic['EstatTecnic']=="A"){
?><td><? echo $row_rstTecnic['NomTecnic']; ?></td>
<td>/*la etiqueta que dirige al ver a cada usuario*/ <a href="tecnic.php?tecnic=<?php echo $row_rstTecnic['NumTecnic']; ?>">see</td><? } ?>
</tr>
<?php } while ($row_rstTecnic = mysql_fetch_assoc($rstTecnic)); ?>
</table>
  #5 (permalink)  
Antiguo 31/07/2006, 10:47
 
Fecha de Ingreso: enero-2006
Mensajes: 54
Antigüedad: 11 años, 11 meses
Puntos: 0
Hola, pues te recomendaria en ese caso usar el while en lugar del do while ya que el do while primero ejecuta luego compara y creo que lo que puede estar pasando es que estas tratando de presentar un registro mas de los que te ha devuelto tu consulta.

Mejor usa el while tal como te lo indica Bytevamp.
  #6 (permalink)  
Antiguo 31/07/2006, 10:51
 
Fecha de Ingreso: julio-2006
Mensajes: 8
Antigüedad: 11 años, 4 meses
Puntos: 0
He probado de usar el codigo de Bytevamp, pero no me lo acaba de coger bien, puede ser que lo coloque yo mal, o es que esta mal escrito?
<?
while ($row_rstTecnic = mysql_fetch_assoc($rstTecnic)){
if($row_rstTecnic['EstatTecnic']=="A"){
echo $row_rstTecnic['NomTecnic'].'</td><td><a href="tecnic.php?tecnic='.$row_rstTecnic['NumTecnic'].'">see</td>';
}else{
echo '</td><td></td>';
};
?>
</tr>
<?
};
?>
</table>

Me queda así:

img513.imageshack.us/my.php?image=sinttulo1iz5.jpg
  #7 (permalink)  
Antiguo 01/08/2006, 02:02
 
Fecha de Ingreso: julio-2006
Mensajes: 8
Antigüedad: 11 años, 4 meses
Puntos: 0
Sonrisa

alguien me lo puede aclarar, se lo agradeceria
  #8 (permalink)  
Antiguo 01/08/2006, 02:11
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 12 años, 2 meses
Puntos: 18
A mí me parece que te falta cerrar el tag enlace: ...see</a></td>...

Cuando publiques código ponlo entre los tags [ php ][ /php ] (sin los espacios en blanco). Así se lee mejor el
código.
  #9 (permalink)  
Antiguo 01/08/2006, 02:30
 
Fecha de Ingreso: julio-2006
Mensajes: 8
Antigüedad: 11 años, 4 meses
Puntos: 0
Ya he cambiado la etiqueta, pero me sigue dando el mismo error, a ver si alguien lo puede detectar, le estare muy agradecido :) he hecho un gráfico con como me tendria que quedar y como me sale, por si a alguien le puede ayudar.
la imagen: img513.imageshack.us/my.php?image=sinttulo1iz5.jpg
esto es lo que tengo hasta ahora de código:
Código PHP:
 <?
while ($row_rstTecnic mysql_fetch_assoc($rstTecnic)){
 if(
$row_rstTecnic['EstatTecnic']=="A"){
echo 
$row_rstTecnic['NomTecnic'].'</td><td><a href="tecnic.php?tecnic='.$row_rstTecnic['NumTecnic'].'">see</a></td>';
}else{
echo 
'</td><td></td>';
};
?>
</tr>
<?
};
?> </table>
  #10 (permalink)  
Antiguo 01/08/2006, 02:46
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 12 años, 2 meses
Puntos: 18
Qué tal así?:
Código PHP:
echo $row_rstTecnic['NomTecnic']."</td><td><a href='tecnic.php?tecnic=".$row_rstTecnic['NumTecnic']."'>see</td>"
  #11 (permalink)  
Antiguo 01/08/2006, 02:53
 
Fecha de Ingreso: julio-2006
Mensajes: 8
Antigüedad: 11 años, 4 meses
Puntos: 0
tampoco me funciona, me sigue copiando esta última parte //// "; }else{ echo ' '; }; ?> //// como si fuera texto encima de la tabla, he probado de abrirlo con diferentes exploradores, por si era un problema de IE, pero me pasa lo mismo con todos.
pero gracias por la ayuda
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:32.