Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/08/2004, 19:59
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Voy a intentar hacer una breve introducción (a ver que tal me sale).

Hablando de PHP orientado al desarrollo de páginas web "dinámicas" y como Base de datos a "Mysql" (podría ser cualquier otra ..), nos encontramos con 3 elementos básicos:

1) PHP como lenguaje del lado del -servidor
2) Un navegador como -cliente- .. el cual atiende por HTML, javacript, flash .. etc (lenguajes del lado del cliente)
3) Una Base de datos como puede ser Mysql (que se asocie siempre a PHP con Mysql no implica que PHP pueda manejar otras Base de datos como puedan ser: M$ SQL server, PostgreSQL, Oracle .. y hasta Access)

¿Por qué tanto incapié en estos 3 elementos y "separarlos"? .. por qué es necesario comprender que vamos a trabajar con todo eso, por ende no vamos sólo a "programar" en PHP (como lenguaje) sino que tenemos también HTML, Javacript, etc (como lenguajes del lado del cliente) y a SQL como lenguaje estrucutrado de consultas para la Base de datos (Mysql en este caso).

Eso creo que es lo más importante conocer, ya que en los "inicios" con todo este tema se suele confundir todo y no entender donde empieza uno .. y donde acaba o donde "se devuelve la pelota" al otro .. pero mientras que la "pelota" está en el ambito del otro es taréa del "otro" (lenguaje -lado-).

Todo este "ambiente" (no sé si será técnicamente correcto) pero se le suele llamar: "cliente-servidor". Las "páginas" PHP se les suele denominar "scripts" y a la "pagina" a lo generado (HTML, javascript, etc ...).

Los scripts PHP permanecen en el -servidor- y son solicitados o se les envia "información" desde el cliente (Navegador: hacia/desde) vía "llamadas". Estas llamadas se ocasionan por una "petición" al servidor de un script PHP (o página u otro elemento) al servidor. Dicha "petición" se hace (en principio) vía un link (URL) .. o un formulario que apunta su "action" a tu script PHP de proceso.

El script PHP al ejecutarse vía su lógica .. procesará las variables "externas" que le lleguen (sea por tu formulario (POST/GET) .. o de un link (URL vía GET) .. o de otros médios como cookies, sesiones .. etc). O simplemente no recibirá ninguna variable externa y hará su proceso. Esta "recolección" o envio de variables se originan desde el "cliente" en el lenguaje que corresponda: HTML, javacript .. etc .. siempre "apuntando" a un script PHP en el "lado del servidor" lo cual implicará un URL válido.

La "llamada" a ese script y posterior proceso (el nombre de PHP viene de eso mismo) generá cierta salida hacia el "cliente" (ya estamos devolviendo la "pelota" al que nos la mandó) .. Esta "salida" debe ser originada en algún lenguaje del lado del "cliente" que este entienda .. por ejemplo (ya que hablamos de que usamos un navegador común como "cliente") será: HTML, javascript .. etc. El caso es que vamos a generar una "página" estática (cara al cliente) pero que se ha generado "dinámicamente" con la lógica que tu script PHP ha decidio (por sus estructuras de control y demás condiciones) "componiendo" ese "HTML" para su "salida" (cuando hablo de HTML me refiero a cualquier lenguaje del lado del cliente). El "cómo" lo interprete este (el navegador) dependerá directamente de lo que quedó al ser generado (de hecho en un navegador en su "ver-> código fuente" ahí está lo que hemos generado "dinámicamente" ..

En cuanto a las "base de datos" .. estas tienen sus própias reglas, su própio lenguaje: SQL que hay que verlo en otro tipo de manuales especificos. Cara a "PHP" sólo hay que conocer que con este (PHP) vamos a conectarnos a la BD, hacer (ejecutar) una consulta SQL y la BD le devolverá a PHP un "resultado" (record-set).

Cara a la sentencia SQL en sí .. para PHP no es más que un string (cadena de caracteres) más, ni más ni menos. Así que si por X requerimientos necesitamos ejecutar una consulta SQL pero "condicionada" por un valor por ejemplo que nos llega del cliente (vía un formulario HTML por ejemplo) .. tenemos que tener presente que priméro será a "PHP" al que enviaremos dicha "variable" (la recogeremos en el scrip PHP) y este será el que conecte a nuestra Base de datos y haga la consulta SQL que .. al tratarse de una cadena cualquiera .. vamos a "componer" (concatenar) las sentencias SQL que necesitemos y donde tenga que ir nuestro "valor" será donde usemos nuestra variable PHP (que será la que hemos obtenido desde el formulario previo pre-proceso/validación si es requerido).

El esquema básico de iteracción sería:
CLIENTE (HTML/etc) <-------> SERVIDOR (PHP) <-------> Base de datos (Mysql)

Nunca "CLIENTE <---> Base de datos" todo pasa por "PHP" quien será nuestro enlace entre el "cliente" y otros médios como puede ser una BD o similar (un archivo de texto plano .. o un envio de un e-mail por poner ejemplos típicos).

Por último vuelvo hacer incapié en los "tres elementos" que tenémos y que cada uno tiene sus própios "lenguajes" que hay que conocer por separados como para poder aplicarlos "juntos".

Bajo este esquema e introducción que he intentado dar (¿que tal les pareció?) ... no deberíamos hacernos preguntas como (casos reales):

* "¿cómo se pone en negrita con PHP una palabra?"
(no corresponde la pregunta conociendo que PHP sólo te ofrece la "función" o técnica para "dar" esa salida .. el "como lo interprete" el cliente será taréa de el. Solución: HTML y sus tags apropiados.

* "¿cómo hago para que al complirse una condición de PHP (if() ...) salga una venta de alerta?
(más de lo mismo .. hay que generar el Javascript necesario sólo si se cumple la condición. El resultado será una página HTML con ese javascript (o llamada a tal función javacript) o nada para el otro caso (sin ese javacript))

* hago un query (consulta) a una base de datos pero quiero que salgan ordenados de otra forma
(el orden, o en general los "resultados" obtenidos por una ejecución de una consulta SQL se han de solventar con las instrucciones SQL adecuadas (consultas). PHP recibirá sólo lo que estas hagan .. ni más ni menos. En muchas ocasiones se puede hacer una consulta SQL "simple" y usar muchaaa lógica PHP para obtener el resultado final: ejemplo conversión de formato de fechas. La mayoría de veces se puede optimizar y resolver el problema mucho mejor con más uso de SQL algo más "complejo").

Un saludo,

Última edición por Cluster; 24/08/2004 a las 20:04