Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in ........

Iniciado por pacorico69, 26 Marzo 2010, 23:07 PM

0 Miembros y 1 Visitante están viendo este tema.

pacorico69

Buenas tardes a todos.
Estoy empenzado a programar en PHP, y como podrán observar cometo los mismos errores que los demás, me pueden ayudar no detecto el error en el siguiente código, mil gracias.

<html>
<body>
<?php
$db = mysql_connect('localhost', 'root', '') or die("No se puede establecer la conexión con la base de datos");
mysql_select_db("agenda", $db);
$result = mysql_query("SELECT nombre, apellidos FROM gente", $db);
if ($row = mysql_fetch_array($result)){
    echo "<table border = '1'> \n";
    echo "<tr> \n";
    echo "<td><b>Nombre</b></td> \n";
    echo "<td><b>Apellido</b></td> \n";
    echo "</tr> \n";
    do {
        echo "<tr> \n";
        echo "<td>".$row["nombre"]."</td> \n";
        echo "<td>".$row["apellidos"]."</td>\n";
        echo "</tr> \n";
    } while ($row = mysql_fetch_array($result));
    echo "</table> style\="margin-left: 50" echo "</table> \n";
} else
{
    echo "No se encontraron registros";
}
   mysql_free_result($result);
   mysql_close($db);
?>
</body>
</html>

jdc

Justo lo que no posteaste del error es lo importante. Postea el error completo, ahí dice en que línea está el error

pacorico69

Mil disculpas, tiene usted razón.

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\xampp\htdocs\www\09_CONSULTAS_SELECT_TABLA_AGENDA_GENTE.php on line 19

~ Yoya ~

Tienes que contanear....
Código (php) [Seleccionar]

echo "</table> style\="margin-left: 50" echo "</table> \n";

O simplemente usar las comillas simples
Código (php) [Seleccionar]

echo '</table> style\="margin-left: 50" echo "</table> \n';

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

pacorico69

Muchas gracias.

Ya funciona, queda algo por resolver, al final del despliegue deja el siguiente mensaje:

Nombre Apellido
pepito  conejo

style\="margin-left: 50" echo " \n

creo que no debería salir, ya que son instrucciones, es probable que no hayan sido consideradas en la ejecución.

jdc

Cambia las comillas de margin por simples, agrega una comilla doble, luego antes del echo pone un ;

Y luego acostumbrate desde el principio a elegir que comillas usaras, simples o dobles. Sí eliges simple se usa doble para html y sí usas doble dejas la simple para html, sino suceden cosas como lo del código no interpretado.

pacorico69

Gracias..

Espero haber entendido las instrucciones, es correcto ???

} while ($row = mysql_fetch_array($result));
    echo '</table> style\='margin-left: 50'"; echo "</table> \n';



jdc

Cita de: pacorico69 en 27 Marzo 2010, 00:15 AM
Gracias..

Espero haber entendido las instrucciones, es correcto ???

} while ($row = mysql_fetch_array($result));
   echo '</table> style\='margin-left: 50'"; echo "</table> \n';




Mira

con comilla simple en php:

Código (php) [Seleccionar]
echo '</table>';
echo '</table>';


WTF! xD A que le estas dando ese estilo?  style="margin-left: 50? de partida te falta un ";" despues del 50 y ademas se usa dentro de una etiqueta, por ejemplo <div  style="margin-left: 50;">contenido</div> ves? asi que se omite para la explicacion, luego lo aprendes tu.

y con comilla doble:

Código (php) [Seleccionar]
echo "</table>";
echo "</table>";


eso lo puedes hacer con un solo echo:

Código (php) [Seleccionar]
echo '</table>
</table>';


y sigue funcionando igual.

Saludos

EDITO:

Código (php) [Seleccionar]
<html>
<body>
<?php

$db mysql_connect('localhost''root''') or die("No se puede establecer la conexión con la base de datos");
mysql_select_db("agenda"$db);
$result mysql_query("SELECT nombre, apellidos FROM gente"$db);

if ($row mysql_fetch_array($result)){
echo "<table style=\"border: 4px red dotted;\" border=\"1\"> \n
<tr> \n
<td><b>Nombre</b></td> \n
<td><b>Apellido</b></td> \n
</tr> \n"
;
do {
echo "<tr> \n
<td>"
.$row["nombre"]."</td> \n
<td>"
.$row["apellidos"]."</td>\n
</tr> \n"
;
} while ($row mysql_fetch_array($result));
echo "</table>\n
</table> \n"
;

else 
{
echo "No se encontraron registros";
}
mysql_free_result($result); 
mysql_close($db); 
?>

</body>
</html>


Ahi esta funcionando, le agregue borde punteado a la tabla en rojo para que veas como se pondria el estilo (style) css dentro de una etiqueta html. Ademas quite varios echo para que veas lo mucho que se simplifica :) Te evitas varios problemas ;)

KrossPock

Si no queres poner dobles y simple, sino que solo un tipo, se escapan las comillas con \... por ej:


echo "\"Uso comillas dobles\"";