Ciclo While

Hola que tal, espero me puedas ayudar, tengo la siguiente duda, tengo lo siguiente
<p><a href="<?echo $result["inser"]?>"><?echo $result["id"]?>   -   <?echo $result["title"]?></a></p>
Esto me abre una nueva ventana nueva, bien, pero solo me muestra en la página un resultado de la consulta, y quiero que me muestre todos las filas de la tabla.. Intente algo así
<?  
while($result["id"]!NULL){
<p><a href="<?echo $result["inser"]?>"><?echo $result["id"]?>   -   <?echo $result["title"]?></a></p>
}
?>
Me arroja error, "Parse error: syntax error, unexpected". Si me pudieras ayudar te agradezco,
tengo otra duda como puedo cargar el dato de una variable digamos el title del campo especifico a la nueva ventana, osea que cuando abra la nueva ventana los datos también me aparezcan allí.
Gracias De Antemano

1 respuesta

Respuesta
1
En primer lugar, se te ha olvidado el símbolo '=' en la siguiente comparación:
while($result["id"]!=NULL)
La segunda respuesta es larga y no tan evidente, puesto que plantea parametrizar JavaScript mediante PHP. Si tienes un ejemplo on-line mejor muéstrame lo que quieres hacer para indicarte si es posible y como hacerlo.
Ok lo probé también con el igual pero no funciona, me arroja error.
<?
   while($result["id"]!=NULL){

<p><a href="<?echo $result["inser"]?>"><?echo $result["id"]?>   -   <?echo $result["title"]?></a></p>

  ?>
En la linea resaltada me arroja error, "Parse error: syntax error, unexpected '<'  line 57"
Gracias, Por tu ayuda...
El siguiente errir es que has puesto
<p> sin abrir un echo...
Prueba a hacerlo de esta forma...
<?
while($result["id"]!=NULL){
echo "
<p>
<href='".$result["inser"]."'>
".$result["id"]." - ".$result["title"]."</a></p>
";
}
?>
Así funciona pero sabes que pasa, me lo esta imprimiendo infinitas veces el primer registro del campo.. tu de pronto sabes por que...
Gracias
El bucle se repite infinitas veces porque $result["id"] nunca llega a ser NULL... probablemente el bucle esté siempre trabajando sobre el mismo registro.
Si adjuntas más código (sobre todo aquel en donde asignas $result desde la consulta MySQL) es probable que pueda darte la solución a tu problema inmediatamente.
Consulta.
<?
include('extras/conexion.php');
$link = Conectarse();
$sql = ' SELECT * FROM musica where id>"0"';
$resultado = mysql_query($sql) or die ("No se puede seleccionar la consulta porque ". mysql_error());
$result = mysql_fetch_array($resultado);
?>
<?
while($result["id"]!=NULL){
echo "
<p>
<href='".$result["inser"]."'>
".$result["id"]." - ".$result["title"]."</a></p>
";
}
?>
Gracias...
Perfecto, ahora si te puedo dar la solución. El problema, como comentábamos, estaba en la condición WHILE, que debes escribirla de la siguiente forma:
include('extras/conexion.php');
$link = Conectarse();
$sql = ' SELECT * FROM musica where id>"0"';
$resultado = mysql_query($sql) or die ("Error MySQL...");
while($result = mysql_fetch_array($resultado);){
   echo "
<p>
<href='".$result["inser"]."'>
".$result["id"]." - ".$result["title"]."</a></p>
";
}
?>
uhy hermano que pena con vos pero de esta manera solo me imprime el ultimo registro de la tabla,
while(mysql_fetch_array($resultado) != NULL)
Y lo hago así y me imprime el primer numero, sera que le ponemos un contador para que lo iguale al id de la tabla,
Gracias
La condicion while que escribí...
while($result = mysql_fetch_array($resultado);){
...ponla así...
while($result = mysql_fetch_array($resultado)){
... sin el símbolo ; casi al final.
Comentarte que debe funcionarte, y si no lo hace es porque la consulta te está devolviendo una sola fila. Hago referencia a la documentación oficial de PHP en el siguiente enlace:
http://es.php.net/mysql_fetch_array
Por lo demás.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas