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>
Justo lo que no posteaste del error es lo importante. Postea el error completo, ahí dice en que línea está el error
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
Tienes que contanear....
echo "</table> style\="margin-left: 50" echo "</table> \n";
O simplemente usar las comillas simples
echo '</table> style\="margin-left: 50" echo "</table> \n';
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.
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.
Gracias..
Espero haber entendido las instrucciones, es correcto ???
} while ($row = mysql_fetch_array($result));
echo '</table> style\='margin-left: 50'"; echo "</table> \n';
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:
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:
echo "</table>";
echo "</table>";
eso lo puedes hacer con un solo echo:
echo '</table>
</table>';
y sigue funcionando igual.
Saludos
EDITO:
<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 ;)
Si no queres poner dobles y simple, sino que solo un tipo, se escapan las comillas con \... por ej:
echo "\"Uso comillas dobles\"";